Veröffentlicht 15. Oktober 20159 j Hallo,ich möchte ein Dialogfenster für eine Benutzereingabe erstellen. So etwas ist doch grundsätzlich als Dialog Box zu klassifizieren, oder nicht? Typischer Window Style für solche ist laut dieser Seite WS_DLGFRAME. Der nächste Satz lautet aber, ein solches Fenster könne nicht auch eine Titelleiste haben. Unter einer Dialog Box stelle ich mir so etwas vor, also gerade ein Fenster mit Titelleiste. Dieser Style ist aber eigentlich WS_POPUP, das seinerseits aber nicht WS_CHILD des Hauptfensters sein kann (Eine Dialog Box ist doch Child vom Hauptfenster!?).Also: Warum soll der Standard Style für Dialog Boxes keine Titelleiste haben können? Hat es Vorteile, wenn ich mir die Leiste selber da hineinbastele, nur um den adäquaten Style zu verwenden? Wenn der Style für meine Zwecke gar nicht gedacht sein sollte, wofür ist er denn normalerweise vorgesehen?GrußPL1994
15. Oktober 20159 j Wenn ich das richtig in Erinnerung habe benutzt man WS_CHILD für ein Fenster das in ein anderes eingebettet ist. Eine Editbox z.B. ist ein Child des Fensters auf dem sie dargestellt wird. Das heißt dein Dialog soll ja gerade kein Child sein.
15. Oktober 20159 j Autor Danke. Tatsächlich klappt es, wenn WS_DLGFRAME nicht gleichzeitig WS_CHILD ist. Wieso steht dann im MSDN, WS_DLGFRAME habe keine Titelleiste? Es hat nämlich eine, in der der zweite Parameter von CreateWindow() angezeigt wird ...
15. Oktober 20159 j Typischer Window Style für solche ist laut dieser Seite WS_DLGFRAME.Das steht da nicht. Da steht, dass dieser Style einen Rand erzeugt, wie er für Dialoge typisch ist. Die Information, dass Fenster mit diesem Style keine Titelleiste haben, ist missverständlich formuliert.Der Style für eine Titelleiste, WS_CAPTION, besteht gerade aus WS_DLGFRAME kombiniert mit WS_BORDER.
16. Oktober 20159 j Ich schiebe auch diesen Thread mal in unseren Anwendungsentwickler Fragen Forum, um dort Einträge zu haben.Das soll jetzt nicht grundsätzlich so sein, sondern vereinzelnd, damit andere ermutigt werden Ihre Frage dort zu stellen.@PL1994, bitte die hilfreichste Antwort markieren. Danke dir.
Erstelle ein Konto oder melde dich an, um einen Kommentar zu schreiben.