分配 hdc 值以调用 GetGlyphIndices(hdc,lpstr,c,pgi,l) 函数 n Delphi

Assigning hdc value to call GetGlyphIndices(hdc,lpstr,c,pgi,l) function n Delphi

中有一个使用GetGlyphIndices函数获取字符集的示例代码,但它没有说明如何调用它,特别是如何为dc分配字体。有人可以帮忙吗?

在VCL中,TCanvas.Handle是canvas的HDC。

例如,TBitmapCanvas.Handle。您的主窗体还有一个 Canvas.Handle.

var
  bm: TBitmap;
begin
  bm := TBitmap.Create;
  try
    bm.Canvas.Font.Name := 'Segoe UI';
    // Now you can use bm.Canvas.Handle as your HDC value
  finally
    bm.Free;
  end;

procedure TForm1.FormPaint(Sender: TObject);
begin
  Canvas.Font.Name := 'Segoe UI';
  // Canvas.Handle is your HDC
end;