24小时热门版块排行榜    

查看: 1491  |  回复: 13

缘不可解

新虫 (初入文坛)

【答案】应助回帖

★ ★ ★ ★ ★ ★ ★
dq20081935: 金币+7, ★★★很有帮助 2012-11-26 16:27:06
引用回帖:
7楼: Originally posted by dq20081935 at 2012-11-06 22:14:26
求mfc settimer()的用法,谢谢!

CWnd::SetTimer

UINT SetTimer(UINT nIDEvent, UINT nElapse, void (CALLBACK EXPORT*lpfnTimer) (HWND, UINT, UINT, DWORD) );

返回值:
如果函数成功,则返回新定时器的标识符。应用程序可以将这个值传递给KillTimer成员函数以销毁定时器。如果成功,则返回非零值;否则返回0。

参数: nIDEvent 指定了不为零的定时器标识符。  
nElapse 指定了定时值;以毫秒为单位。  
lpfnTimer 指定了应用程序提供的TimerProc回调函数的地址,该函数被用于处理WM_TIMER消息。如果这个参数为NULL,则WM_TIMER消息被放入应用程序的消息队列并由CWnd对象来处理。


说明:
这个函数设置一个系统定时器。指定了一个定时值,每当发生超时,则系统就向设置定时器的应用程序的消息队列发送一个WM_TIMER消息,或者将消息传递给应用程序定义的TimerProc回调函数。
lpfnTimer回调函数不需要被命名为TimerProc,但是它必须按照如下方式定义:
void CALLBACK EXPORT TimerProc(
   HWND hWnd,       // 调用SetTimer的CWnd的句柄
   UINT nMsg,         // WM_TIMER
   UINT nIDEvent      // 定时器标识
   DWORD dwTime    // 系统时间
   );
定时器是有限的全局资源;因此对于应用程序来说,检查SetTimer返回的值以确定定时器是否可用是很重要的。
坚持奋斗,学会感恩,懂得珍惜
11楼2012-11-26 13:07:50
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

dq20081935

铜虫 (小有名气)

引用回帖:
11楼: Originally posted by 缘不可解 at 2012-11-26 13:07:50
CWnd::SetTimer

UINT SetTimer(UINT nIDEvent, UINT nElapse, void (CALLBACK EXPORT*lpfnTimer) (HWND, UINT, UINT, DWORD) );

返回值:
如果函数成功,则返回新定时器的标识符。应用程序可以将这个值传递 ...

谢谢,你的答复很详细,对我很有帮助!
12楼2012-11-26 16:26:44
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

dq20081935

铜虫 (小有名气)

引用回帖:
11楼: Originally posted by 缘不可解 at 2012-11-26 13:07:50
CWnd::SetTimer

UINT SetTimer(UINT nIDEvent, UINT nElapse, void (CALLBACK EXPORT*lpfnTimer) (HWND, UINT, UINT, DWORD) );

返回值:
如果函数成功,则返回新定时器的标识符。应用程序可以将这个值传递 ...

对了,顺便在问个问题,关于定时器的,比如,每五秒钟使原来不可用的按钮变得可用,再过4秒钟该按钮又变回不可用。
这 个问题应该设置两个 SetTimer,
SetTimer(1,5000,NULL);
SetTimer(2,4000,NULL);
而且计时器2,是在1号计时器结束时开始计时的,程序能如下面写吗?我试过好象不对,你有什么办法吗?谢谢!
在void CMyDlg::OnTimer(UINT nIDEvent)
{
        // TODO: Add your message handler code here and/or call default
SetTimer(1,5000,NULL);

       
        switch(nIDEvent)
        {
        case 1:{m_button.EnableWindow (true);
                   SetTimer(2,4000,NULL);}
        case 2:m_button.EnableWindow (false);
        }
       
       
        CDialog::OnTimer(nIDEvent);
}
13楼2012-11-26 16:46:04
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

缘不可解

新虫 (初入文坛)

引用回帖:
13楼: Originally posted by dq20081935 at 2012-11-26 16:46:04
对了,顺便在问个问题,关于定时器的,比如,每五秒钟使原来不可用的按钮变得可用,再过4秒钟该按钮又变回不可用。
这 个问题应该设置两个 SetTimer,
SetTimer(1,5000,NULL);
SetTimer(2,4000,NULL) ...

你可以只用一个定时器,定义一个全局变量int m_num=0;BOOL m_flag=FALSE; 然后在

void CMyDlg::OnTimer(UINT nIDEvent)
{
    m_num++;   
    if(m_num%5==0&&m_flag==FALSE)
    {
             m_button.EnableWindow (true);
             m_flag=TRUE;
             m_num=m_num-5;
   }
  if(m_num%4==0&&m_flag==TRUE)
{
         m_button.EnableWindow (false);
         m_flag=FALSE;
         m_num=m_num-4;   
}
        CDialog::OnTimer(nIDEvent);
}
还有金币拿么
坚持奋斗,学会感恩,懂得珍惜
14楼2012-11-26 18:31:24
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 dq20081935 的主题更新
最具人气热帖推荐 [查看全部] 作者 回/看 最后发表
[考研] 286求调剂 +3 lemonzzn 2026-03-16 5/250 2026-03-16 20:43 by lemonzzn
[考研] 材料专硕306英一数二 +4 z1z2z3879 2026-03-16 6/300 2026-03-16 19:38 by z1z2z3879
[教师之家] 焦虑 +7 水冰月月野兔 2026-03-13 9/450 2026-03-16 10:00 by Quakerbird
[硕博家园] 深圳大学硕士招生(2026秋,传感器方向,仅录取第一志愿) +4 xujiaoszu 2026-03-11 8/400 2026-03-16 09:45 by xujiaoszu
[考研] 0856专硕279求调剂 +5 加油加油!? 2026-03-15 5/250 2026-03-15 11:58 by 2020015
[考研] 289求调剂 +5 步川酷紫123 2026-03-11 5/250 2026-03-15 00:45 by kruisytel
[考研] 268求调剂 +5 一定有学上- 2026-03-14 6/300 2026-03-14 22:20 by 运气yunqi
[考研] 297求调剂 +4 学海漂泊 2026-03-13 4/200 2026-03-14 11:51 by 热情沙漠
[考研] 云南财经大学信息学院计算机学硕专硕学位点 +3 zjptai 2026-03-10 5/250 2026-03-14 01:23 by 飞行琦
[考研] 一志愿安徽大学材料工程专硕313分,求调剂的学校 +8 Yu先生 2026-03-10 10/500 2026-03-14 01:04 by JourneyLucky
[考研] 307求调剂 +7 超级伊昂大王 2026-03-10 7/350 2026-03-14 00:49 by JourneyLucky
[考研] 341求调剂 +3 番茄头--- 2026-03-10 3/150 2026-03-13 23:07 by JourneyLucky
[考研] 332求调剂 +3 zjy101327 2026-03-11 6/300 2026-03-13 22:48 by JourneyLucky
[考研] 材料工程调剂 +9 咪咪空空 2026-03-12 9/450 2026-03-13 22:05 by 星空星月
[考研] 310求调剂 +3 【上上签】 2026-03-11 3/150 2026-03-13 16:16 by JourneyLucky
[考研] 295求调剂 +3 小匕仔汁 2026-03-12 3/150 2026-03-13 15:17 by vgtyfty
[考研] 土木第一志愿276求调剂,科研和技能十分丰富,求新兴方向的导师收留 +3 土木小天才 2026-03-12 3/150 2026-03-13 15:01 by JourneyLucky
[考研] 308求调剂 +3 是Lupa啊 2026-03-12 3/150 2026-03-13 14:30 by 求调剂zz
[考研] 工科0856专硕化学工程269能调剂吗 +10 我想读研11 2026-03-10 10/500 2026-03-13 10:14 by Yuyi.
[考研] 321求调剂(食品/专硕) +3 xc321 2026-03-12 6/300 2026-03-13 08:45 by xc321
信息提示
请填处理意见