![]() |
Label.canvas beschreiben
Moin,
ich schreibe auf das Canvas eines TntLabels (geht um hoch- und tiefgestellte Schrift). Das ist etwas holperig, weil die Beschriftung rechtsbündig sein muss. Mein Schreibvorgang wird im Form.OnResize ausgeführt. Nun wird mir bei jeder Gelegenheit das Label verdeckt (z.B. von einer MessageBox) und danach neu gezeichnet. Damit wird wieder die leere Caption gezeichnet. Wenn ich den Aufruf in die Form.OnRepaint setze, wird meist nur das nachgezeichnet, was nicht von einer Meldung etc. verdeckt war bzw. beim Ausblenden einer Meldung etc. wird das Repaint des Forms nicht ausgelöst. Im Prinzip bräuchte ich ein Ereignis wie ein TLabel.Repaint, damit ich dort die Beschriftung umsetzen kann. Hat jemand einen Tipp? Danke, Messie |
Re: Label.canvas beschreiben
Entweder musst du da Label subclassen und im OnPaint des Labels zeichnen oder du leitest dir von dem Label ein eigene Label ab und überschreibst dort das OnPaint Ereignis.
|
Re: Label.canvas beschreiben
hast du im label gar nichts stehen außer dein selbst gezeichnetes? wenn dem so ist kannst du auch auf das label verzeichten und gleich auf das Form zeichnen. Ansonsten solltest du von dem Label ableiten und selbst ein OnPaint impelmentieren (Paint überschreiben und OnPaint-Event einführen).
|
Re: Label.canvas beschreiben
Zitat:
Zitat:
Ich habe kein Paint zum Überschreiben, oder meinst Du Repaint? Wie bekomme ich da ein OnPaint rein? Ich hätte da noch ein "TTntCustomLabel.DoDrawText(var Rect: TRect; Flags: Integer)", vielleicht könnte ich die überschreiben. Grüße, Messie |
Re: Label.canvas beschreiben
hmm, mal ne frage. warum nimmst du zur zeit ein Label? Brauchst du irgendwelche Eigenschaften davon?
Und das es Paint nicht gibt (zum überschreiben) wäre dann der fall wenn es nicht von TCustomControl oder TGraphicControl abgeleitet ist. |
Re: Label.canvas beschreiben
Zitat:
Zitat:
Wie bekomme ich da jetzt ein OnPaint rein wenn ich Paint überschrieben habe? Noch eine grundsätzliche Frage: wenn ich eine Subkompo ableite, kann ich die dann auch lokal registrieren, also ohne in ein Package in die IDE zu laden? Grüße, Messie |
Re: Label.canvas beschreiben
Zitat:
[Edit: Tippfehler] |
Re: Label.canvas beschreiben
Ach ja: Es gäbe noch
![]() Zitat:
|
Re: Label.canvas beschreiben
Zitat:
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 18:44 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