System modaler Dialog
-
Hallo,
ich schreibe mir gerade einen systemweit modalen Dialog.
Ich habe das jetzt so gelöst:
Ich erstelle ein Fenster mithWnd = CreateWindowEx( WS_EX_TOOLWINDOW | WS_EX_TRANSPARENT | WS_EX_TOPMOST, L"blockwnd", L"", NULL, 0, 0, GetSystemMetrics(SM_CXSCREEN), GetSystemMetrics(SM_CYSCREEN), GetDesktopWindow(), NULL, hInstance, NULL);In der damit verbundenen Windowprozedur rufe ich meinen Dialog auf.
Das ganze klappt auch wunderbar, einziges Problem ist, dass auf dem
Bildschirm an den horizontalen wie vertikalen Seiten "inaktive" Ränder
über bleiben.
Ebenso stört mich das TOOLWINDOW, das ich aber benötige, um die
Abrundungen der Fenster unter WinXP zu "beheben".
Am liebsten würde ich das Problem mit
ShowWindow(hWnd, SW_HIDE);
lösen, aber dann wird das Fenster nicht "angezeigt" und der Dialog ist
nicht modal.Wäre froh, wenn mir jemand helfen könnte.
PS.: Falls es eine leichtere Methode für systemweite Dialoge gibt, würde
ich die auch gerne erfahren. Trotzdem würde ich auch gerne eine Lösung
für mein Problem haben
plusman
-
Hallo
Also mit Microsoft Visual C++ kannste im Resourceneditor nen Dialog erstellen und in den Eigenschaften die Checkbox "Systemmodal" aktivieren...was anderes wüsste ich auch nicht :p
dann vllt. noch:
Ebenso stört mich das TOOLWINDOW, das ich aber benötige, um die
Abrundungen der Fenster unter WinXP zu "beheben".meinst du WS_POPUP ?
-
Das mit dem DS_SYSMODAL ist ein wenig tückisch. Ich dachte zunächst auch, das würde funktionieren.
Aber das DS_SYSMODAL wird durch das CreateWindowEx in WS_EX_TOPMOST "überführt".
Das, was ich wünsche, erfüllt das nicht. Hat mich zu Anfang auch sehr verwirrt.
-
plusman schrieb:
Das, was ich wünsche, erfüllt das nicht.
Was wünscht du denn genau ?

-
CodeFinder schrieb:
plusman schrieb:
Das, was ich wünsche, erfüllt das nicht.
Was wünscht du denn genau ?

Würde mich auch interessieren.
In meinen Augen fehlt hier sowieso der Stil WS_POPUP! Zudem hat ein solches erzeugtes Fenster keinen Rahmen... Sofern müssten auch die XP Stile keinen Einfluss haben.
-
Also...
ich wollte einen modalen Dialog, der den Benutzer dazu zwingt, meinen Dialog zu "bearbeiten". Dabei soll selbst keine andere Anwendung angeklickt werden dürfen (Wie beim Beenden von Windows).
WS_POPUP hat das Problem behoben, danke
