![]() |
Probleme mit Statusbar
hallo.
habe folgendes problem: es öffnet sich eine "mainform" im vollbild. (als hintergrund) diese hat im ereigniss onactivate den code: frm_menu.ShowModal; d.h. es wird eine form "frm_menu" geöffnet, welche im vordergrund als kleines fenster und aktiv ist. das alles funktioniert! nun habe ich auf der im hintergrund befindlichen form eine statusbar angelegt. diese sollte ja bekanntlich auf der form ganz unten sein. dies ist nich ganz der fall. diese statusbar ist irgendwo in der mitte der form. das liegt daran, weil die form im vordergrund (mit modal geöffnet) irgendwie zu schnell aufbaut. schließe ich die form im vordergrund, dann "rutscht" die statusbar an ihrem eigentlichen platz, nämlich ganz nach unten. meine frage: warum ist die statusbar nich gleich unten platziert, da wo sie hingehört? :gruebel: wie kann ich erst die im hintergrund befindliche form komplett aufbauen, bevor die vorder erzeugt wird. muss aber ohne mausklick automatisch geschehen! über hilfe wäre ich sehr dankbar. gruß marcus |
Re: Probleme mit Statusbar
Moin Markus,
das hab' ich auch noch nicht gehört :shock: Versuch' mal ob's funktioniert, wenn Du vor den Aufruf von frm_menu.ShowModal ein Application.ProcessMessages einbaust. |
Re: Probleme mit Statusbar
Merkwürdig...
Versuch mal vor dem Aufbau der zweiten form ein Sleep(10) einzubauen um denm Statusbar Zeit zu geben, oder du versuchst ein einfaches Refresh um die Form zu aktualisieren... Weis nicht obs funktioniert... :roll: |
Re: Probleme mit Statusbar
Zitat:
Zitat:
|
Re: Probleme mit Statusbar
Moin Xero,
Sleep kann nicht funktionieren, da hiermit der Thread für die angegebene Zeitdauer keinerlei Nachrichten mehr verarbeitet, und somit auch nicht mehr das Zeichnen des Formulares möglich ist. |
Re: Probleme mit Statusbar
Und was ist mir Refresh? :?:
|
Re: Probleme mit Statusbar
Moin Xero,
Refresh könnte gehen. Wenn allerdings die Botschaftsverarbeitung durch das ShowModal ausgebremst wird (was ich mir irgendwie immer noch nicht so recht vorstellen kann) könnte es allerdings auch damit schiefgehen. |
Re: Probleme mit Statusbar
Liste der Anhänge anzeigen (Anzahl: 1)
moin.
danke erstmal für euer postings. dies hat aber leider alles nix genützt. weder refresh noch Application.ProcessMessages;
Delphi-Quellcode:
irgendwie wird das showmodal zu zeitig ausgeführt, was ja aber nicht sein kann das es am ende steht.
procedure Tfrm_Main.FormActivate(Sender: TObject);
begin //sleep(5000); //delay(5000); Application.ProcessMessages; frm_main.Refresh; frm_menu.ShowModal; end; hab mal nen screenshot gemacht. so schauts aus wenn das programm ausgeführt wird. erst nach dem klick auf den button1 "rutscht" die statusbar an ihrem richtigen fleck. |
Re: Probleme mit Statusbar
Versuch doch mal, ProcessMessages nach dem Refresh auszuführen, damit die Aplikation eine Chance hat den Refresh auch durchzuführen.
Sollte das alles nichts helfen, dann nimm doch einen Timer mit z.B. 100ms und ruf Dein ShowModal darüber auf. |
Re: Probleme mit Statusbar
ich glaubs nich... :wall:
habe den "hänger" gefunden! und zwar hatte ich der im hintergrund befindlichen form die eigenschaft "WindowState" den wert "wsmaximized" zugewiesen. nun habe ich ihn dort wieder auf "wsnormal" gesetzt. jetzt wird zur laufzeit die eigenschaft auf maximized gesetzt. zusammen mit dem ProcessManager funzt das ganze. die status bar wird wie gwollt / gewohnt angezeigt :thuimb:
Delphi-Quellcode:
procedure Tfrm_Main.FormActivate(Sender: TObject);
begin //sleep(5000); //delay(5000); Application.ProcessMessages; frm_main.WindowState:= wsmaximized; frm_main.Refresh; frm_menu.ShowModal; end; |
Alle Zeitangaben in WEZ +1. Es ist jetzt 02:55 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