problem bei nachrichtenverarbeitung



  • hi,

    bin gerade dabei eine wrapper-klasse für ein windowsfenster zu schreiben aber ich habe folgendes problem. in der messagerouter funktion mache ich ein paar standardnachrichtenverarbeitungen ala fensterposition aktualisieren usw. hier ein kleines beispiel:

    if(uiMsg == WM_MOVE) {
    
      pWindow->SetPos(LOWORD(lParam),
    		  HIWORD(lParam));
    }
    

    beim start des Progs verschwindet das Fenster sofort, ich habe auch schon ausprobiert die werte zu casten wie in der doku aber das hat auch nichts geholfen. kann mir jemand helfen??? falls sich jemand fragt wie die messagerouter funktion aussieht dann schaut auf http://www.gamedev.net/reference/articles/article1810.asp

    achso, die SetPos funktion der wrapperklasse benutzt die SetWindowPos funktion wie folgt:

    SetWindowPos(m_hWindow,
    	     HWND_TOP,
    	     m_iXPos,
    	     m_iYPos,
    	     m_iWidth,
    	     m_iHeight,
                 SWP_SHOWWINDOW);
    

    danke im vorraus

    0xDEADBEEF



  • hat sich erledigt...

    hatte gleich mehrere fehler im programm.

    1. SetPos funktion war fehlerhaft
    2. WM_MOVE bzw. WM_SIZE lieferten mir nur die werte bezüglich der client-area des fensters

    hab also die funktion gefixt und benutze ab sofort die WM_WINDOWPOSCHANGED Nachricht


Anmelden zum Antworten