![]() |
TStatusbar, OnDrawPanel und TMainMenu
hi!
hab in meiner TStatusBar icons angezeigt, mit dem "bekannten code" (canvas usw). jetz passiert es allerdings, dass manchmal einfach item sauf meinem TMainMenu auf die Panels 1,2 und 3 gezeichnet werden, wenn ich den task wechsle :( wieso passiert das und wie kann ich das verhindern? der code für die icons ist:
Delphi-Quellcode:
procedure TForm1.StatusBar1DrawPanel(StatusBar: TStatusBar;
Panel: TStatusPanel; const Rect: TRect); begin if (Statusbar = StatusBar1) then begin if (Panel.DisplayName = 'Network') then begin Imagelist1.Draw(StatusBar1.Canvas,Rect.Left,Rect.Top,0); StatusBar.Canvas.Textout(Rect.Left+20, Rect.top, spanel[0]); end else if (Panel.DisplayName = 'Nickname') then begin Imagelist1.Draw(StatusBar1.Canvas,Rect.Left,Rect.Top,1); StatusBar.Canvas.Textout(Rect.Left+20, Rect.top, spanel[1]); end else if (Panel.DisplayName = 'Lag') then begin Imagelist1.Draw(StatusBar1.Canvas,Rect.Left,Rect.Top,2); StatusBar.Canvas.Textout(Rect.Left+20, Rect.top, spanel[2]); end else if (Panel.DisplayName = 'Status') then begin Imagelist1.Draw(StatusBar1.Canvas,Rect.Left,Rect.Top,3); StatusBar.Canvas.Textout(Rect.Left+20, Rect.top, spanel[3]); end; end; end; |
Re: TStatusbar, OnDrawPanel und TMainMenu
Salut,
ich habe ein ganz ähnliches Problem. Bei mir zeigt der am Anfang, wenn ich das Programm starte, irgendwelche wilden Icons auf den drei Panels in der Ecke an. Erst wenn ich das Programm mal in den Hintergrund verschiebe, oder die Größe des Fensters ändere kommen die drei Buttons, die ich haben will. In der OnResize Funktion der Statusbar wird die Größe der Panels dynamisch angepaßt (siehe Topic weiß nich welches) und dann mit StatusBar.Refresh neu aktualisiert. Sonst behalte ich immer meine komischen symbole. Ein StatusBar.Refresh in der Oncreate, OnShow, OnActivate des Forms hat keinen Effekt. EDIT: Um die Verwirrung perfekt zu machen: Wenn ich den Panel[0], der bisher auf psText steht, auf psOwnerDraw setze, malt der mit ganz brav den Button dahin, den ich haben will... EDV: Ende Der Vernunft Grüße Blechwolf |
Alle Zeitangaben in WEZ +1. Es ist jetzt 02:53 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