我这段WM_SIZE程序出了什么问题?编译可以通过,程序运行出错(不能运行)

cowboy2006 2004-04-30 06:22:46
程序如下:
其中COleDBRecordView是视图类,m_dataAdo1是MS ADC控件的一个变量、m_dataGrid1为MS DataGrid控件的一个变量。

void CADO2View::OnSize(UINT nType, int cx, int cy)
{
COleDBRecordView::OnSize(nType, cx, cy);

// TODO: Add your message handler code here
int iHeight, iWidth; // Control heightandwidth.
CRect rect; // Control size.
COleDBRecordView::OnSize(nType,cx,cy);
m_dataAdo1.GetClientRect(rect);
iHeight = rect.Height();
iWidth = rect.Width();
m_dataAdo1.MoveWindow(cx, cy, iWidth, iHeight, TRUE);
m_dataGrid1.MoveWindow(0, 0, cx, cy - iHeight, TRUE);

}

不知是何原因,请指教!
...全文
44 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
Pipi0714 2004-04-30
  • 打赏
  • 举报
回复
m_dataAdo1判断它的HWND是否创建,可以这么解决:
if(m_dataAdo1.GetSafeHwnd() != NULL)
{
m_dataAdo1.GetClientRect(&rc);
...
}
菜牛 2004-04-30
  • 打赏
  • 举报
回复
程序第一次调用OnSize的时候,窗体还没有创建。
要进行判断:
if (::IsWindow(m_hWnd))
{
...
}
丁淇石头 2004-04-30
  • 打赏
  • 举报
回复
COleDBRecordView::OnSize(nType,cx,cy);
//这句为什么要写两遍呢?

4,011

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 数据库
社区管理员
  • 数据库
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧