![]() |
ShowWindow Verständnisfrage
Kann mir das einer erklären. Irgendwie verstehe ich das nicht.
Was ich will ist paar Fenster ohne Fokusverlust sichtbar machen, deshalb ShowWindow und nicht Show. ![]() Zitat:
|
AW: ShowWindow Verständnisfrage
Zitat:
|
AW: ShowWindow Verständnisfrage
Nein, ich will aus Form1 Form2, Form3, usw. aufrufen ohne das Form1 den Fokus verliert. Eigentlich nichts wildes.
|
AW: ShowWindow Verständnisfrage
So wie ich das kenne, soll ein Fenster beim ersten Aufruf mit showwindow mit den nCmdShow-Daten aus WinMain aufgerufen werden. Jeder weitere Aufruf von ShowWindow muss die Angabe einer nCmdShow-Message haben. Mögliche nCmdShow-Messages findest Du in der angegebenen Tabelle.
Dieses Vorgehen ist eigentlich recht einfach, da beim ersten Aufruf die grundlegenden Daten für den WindowState aufgerufen werden sollen. Spätere Aufrufe mit ShowWindow sollen den WindowSate verändern. Zitat:
|
AW: ShowWindow Verständnisfrage
Genau so habe ich es verstanden.
Bzw. nicht verstanden. Sorry. |
AW: ShowWindow Verständnisfrage
Liste der Anhänge anzeigen (Anzahl: 1)
experimentiere doch mal ein wenig mit Show und ShowWindow im vergleich.
Ich hänge Dir mal ein "schell-mal-dahin-geklatscht"-Projekt an. Dabei habe ich bei ShowWindow vermieden WinMain aufzurufen und somit nicht die Vorgaben aus der IDE aufgerufen. Wenn Du nun Deine Form über ShowWindow aufrufst wirst Du bemerken, dass Du sie mit einem normalen Form2.Hide nicht wieder verstecken kannst. Nach einem Klick auf den Button für das normale Delphi-Form.Show kannst Du das Form auch wieder normal verstecken. Wenn Du nun z.B. Form2 noch mal mit ShowWindow aufrufst wirst Du Dein erwartetes Ergebnis erhalten, aber dennoch immer mit Focus, obwohl ich es als nicht aktiv aufgerufen habe. Du wirst Dich mit ShowWindow also vollkommen selbst um Deine Fenster kümmern müssen. Daher verwende ich ShowWindow nur wenn ich von außerhalb über das Handle auf eine Form einer App zugreifen muss. //Edit: Ich denke mal, so ähnlich wie es beim Anklicken der Buttons mit Delphi-FormX.Show realisiert ist, möchtest Du es auch gern haben. |
AW: ShowWindow Verständnisfrage
Ok, jetzt verstehe ich zumindest grob was du meinst. Inwieweit ich da noch tiefer einsteige muß ich morgen gucken.
Das ganze ist mir vielleicht deshalb nicht aufgefallen, weil ich die Fenster einerseits mit ShowWindow anzeige, aber mit ShowWindow(xyz.Handle, SW_HIDE) wieder schließe. Und das geht. Meine vordringlichste Frage wäre hier: ist das insoweit ok, solange ich beides über ShowWindow erledige? Natürlich ist mein obiges Beispiel stark vereinfacht dargestellt. Um genauer zu sein sollen (meine Fenster) aufpoppen ohne dabei dem gerade aktiven Fenster den Fokus zu klauen. Es sind einfache Messagefenster die für paar Sekunden erscheinen und wieder verschwinden sollen. |
AW: ShowWindow Verständnisfrage
Eigentlich spricht nichts dagegen mit den SW_Commands zu arbeiten, solange Du Dich auch selbst um die korrekte Initialisierung kümmerst.
Solltest Du Dich vielleicht doch noch für die Delphi-Variante entscheiden, d.h. mit Form.Show und Form.Hide arbeiten, dann solltest Du bei Deinen Message-Forms noch über den Objekt-Inspektor den PopUp-Mode auf pmExplicit setzen, damit Dein Form auch im Vordergrund angezeigt wird und den Focus über den Code wieder an Deine MainForm zurückgeben. Jede Technik hat ihren eigenen Aufwand. Du musst Dich meines Erachtens nur entscheiden an welcher Stelle er für Dich übersichtlicher/praktikabler ist. :wink: |
AW: ShowWindow Verständnisfrage
Zitat:
Zitat:
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 04:07 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