响应对话框的WM_SIZE消息,来动态改变对话框上控件的位置何大小。代码如下:
void CMy111Dlg::OnSize(UINT nType, int cx, int cy)
{
CDialog::OnSize(nType, cx, cy);
// TODO: Add your message handler code here
switch (nType)
{
case SIZE_MAXIMIZED:
m_tree.MoveWindow(0,0,cx*3.0/8,cy);
m_list.MoveWindow(cx*3.0/8,0,cx*5.0/8,cy*5.0/8);
m_edit.MoveWindow(cx*3.0/8,cy*5.0/8,cx*5.0/8,cy*3.0/8);
break;
/* case SIZE_RESTORED:
* m_tree.MoveWindow(0,0,cx*3.0/8,cy);
* break;
*/
default:
break;
}
}
其中/***/注释掉程序可以正常运行,就是只能响应窗口最大化的消息,可是怎么响应
窗口的大小任意改变呢??如果把/***/部分注释掉,run出错为:void CWnd::MoveWindow(int x, int y, int nWidth, int nHeight, BOOL bRepaint)
{
ASSERT(::IsWindow(m_hWnd));//////ASSERT出错?????????? if (m_pCtrlSite == NULL)
::MoveWindow(m_hWnd, x, y, nWidth, nHeight, bRepaint);
else
m_pCtrlSite->MoveWindow(x, y, nWidth, nHeight, bRepaint);
}
请高手指教,聆听ing!
解决方案 »
- 窗口过程函数是如何与过程函数关联的,也就是当有消息时候,系统怎么知道要发送消息给知道的过程函数呢
- 提示对话框问题
- 如下代码绘制铁路为何绘制两次不能删除
- 如何获得一个PICTURE控件在屏幕中的具体坐标值(相对于屏幕左上角顶点的)?请指教啊,解决送100分
- VC.NET使用ADO.NET访问ORACALE的简单问题(using System.Data.OracleClient???) 急!!
- 怎样去掉框架窗口的最小化和最大化图标按钮啊谢谢散分
- 怎么样将我的txt文件写到网络(网上邻居)上的另一台计算机的硬盘上?
- vc,mssql7读写数据库
- 请问在一个基于对话框的应用程序中,怎样实现打印功能?同时要求不弹出打印对话框,而且将纸张大小设为A4,打印方向设为横向?
- 请问各位高手,关于在HOOK中捕获鼠标的问题,很急,各位帮忙呀?分只有这么多啦,谢谢先!
- 组合框的问题
- 请问如何设置
m_tree.MoveWindow(0,0,cx*3.0/8,cy);