VC如何如何处理WM_SIZE使屏幕中的控件随窗口的改变而调整大小

VC如何如何处理WM_SIZE使屏幕中的控件随窗口的改变而调整大小,第1张

在Onsize里重新计算子控件位置,再调用MoveWindow或SetWindowPos进行位置设置。

以下代码手写的,不是在VS写的,没经过编译,不一定能编译哈(可能大小写错误)

void CMyDlg::Onsize(...)

{

CDialog::Onsize(0, 0, cx, cy)

if (m_hWnd != NULL &&IsWindow(m_hWnd))

{

CRect rtClient

GetClientRect(&rtClient)

CRect rtWindow

rtWindow.right = rtClient.right - 10

rtWindow.left = rtWindow.right - 65

rtWindow.bottom = rtClient.bottom - 20

rtWindow.top = rtWindow.bottom - 25

m_wndMyEdit.MoveWindow(rtWindow)

}

}

不应该是这样的呀,我试过用WM_SIZE消息为两个变量赋值,用于计算子窗口的大小,如果像你说的不就显示不了那样设计的子窗口了?

我感觉是运行后会直接接受一个WM_SIZE消息,之后改变窗口大小才收到WM_SIZE消息。

VS2010中的WM_INITDIALOG添加方法:

要添加WM_INITDI,先选择你的对话框 - 右键- 类向导- 虚函数- 找到OnInitDialog()双击加入- 编辑代码 OK

VS2010中取消了WM_INITDIALOG


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

原文地址: http://outofmemory.cn/bake/11642974.html

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

发表评论

登录后才能评论

评论列表(0条)

保存