1

リストボックスの各項目を描画する所有者に TDirect2DCanvas を使用する簡単な例を探しています。DirectWrite をグーグルで検索すると、サンプルの例に結果が表示され、フォームにテキストがレンダリングされます。学生だったので、私の Delphi スキルはチュートリアルを正しくキャッチできませんでした。キャンバスにテキストを描画するための簡単な例または参照は、私にとって素晴らしい出発点です。

これがコード(古い古典的な方法)です。DirectWriteを使用して実装しようとしています:

procedure TForm2.ListBox1DrawItem(Control: TWinControl; Index: Integer;
  Rect: TRect; State: TOwnerDrawState);
var
  LB: TListBox;
begin
  LB := TListBox(Control);

  if odSelected in State then begin
    LB.Canvas.Brush.Color := clPurple;

  end;

  LB.Canvas.FillRect(Rect);
  LB.Canvas.TextOut(Rect.Left + 10, Rect.Top + 5, LB.Items[Index]);
end;
4

1 に答える 1