WCM Forum

WCM Forum (http://www.wcm.at/forum/index.php)
-   Programmierung (http://www.wcm.at/forum/forumdisplay.php?f=17)
-   -   Fenster mit API in C Applikations Modal machen (http://www.wcm.at/forum/showthread.php?t=48519)

Sonic 04.03.2002 19:03

Fenster mit API in C Applikations Modal machen
 
HI!

Ich glaub ich hab schon mehr über API programmierung vergessen als ich gewusst habe.
Und schuld ist nur VB! :D

Wie machen ich ein Fenster, das zum Programm gehört aber kein child ist, aplikations Modal?
Damit meine ich das das Fenster immer über dem Hauptfenster bleibt und das das Hauptfenster keine Messages bekommt.
Benutze keiene MFC und keine Dialoge!

Ich habs über WM_ACTIVATE im Hauptfenster probiert...

Code:


LRESULT CALLBACK MainWndProc( HWND hWnd, UINT msg, WPARAM wParam,LPARAM lParam )
{
  switch( msg )
  {
    case WM_ACTIVATE:
      //wenn das "Config Fenster" angezeigt wird (hWndConfig!=NULL)
      if (hWndConfig!=NULL && (wParam == WA_ACTIVE || wParam == WA_CLICKACTIVE))
      {
        //...dann setze es wieder active
        MessageBeep(MB_OK);
        SetActiveWindow(hWndConfig);
      }
...

...aber das haut nicht ganz hin. :(

Hat jemand eine Ahnung wie ich das anstellen kann?

lg Sonic

ReiniBugman 04.03.2002 20:16

Hast du eventuell auf 'DS_MODALFRAME' bei CreateWindow oder in deriner Resource-Datei vergessen?

Sonic 04.03.2002 21:18

Danke für deine Antwort, aber wie ich oben geschrieben habe benutze ich keine Dialoge (DialogBox).
DS_* ist ja nur für DialogBoxen, oder!?

ReiniBugman 04.03.2002 22:42

Dann bleibt mir nur noch, dir einen Link mitzuteilen. Vielleicht findest du dort die benötigten Infos.

http://www.mvps.org/user32/modal.html


Ich weiss nicht, wie du ein application-modales Fenster ohne Parent realisieren willst, aber vielleicht hab ich dich auch nur falsch verstanden.

Sonic 04.03.2002 23:36

Nochmals Danke!

Dein Link hat mir weitergeholfen!
Ich glaube ich habe gefunden was ich gesucht habe, nämlich die Funktion EnableWindow.
Mit EnableWindow(hWndMain, false) bekommt das Hauptfenster keine Keyboard und Mouse Messages mehr. Damit hab ich alles was ich gebraucht habe. :)

Tut mir leid, sollte ich mich zu ungenau ausgedrückt haben.

lg


Alle Zeitangaben in WEZ +2. Es ist jetzt 09:56 Uhr.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
© 2009 FSL Verlag