Как использовать событие TListBoxItems.OnPaint, чтобы изменить внешний вид TListBox?

Я использую этот код ниже, но он не показывает строку, когда я запускаю программу на IOS SIM. Я не вижу демо от embarcadero, кто-нибудь знает, как это сделать?

Я использую Embarcadero Delphi XE4 для iOS.

procedure TForm1.ListBoxItem3Paint(Sender: TObject; Canvas: TCanvas;
  const ARect: TRectF);
begin
  Canvas.BeginScene;
  Canvas.DrawLine(ARect.TopLeft, ARect.BottomRight, 1);
  Canvas.EndScene;
end;

1 ответ

Кажется, вы должны установить Stroke перед покраской:

procedure TForm1.ListBoxItem3Paint(Sender: TObject; Canvas: TCanvas;
    const ARect: TRectF);
begin
  Canvas.Stroke.Thickness:=1;
  Canvas.Stroke.Kind:=TBrushKind.bkSolid;
  Canvas.Stroke.Color:=$FF000000;
  Canvas.DrawLine(ARect.TopLeft, ARect.BottomRight, 1);
end;
Другие вопросы по тегам