Dialog, bei dem man die Größe ändern kann... an bestimmten Seiten deaktivieren???



  • Hallo.
    Ich habe ein Programm, bei dem man ein Dialog vergrößern oder berkleinern kann. Jetzt muss ich das so haben, dass man das Dialog "nur" an einer Seite vergrößern bzw. verkleinern kann! Gibt's da ne Möglichkeit?
    Dankeeeee
    Chris



  • Schau dir mal die Nachricht WM_SIZING in der MSDN Hilfe an, da bekommst du Infos, wo der User die Größe verändert hat und kannst dann die Größe wieder zurückkorrigieren, ist zwar eine etwas unschöne Methode, aber ich glaube, ein andere gibt es nicht.



  • OK gut, danke, darauf kam ich nicht. Ich habs schließlich so gelöst:

    case WM_SIZING:
    		{
    			if(wParam != WMSZ_RIGHT) SetWindowLong(hDlg, GWL_STYLE, DS_SETFONT | DS_FIXEDSYS | WS_POPUP | WS_SYSMENU);
    			break;
    		}
    		case WM_EXITSIZEMOVE:
    		{
    			SetWindowLong(hDlg, GWL_STYLE, DS_SETFONT | DS_FIXEDSYS | WS_POPUP | WS_SYSMENU | WS_THICKFRAME);
    			break;
    		}
    

    Ehm ja... Geht sau gut. Ich entferne einfach sofort den SIZING-Rand wenn man an der falschen Ecke zieht. Besser geht`s woch nicht. Danke.

    Gruß Chris



  • Du bekommst doch das RECT des Fensters. Da kannst du doch dann dafür sorgen, dass machne Werte nicht veränderbar sind 😉



  • so würds auch gehn. thx


Anmelden zum Antworten