DialogBox ohne Hintergrund



  • hi,
    hab leider keinen besseren titel fuer mein problem finden koennen. also folgendes problem: habe wie immer einen dialog erstellt, aber alles bis auf die buttons, die texte, icons... also eigentlich der ganze hintergrund, ist durchsichtig. kein hintergrund, keine captionbar... sieht komisch aus? ist aber so! hab keine ahnunng woran das liegen koennte, also poste ich mal allen wichtigen code:

    // WndProc
      // Aufruf
    DialogBox ( reinterpret_cast < HINSTANCE > ( GetWindowLongPtr ( hwnd, GWLP_HINSTANCE ) ), "HelpBox", hwnd, reinterpret_cast < DLGPROC > ( DlgProc ) );
    
    // DlgProc
    bool CALLBACK DlgProc ( HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam )  {
    	if ( message == WM_INITDIALOG )
    		return true;
      else if ( message == WM_COMMAND && LOWORD ( wParam ) == IDOK )  {  
    		EndDialog ( hwnd, 0 );
    		return true;
    	}
    	else
    	  return false;
    };
    
    // die resource datei
    HELPBOX DIALOG DISCARDABLE  32, 32, 186, 90
    STYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION
    CAPTION "Help"
    FONT 8, "MS Sans Serif"
    BEGIN
        DEFPUSHBUTTON   "OK",IDOK,68,63,50,14
        LTEXT           "Help not yet implemented",IDC_STATIC,51,33,82,8
    END
    

    ich kann leider keine ungereimtheiten entdecken. bedanke mich schon mal im voraus fuer eure hilfe.

    was auch immer



  • mir ist grad aufgefallen, dass waehrend der dialog aktiv ist die cpu auslastung auf 100 % steigt; aber ich kann keine endlosschleife oder aehnliches sehen.

    was auch immer



  • problem geloest. hab den code folgendermassen abgeeandert:

    bool CALLBACK DlgProc ( HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam )  {
    	switch ( message )  {
    		case WM_INITDIALOG:
    			return true;
    
    		case WM_COMMAND:
    			switch ( LOWORD ( wParam ) )  {
    	    	case IDOK:
    					EndDialog ( hwnd, 0 );
    					return true;
    			}
    			break;
    	};
    	return false;
    };
    

    was ich aber nicht verstehe: ist doch das selbe? aber wenigstens funktioniert es jetzt.

    was auch immer


Anmelden zum Antworten