mfc基于对话框的应用程序,如何设置初始对话框大小

mfc基于对话框的应用程序,如何设置初始对话框大小,第1张

可以使用centerwindow()在oninitdialog中添加,w

x:setwindowpos(this-&gt,hwnd_bottom,x:,y,swp_nozorder),y为对话框左上角的坐标

wm_hwnd:

,h为对话框的宽高

如果定位后需要居中显示对话框,h

使用SetWindowPos

对话框OnInitDialog时候,set一个小点的大小,保证显示不出你的编辑框位置。

线程开启后,set一个大点的打小,可以显示出你编辑框的位置。

例子:

你建立一个dialog的mfc程序,在OnInitDialog里面写入SetWindowPos(NULL,10,100,500,100,0)在OnOK里面写入SetWindowPos(NULL,10,100,500,200,0)

运行下,点击确定,就可以看到效果了。

testDlg::OnSize(UINT nType, int cx, int cy)

{

CDialog::OnSize(nType, cx, cy)

// TODO: 在此处添加消息处理程序代码

static RECT LastWindowRect = //用来保存窗口上一次的大小

CWnd *hWin//构造一个句柄

int ux = cx - LastWindowRect.right

//求出窗口的水平变化量

int uy = cy - LastWindowRect.bottom

//求出窗口的竖直变化量

if((hWin = GetDlgItem(IDC_PPP)) != NULL) //IDC_LIST1为控件的ID号

{

RECT rect

hWin->GetWindowRect(&rect)//获得控件的大小

ScreenToClient(&rect)//设备到客户

rect.right += ux//

rect.bottom += uy

hWin->MoveWindow(&rect)//改变控件大小

}

LastWindowRect.right = cx

LastWindowRect.bottom = cy

}

另外,站长团上有产品团购,便宜有保证


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/tougao/11275969.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-14
下一篇 2023-05-14

发表评论

登录后才能评论

评论列表(0条)

保存