Click here to Skip to main content
Rate this: bad
good
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 16:18pm

1 solution

Rate this: bad
good
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->GetWindowRect(rectCtrl);
pCtrl->SetWindowPos(NULL,(dialogWidth-rectCtrl.Width())/2,(dialogHeight-rectCtrl.Height())/2,0,0,SWP_NOSIZE | SWP_NOZORDER);
  Permalink  

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

  Print Answers RSS
0 Sergey Alexandrovich Kryukov 568
1 OriginalGriff 384
2 George Jonsson 258
3 Abdul Samad KP 135
4 Animesh Datta 130
0 OriginalGriff 6,099
1 Sergey Alexandrovich Kryukov 5,411
2 CPallini 4,770
3 George Jonsson 3,400
4 Gihan Liyanage 2,522


Advertise | Privacy | Mobile
Web01 | 2.8.140916.1 | Last Updated 17 Jan 2013
Copyright © CodeProject, 1999-2014
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