标题:SetTimer使用问题
只看楼主
Mycr
Rank: 1
等 级:新手上路
帖 子:203
专家分:0
注 册:2006-9-18
 问题点数:0 回复次数:1 
SetTimer使用问题
我在用vc开发一个地图控件的时候,想在上面加上一个动态显示时间的功能,
int CClockCtrl::OnCreate(LPCREATESTRUCT lpCreateStruct)
{
    if (COleControl::OnCreate(lpCreateStruct) == -1)
        return -1;
    
    // TODO: Add your specialized creation code here    
    m_nTimer=SetTimer(1,m_interval,NULL);
    return 0;
}
什么都不会(22175938) 20:57:39
当修改属性的时候,调用KillTimer(1),后重新设定新的定时器
可是有时候程序没有调用OnCreate,那边后面调用KillTimer(1)就会出现
非法操作,因为没有调用OnCreate就没有创建定时器,所以我定义了一个
私有变量 int m_nTimer 用来保存定时器的返回值,然后进行判断
    if(m_nTimer!=0)
    {
        KillTimer(1);
    }
可以好像还是执行KillTimer(1);这个句子?
搜索更多相关主题的帖子: SetTimer 
2008-03-24 21:11
PhryckDie
Rank: 1
等 级:新手上路
帖 子:20
专家分:0
注 册:2007-2-14
得分:0 
int CClockCtrl::OnCreate(LPCREATESTRUCT lpCreateStruct)
{
    if (COleControl::OnCreate(lpCreateStruct) == -1)
        return -1;
    // TODO: Add your specialized creation code here   
    if(!m_nTimer)        //m_nTimer==0
    {
        m_nTimer=SetTimer(1,m_interval,NULL);  //调用成功m_nTimer==1
    }
    return 0;
}
void CClockCtrl::Stop()
{
    //Code......
    if(m_nTimer)
    {
        KillTimer;
        m_nTimer=0
    }
}
随便写的,也没编译。不知道是不是这个意思。
2008-03-24 22:14



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-205124-1-1.html




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

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