Click here to Skip to main content
Rate this: bad
Please Sign up or sign in to vote.
See more: C++/MFC
I have a dialog and I want to rezie this dilog with code, but I don't konw how to do it.
Posted 15-Jan-13 17:18pm

1 solution

Rate this: bad
Please Sign up or sign in to vote.

Solution 1

You can use SetWindowPos :
this->SetWindowPos(NULL,0,0,newWidth,newHeight,SWP_NOMOVE | SWP_NOZORDER);
This will change the size of the dialog, but you will need to move and resize the control inside the dialog using the same function but with the CWnd of the control.
You should put this code in the OnSize members of the dialog and use the client width and height provided.
CWnd* pCtrl = GetDlgItem(IDC_CONTROL1);
// keep it centered
CRect rectCtrl;
pCtrl->SetWindowPos(NULL,(dialogWidth-rectCtrl.Width())/2,(dialogHeight-rectCtrl.Height())/2,0,0,SWP_NOSIZE | SWP_NOZORDER);

This content, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)

  Print Answers RSS
0 OriginalGriff 545
1 Maciej Los 475
2 Sascha Lefévre 289
3 CPallini 285
4 Sergey Alexandrovich Kryukov 274
0 Sergey Alexandrovich Kryukov 9,897
1 OriginalGriff 9,395
2 Peter Leow 5,162
3 Kornfeld Eliyahu Peter 3,373
4 Maciej Los 3,036

Advertise | Privacy | Mobile
Web01 | 2.8.150327.1 | Last Updated 17 Jan 2013
Copyright © CodeProject, 1999-2015
All Rights Reserved. Terms of Service
Layout: fixed | fluid

CodeProject, 503-250 Ferrand Drive Toronto Ontario, M3C 3G8 Canada +1 416-849-8900 x 100