| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1449 人关注过本帖
标题:周立功USBCAN测试软件vc6代码疑问
只看楼主 加入收藏
喜鹊王子
Rank: 1
等 级:新手上路
帖 子:105
专家分:0
注 册:2012-12-25
结帖率:89.74%
收藏
已结贴  问题点数:20 回复次数:3 
周立功USBCAN测试软件vc6代码疑问
图片附件: 游客没有浏览图片的权限,请 登录注册

这个是测试软件的界面,界面上也没有“确定”和“取消”按钮,那么在.cpp文件中的这两个函数有啥用呢?

void CTestDlg::OnCancel()
{
    // TODO: Add extra cleanup here
    int connect=m_connect;
    m_connect=0;
    if(connect)
    {
        Sleep(500);        
        VCI_CloseDevice(m_devtype,m_devind);
    }
    DeleteCriticalSection(&m_Section);//释放一个没有被任何线程所拥有的临界区对象的所有资源
    CDialog::OnCancel();
}

void CTestDlg::OnOK()
{
    // TODO: Add extra validation here
    int connect=m_connect;
    m_connect=0;
    Sleep(100);
    if(connect)
        VCI_CloseDevice(m_devtype,m_devind);//关闭设备
   
    DeleteCriticalSection(&m_Section);//释放一个没有被任何线程所拥有的临界区对象的所有资源
    CDialog::OnOK();
}
搜索更多相关主题的帖子: 测试 
2013-02-28 15:43
yuccn
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:何方
等 级:版主
威 望:167
帖 子:6815
专家分:42393
注 册:2010-12-16
收藏
得分:0 

OnOK 不一定就是确定按钮的事件函数的,看下cpp文件它关联着是那个控件(的ID),就知道是那个按钮了
没有没有关联,可以自己建立一个按钮,把函数和控件关联起来就行了

我行我乐
公众号:逻辑客栈
我的博客:
https://blog.yuccn. net
2013-02-28 16:56
喜鹊王子
Rank: 1
等 级:新手上路
帖 子:105
专家分:0
注 册:2012-12-25
收藏
得分:0 
回复 2楼 yuccn
在类向导中查看,OnOK()和OnCancel()函数并不是哪个按钮控件的,而直接是对话框本身的。
这样来讲的话,这两个函数在程序中也就不会被调用了。

路漫漫其修远兮,吾将上下而求索。
2013-02-28 17:59
yuccn
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:何方
等 级:版主
威 望:167
帖 子:6815
专家分:42393
注 册:2010-12-16
收藏
得分:20 
回复 3楼 喜鹊王子
OnOK()和OnCancel() 是消息函数的,是和控件(说得根本一点是消息)关联的。点击按钮的时候,会产生消息,对应的消息处理函数就被执行了。
OnOK()、OnCancel() 这两个函数比较特殊,在MFC封装就关联的了。默认的对话框 是有IDOK 和IDCANCEL两个控件的,这两个控件(ID)在vs生成的代码中没有看到关联到这两个函数,因为封装起来了。

你可以试试给这个对话框增加两个按钮,并且把它的id改成IDOK 和IDCANCEL,就可以响应这两个函数了。

ps:windows程序的命名规则:On开头的函数都是消息处理函数的。


我行我乐
公众号:逻辑客栈
我的博客:
https://blog.yuccn. net
2013-02-28 18:40
快速回复:周立功USBCAN测试软件vc6代码疑问
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.033232 second(s), 9 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved