![]() |
TbsSkinComboBox OnDrawEvent
Ich möchte eine generische OnDraw Methode für die Almdev TbsSkinComboBox / ListBox / Etc.Box - Komponenten schreiben. Dummerweise geben diesen als EventHeader folgenden vor:
Delphi-Quellcode:
Sprich, da ist kein Sender: TObject bei. Jemand ne Idee, wie ich trotzdem an den Sender (und damit, viel wichtiger an die Items der jeweiligen Komponente) komme? Hab schon versucht mich über die TCanvas irgendwie durchzuhangeln... aber dat ging nicht.
procedure TfrmPersonal.bsSkinComboBox1ListBoxDrawItem(Cnvs: TCanvas; Index,
ItemWidth, ItemHeight: Integer; TxtRect: TRect; State: TOwnerDrawState); |
Re: TbsSkinComboBox OnDrawEvent
Delphi-Quellcode:
(Auch wenn der Thread schon älter ist:)
procedure bsSkinComboBoxListBoxDrawItem(Sender: TbsSkinComboBox; Cnvs: TCanvas; Index,
ItemWidth, ItemHeight: Integer; TxtRect: TRect; State: TOwnerDrawState); begin //.. end; procedure TForm1.bsSkinComboBox1ListBoxDrawItem(Cnvs: TCanvas; Index, ItemWidth, ItemHeight: Integer; TxtRect: TRect; State: TOwnerDrawState); begin bsSkinComboBoxListBoxDrawItem(bsSkinComboBox1, Cnvs, Index, ItemWidth, ItemHeight, TxtRect, State); end; procedure TForm1.bsSkinComboBox2ListBoxDrawItem(Cnvs: TCanvas; Index, ItemWidth, ItemHeight: Integer; TxtRect: TRect; State: TOwnerDrawState); begin bsSkinComboBoxListBoxDrawItem(bsSkinComboBox2, Cnvs, Index, ItemWidth, ItemHeight, TxtRect, State); end; Es gibt glaub keine andere Möglichkeit, als jeder Komponente ein OnListBoxDrawItem zuzuweisen und dann den jeweiligen Sender einer allgemeinen Funktion zu übergeben |
Alle Zeitangaben in WEZ +1. Es ist jetzt 10:02 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz