![]() |
In einem StatusPanel erscheint die Caption eines MenuItem
Hallo Zusammen,
ich benutze in meinem Programm die Komponente TStatusBar. Dabei ist bei einem Panel die Eigenschaft "Style" auf "psOwnerDraw" gesetzt. Über das StatusBar-Event "OnDrawPanel" zeichne ich auf den Canvas der StatusBar einen Text. Das funktioniert soweit. Wenn nun aber ein anderes Formular angezeigt wird, oder das Hauptformular vergößert/verkleinert wird, so wird eine Caption des Hauptmenüs in das Panel gezeichnet. Da ich dieses Problem bei mehreren Programm habe, wollte ich fragen, ob jemand ähnliche Probleme hat oder sogar Lösungen anbieten kann. Viele Grüße, pszopp |
Re: In einem StatusPanel erscheint die Caption eines MenuIte
Hat keiner eine Idee??
|
Re: In einem StatusPanel erscheint die Caption eines MenuIte
Zitat:
|
Re: In einem StatusPanel erscheint die Caption eines MenuIte
Wahrscheinlich eine nicht initialisierte Variable in der zufälligerweise der Fenstertitel steht.
|
Re: In einem StatusPanel erscheint die Caption eines MenuIte
Leider nicht:
Delphi-Quellcode:
procedure TFormMain.StatusBar1DrawPanel(StatusBar: TStatusBar;
Panel: TStatusPanel; const Rect: TRect); begin if (Panel = StatusBar1.Panels[1]) then StatusBar1.Canvas.TextOut(Rect.Left, Rect.Top, Panel.Text); end; Panel.Text wird über einen Timer alle 500 ms mit FormatDateTime beschrieben. Das wird auch meistens angezeigt, nur halt bei einem Form, das über dem Hauptform liegt, kommt es zu Problemen. |
Re: In einem StatusPanel erscheint die Caption eines MenuIte
Moin pszopp,
wird in der Timer-Routine zu Beginn der Timer aus-, und am Ende wieder angeschaltet? Falls nicht könnest Du das mal ausprobieren.
Delphi-Quellcode:
Timer1.Enabled := false;
try // Zuweisung an Panel.Text und was hier noch so passieren soll finally Timer1.Enabled := true; end; |
Re: In einem StatusPanel erscheint die Caption eines MenuIte
Werden nicht von den MenuItems die Hints... als Statustext in der Statusbar eingetragen, wenn man über die Hints fährt?
Vielleicht ist es was in der Richtung? |
Re: In einem StatusPanel erscheint die Caption eines MenuIte
Nein, das wird es auch nicht. Ich habe das gleiche Problem. Beide Panels der StatusBar die OwnerDraw sind, werden falsch gemalt. Dort erscheinen auch übereinander gemalte MainMenu Item Einträge samt Icon und ShortCut z.T. auch verstümmelt. Dieses Verhalten beobachte ich schon länger und kann es mir nicht erklären. Auch konnte ich bisher noch keinen Ansatz finden, woher dieses Verhalten stammt um einen Bug Report in der Borland Quality Central abzugeben.
Bei mir kann dieses Fehlverhalten explizit ausgelöst werden, wenn man ihr mit rüberschieben von anderen Fenstern über die betreffenden StatusBar Panels zum neuzeichnen zwingt. Für Lösungen wäre auch ich dankbar. Aso, nochwas: einzige Erkenntnis bisher: dieser Fehler tritt nicht unter Windows XP auf - egal ob mit Theme oder klassische Ansicht. Bei Windows 2000 vermehrt und Win9x/ME/NT konnte bisher noch nicht untersucht werden. |
Re: In einem StatusPanel erscheint die Caption eines MenuIte
Moin Thomas,
wenn Du willst kannst Du mir mal ein kleines Demoprogramm schicken. Dann kann ich es mal unter 95 testen. |
Re: In einem StatusPanel erscheint die Caption eines MenuIte
Mittlerweile funktioniert es bei mir. Leider habe ich an den betreffenden Code-Stellen nichts geändert.
Ich gehe deswegen davon aus, dass der Fehler irgendwann wieder auftritt. Demo-Programme kann ich persönlich leider nicht verschicken, da für die Prorgamme Runtime Bibliotheken benötigt werden. Bis demnächst |
Alle Zeitangaben in WEZ +1. Es ist jetzt 13:27 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