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 的主题更新
最具人气热帖推荐 [查看全部] 作者 回/看 最后发表
[考研] 一志愿苏州大学材料工程(085601)专硕有科研经历三项国奖两个实用型专利一项省级立项 +3 大火山小火山 2026-03-16 5/250 2026-03-16 16:54 by barlinike
[考研] 0703化学336分求调剂 +3 zbzihdhd 2026-03-15 3/150 2026-03-16 16:44 by 我的船我的海
[考研] 化学工程321分求调剂 +9 大米饭! 2026-03-15 9/450 2026-03-16 16:41 by 我的船我的海
[考研] 311求调剂 +5 26研0 2026-03-15 5/250 2026-03-16 16:21 by a不易
[考研] 0703一志愿211 285分求调剂 +5 ly3471z 2026-03-13 5/250 2026-03-16 16:16 by 哦哦123
[基金申请] NSFC申报书里申请人简历中代表性论著还需要在申报书最后的附件里面再上传一遍吗 20+5 NSFC2026我来了 2026-03-10 14/700 2026-03-15 23:53 by 不负韶华的虎
[考研] 265求调剂 +4 威化饼07 2026-03-12 4/200 2026-03-14 17:23 by userper
[考研] 复试调剂 +3 呼呼?~+123456 2026-03-14 3/150 2026-03-14 16:53 by WTUChen
[考研] 一志愿郑大070303,338分,求调剂 +4 dadawaf 2026-03-10 5/250 2026-03-14 01:20 by lsw010101
[考研] 0856材料与化工309分求调剂 +6 ZyZy…… 2026-03-10 6/300 2026-03-14 00:38 by JourneyLucky
[考研] 271求调剂 +10 生如夏花… 2026-03-11 10/500 2026-03-14 00:35 by 卖报员小雨
[考研] 一志愿湖师大化学289求调剂 +6 XMCMM3.14159 2026-03-10 6/300 2026-03-14 00:28 by JourneyLucky
[考研] 材料与化工求调剂一志愿 985 总分 295 +8 dream…… 2026-03-12 8/400 2026-03-13 22:17 by 星空星月
[考研] 一志愿西南交大,材料专硕317求调剂 +5 lx8568 2026-03-11 5/250 2026-03-13 21:43 by peike
[考研] 328化工专硕求调剂 +4 。,。,。,。i 2026-03-12 4/200 2026-03-13 14:44 by JourneyLucky
[考博] 福州大学杨黄浩课题组招收2026年专业学位博士研究生,2026.03.20截止 +3 Xiangyu_ou 2026-03-12 3/150 2026-03-13 09:36 by duanwu655
[考研] 085600 材料与化工 295 求调剂 +10 dream…… 2026-03-10 12/600 2026-03-12 13:46 by dream……
[考研] 调剂 +5 呵唔哦豁 2026-03-10 5/250 2026-03-10 22:00 by 28375m
[考研] 085602化工求调剂 +7 董boxing 2026-03-10 7/350 2026-03-10 17:07 by BruceLiu320
[考研] 一志愿:武汉理工,材料工程,英二数二 总分314 +3 2202020125 2026-03-10 4/200 2026-03-10 13:54 by xiongyaxuan
信息提示
请填处理意见