因为在关闭时要对设备进行关闭,有一些代码。我先是重载了ok按钮,然后做了一个wm_close的消息响应函数,然后里面代码相同,结果相同。
我后来想省事,在ok函数里直接调用关闭函数,但是窗口却关不掉。
代码如下://ok按钮的响应函数
void Cgrab_MFCDlg::OnBnClickedOk()
{
this->OnClose();
}void Cgrab_MFCDlg::OnClose()
{
if(bCameraOpen==TRUE)
{
res = PylonDeviceClose( hDev );
CHECK(res);
res = PylonDestroyDevice ( hDev );
CHECK(res);
free( imgBuf );
PylonTerminate();
}
CDialogEx::OnClose();
}我的想法是,onok函数调用onclose,和按叉是同样的效果。但是ok按钮关不掉。
我后来想省事,在ok函数里直接调用关闭函数,但是窗口却关不掉。
代码如下://ok按钮的响应函数
void Cgrab_MFCDlg::OnBnClickedOk()
{
this->OnClose();
}void Cgrab_MFCDlg::OnClose()
{
if(bCameraOpen==TRUE)
{
res = PylonDeviceClose( hDev );
CHECK(res);
res = PylonDestroyDevice ( hDev );
CHECK(res);
free( imgBuf );
PylonTerminate();
}
CDialogEx::OnClose();
}我的想法是,onok函数调用onclose,和按叉是同样的效果。但是ok按钮关不掉。
解决方案 »
- CMainFrame里创建的线程函数如何获取视图里的资源
- Debug Assertion Failed ……File: afxcmn.inl 点忽略就会出现winocc.cpp有错。关于listctrl排序
- 如何得到treeview控件中,被选中的项 (winapi非MFC)
- 大家帮我看一下下面的函数,为什么在释放内存的时候会出现断言。
- 网络概念题,很难.
- 如何在文本框中画图
- 如何在一个vc写的ocx中,调用bcb写的ocx
- VC6+sp5为什么debug时,老是当的一声,然后非得结束VC的进程才能继续下去
- 如何解密pdf文件?我用过很多软件都不行!急!
- 知道一个窗口的标题名,怎么得到它的句柄,这个窗口是另一个程序的
- 请教下静态链接如何指定dll位置
- 一个有关#define宏定义的棘手问题, 这种替换语法还是第一次见
默认重载 OnOK 设备关闭的调用 建议重载 DestroyWindow 在其中进行, 这样模态/非模态的都可以调用到
加上这句能执行吗?因为已经进入onclose,那么CDialogEx::OnClose();这行代码应该会关闭窗口吧?
试了确实可以了。
有点没明白,按ok按钮,调用了onclose函数,onclose函数一旦执行,就是关闭窗口的吧?为什么还能返回去执行CDialogEx::OnOK(); 这句代码呢?