我这段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);

}

不知是何原因,请指教!
...全文
15 3 点赞 打赏 收藏 举报
写回复
3 条回复
切换为时间正序
当前发帖距今超过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);
//这句为什么要写两遍呢?
  • 打赏
  • 举报
回复
相关推荐
发帖
数据库
加入

3957

社区成员

VC/MFC 数据库
申请成为版主
帖子事件
创建了帖子
2004-04-30 06:22
社区公告
暂无公告