Присвоение значения hdc для вызова функции GetGlyphIndices (hdc, lpstr, c, pgi, l) n Delphi - PullRequest
0 голосов
/ 21 октября 2019

В * 1001 есть пример кода * Как проверить, какие шрифты наборов символов (кодовых страниц) поддерживают (имеет буквы для)? при получении наборов символов с помощью функции GetGlyphIndices, но ничего не говорится о том, как его вызвать, в частности, как назначить шрифт для DC. Может ли кто-нибудь помочь с этим?

1 Ответ

1 голос
/ 21 октября 2019

В VCL TCanvas.Handle - это HDC холста.

Например, TBitmap имеет Canvas.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;
...