打开对话框类的源文件(通常是DialogName.cpp)。在OnInitDialog函数中,找到对应的CWnd对象(通常是this)。调用MoveWindow函数来设置对话框的大小。例如,this->MoveWindow(0, 0, 500, 300);表示将对话框的左上角移动到坐标(0, 0),并将宽度设置为500,高度设置为300。 以下是一个示例:BOOL CMyDialog::OnInitDialog...
在MFC中创建可调整大小的CDialog,可以按照以下步骤进行: 1. 创建一个新的对话框类,可以通过Visual Studio的MFC Class Wizard工具来创建一个新的对话框类,也可以手...
1)首先设置一个变量 CRect m_rect; //用于保存原对话框大小 1. 2)初始化OnInitDialog()中加入 GetClientRect(&m_rect); //获取对话框的大小 1. 3)手动声明、创建一个函数 void CMyDlg::ChangeSize(UINT nID, int x, int y) //nID为控件ID,x,y分别为对话框的当前长和宽 { CWnd *pWnd; pWnd=Ge...
我们现在需要实现如何让所有的按钮都随着主窗口调整大小。最简单的方法是让“OK”按钮靠近左下角,让”Cancel“按钮贴近右下角。我们需要将OK按钮动态布局属性的”移动类型=垂直“,”Y方向移动=100“.让”Cancel“按钮的属性设置为”垂直,100,100“(就像上面那个例子对OK按钮的所做的操作那样)。 保存,编译,运行,调...
1 在TestDlg类中添加变量m_rect,在Dialog的OnInitDialog()函数中获取对话框创建时的大小,添加GetClientRect(&m_rect)。 1 2 3 4 5 BOOLCTestDlg::OnInitDialog()<br>{<br> CDialog::OnInitDialog();<br> ... // TODO: Add extra initialization here ...
UINT ht = CDialog::OnNcHitTest(point); if(ht >= HTLEFT && ht <= HTBOTTOMRIGHT) ht = HTBORDER; return ht; } 4、直接拿掉窗口的THICKFRAME风格即可: ModifyStyle(m_hWnd,WS_THICKFRAME,0,0); MINMAXINFO结构如下: typedef struct tagMINMAXINFO { ...
无法限制ComboBox控件的垂直大小 、、 我已经创建了一个非常简单的基于对话框的MFC应用程序,使用VS2010试图找到一个解决问题的方法。我已经从工具箱中将一个组合框放到对话框中,并修改了OnInitDialog方法以向其添加大量项。我想限制开放式组合框的垂直尺寸。使用设计器实现此操作的方法似乎是单击组合框控件的下拉...
)2.在OnSize()中添加:if (!GetDlgItem(IDC_EDIT)->GetSafeHwnd()) return;CRect rect;GetClientRect(rect);GetDlgItem(IDC_EDIT)->MoveWindow(rect);3.OnInitDialog()中添加:::SendMessage(AfxGetMainWnd()->GetSafeHwnd(),WM_SIZE,0,0);可通过设置rect来调整文本框的位置和大小。
1.设置对话框大小: 1 CRect temprect(0,0,1640,1480); 2 CWnd::SetWindowPos(NULL,0,0,temprect.Width(),temprect.Height(),SWP_NOZORDER|SWP_NOMOVE); 1. 2. 2.使对话框全屏显示: 1 //得到显示器大小 2 int cx,cy; 3 cx = GetSystemMetrics(SM_CXSCREEN); ...
MoveWindow就可以了。不仅可以用来移动窗口,还可以用来调整大小,如果只想调整大小,设置移动的时候是原位置就可以了。