![]() |
Code für mehrere Komponenten verwenden
Hallo,
entweder stelle ich mich gerade ein wenig blöd an, oder ich weiß wirklich keine Lösung. Es geht darum, dass ich einen größeren Code gerne nur ein Mal vorhanden haben, aber mehrfach, für verschiedene Komponenten, verwenden möchte. Dieser beginnt mit
Delphi-Quellcode:
Wie genau muss ich dieser Zeile umschreiben, dass ich meinen Code für eine TListBox und eine TComboBox verwenden kann?
with TListBox(Control).Canvas do
|
AW: Code für mehrere Komponenten verwenden
Z.B. auf einen gemeinnsamen Vorfahren Casten. Am Besten auf einen der möglich hoch im Vererbungsschema ist und die gemeinsame eigenschaft besitzt. In diesem Fall TWinControl
|
AW: Code für mehrere Komponenten verwenden
TWinControl kennt aber kein Canvas mehr, oder irre ich mich?
|
AW: Code für mehrere Komponenten verwenden
Du kannst Dich in WM_Paint hängen und Dein eigenes Canvas erzeugen, ansonsten per GetDC das Handle holen, in Deinem Canvas verwenden und wieder freigeben .
Delphi-Quellcode:
Canvas := TCanvas.Create;
try Canvas.Handle := Message.DC; finally Canvas.Free; end; |
AW: Code für mehrere Komponenten verwenden
Könnt man nicht auch alles in eine Prozedur auslagern, der man ein Canvas als Parameter übergibt (und der es egal ist, wo das Canvas herkommt) und die dann schaut, ob das Canvas was kann :)
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 04:23 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-2025 by Thomas Breitkreuz