24小时热门版块排行榜    

查看: 1417  |  回复: 13
当前只显示满足指定条件的回帖,点击这里查看本话题的所有回帖

1970-01-01 08:00:00
已阅   申请程序强帖   回复此楼   编辑   查看我的主页

缘不可解

新虫 (初入文坛)

引用回帖:
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返回的值以确定定时器是否可用是很重要的。
坚持奋斗,学会感恩,懂得珍惜
10楼2012-11-26 13:07:28
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
查看全部 14 个回答

沉默boy

木虫 (著名写手)

这是啥

【答案】应助回帖

★ ★ ★ ★
感谢参与,应助指数 +1
dq20081935: 金币+3, ★★★很有帮助 2012-11-02 15:57:04
xzhdty: 金币+1, 谢谢参与 2012-11-03 22:38:48
难道不是自己编一个模态或者非模态对话框之类的么?或者用VB有不少系统的对话框,比如什么“打开”、“保存”。。。。。
总说平等,但是平等在哪里?
2楼2012-11-02 14:50:06
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

dq20081935

铜虫 (小有名气)

引用回帖:
2楼: Originally posted by 沉默boy at 2012-11-02 14:50:06
难道不是自己编一个模态或者非模态对话框之类的么?或者用VB有不少系统的对话框,比如什么“打开”、“保存”。。。。。

对,就是用C++编一个模态或者非模态对话框。但我不会在单文档中调用,或者说我无法实现该对话框弹出的功能,求大侠指教!
3楼2012-11-02 15:56:53
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

沉默boy

木虫 (著名写手)

这是啥

【答案】应助回帖

引用回帖:
3楼: Originally posted by dq20081935 at 2012-11-02 15:56:53
对,就是用C++编一个模态或者非模态对话框。但我不会在单文档中调用,或者说我无法实现该对话框弹出的功能,求大侠指教!...

去看看ShowWindow
我是小白
总说平等,但是平等在哪里?
4楼2012-11-02 17:56:54
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
信息提示
请填处理意见