作了一个程序其中包含ms ado控件和ms DataGrid控件我想在主窗口改变大小时也改变控件的大小源码如下
void CADO1View::OnSize(UINT nType, int cx, int cy)
{ int iHeight, iWidth;
CRect rect;
COleDBRecordView::OnSize(nType, cx, cy);
m_adoDC1.GetClientRect(rect);
iHeight=rect.Height();
iWidth=rect.Width();
m_adoDC1.MoveWindow(cx,cy,iWidth,iHeight,TRUE);
m_dataGrid1.MoveWindow(0,0,cx,cy-iHeight,TRUE);
}
m_adoDC1是 ms ado control
m_dataGrid1是ms datagrid control
可是程序一运行就提示Debug Assertion Failed!出错。
void CADO1View::OnSize(UINT nType, int cx, int cy)
{ int iHeight, iWidth;
CRect rect;
COleDBRecordView::OnSize(nType, cx, cy);
m_adoDC1.GetClientRect(rect);
iHeight=rect.Height();
iWidth=rect.Width();
m_adoDC1.MoveWindow(cx,cy,iWidth,iHeight,TRUE);
m_dataGrid1.MoveWindow(0,0,cx,cy-iHeight,TRUE);
}
m_adoDC1是 ms ado control
m_dataGrid1是ms datagrid control
可是程序一运行就提示Debug Assertion Failed!出错。
解决方案 »
- 多线程与消息机制
- 关于同步运行
- 如何提升进程权限
- socket中传送结构体的指针的问题
- 工具栏按钮下压效果怎样实现?
- Atl中是怎样重载 PreTranslateAccelerator的?为何我的重载后对键盘操作还是一点反应的没有?
- dll的引用计数(reference count)可以读取吗?如何读取?
- 我想要个atl作的com,(我这两天查了vb在com+没法弄,不过没人说vc如何弄)
- ie 中嵌入一个button 该咋办?
- mdi窗口中,当一子窗口关闭时如何给出一给出一个提示(AfxMessageBox("dffdf")?
- 技巧讨论--如何通过str + int 组合成一个控件的 id ?
- 高手帮忙!!文档类的构造函数是保护的,它的实例是怎么生成的??是用一个静态成员函数吗?
{
int iHeight, iWidth;
CRect rect;
COleDBRecordView::OnSize(nType, cx, cy);
m_adoDC1.GetClientRect(rect);
iHeight=rect.Height();
iWidth=rect.Width();
m_adoDC1.MoveWindow(cx,cy,iWidth,iHeight,TRUE);
m_dataGrid1.MoveWindow(0,0,cx,cy-iHeight,TRUE);
}
程序第一次调用OnSize时m_adoDCl还未实例化
设置一个变量m_bInit,在CADO1View::CADO1View()中设置为FALSE;
在Oncreate中变成TRUE,然后在ONSIZE中判断一下.