fujitsufan
Erfahrenes Mitglied
Guten Tag,
wie schaffe ich es, ein Dialogfenster in der Größe flexibel zu gestalten und dies auch noch zu kontrollieren.
In der Dialogeigenschaft "Rahmen" habe ich den Parmeter auf "Größe ändern" gesetzt.
Dann fange ich in der Meldungsroutine die Koordinaten des Dialogfensters ab.
Wenn die Größe bestimmte Werte unterschreitet, soll der Dialog nicht mehr kleiner werden.
Irgenwie habe ich da einen Denkfehler, aber welchen.
In der Funktion "updateLayout(width,height);" werden die enthaltenen Steuerelemente auf die Dialoggröße angepasst.
Wer kann mir eine Tipp geben?
Vielen Dank!
fujitsufan
wie schaffe ich es, ein Dialogfenster in der Größe flexibel zu gestalten und dies auch noch zu kontrollieren.
In der Dialogeigenschaft "Rahmen" habe ich den Parmeter auf "Größe ändern" gesetzt.
Dann fange ich in der Meldungsroutine die Koordinaten des Dialogfensters ab.
Wenn die Größe bestimmte Werte unterschreitet, soll der Dialog nicht mehr kleiner werden.
Irgenwie habe ich da einen Denkfehler, aber welchen.
Code:
BOOL FAR TEinzelteileDialog::MsgProc(HWND hWndDlg, UINT Message, WPARAM wParam, LPARAM lParam)
{
BOOL ret = TDialogEx::MsgProc(hWndDlg, Message, wParam, lParam);
long width = 0, height = 0;
switch(Message) {
case WM_SIZE:
//hier Größe des Gesamtdialogs korrigieren
width = LOWORD(lParam);
height = HIWORD(lParam);
if((width < 460) || (height <320))
{
if(width < 460)
width = 460;
if(height < 320)
height = 320;
SetWindowPos(hWndDlg, 0, 0, 0, width, height,
SWP_NOMOVE|SWP_SHOWWINDOW);
}
else
{
}
updateLayout(width, height);
break;
}
return ret;
}
In der Funktion "updateLayout(width,height);" werden die enthaltenen Steuerelemente auf die Dialoggröße angepasst.
Wer kann mir eine Tipp geben?
Vielen Dank!
fujitsufan