⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 subject_22726.htm

📁 一些关于vc的问答
💻 HTM
字号:
<p>
序号:22726 发表者:淡淡 发表日期:2002-11-28 09:18:46
<br>主题:如何在Doc里用SetTimer()函数?
<br>内容:我在Doc中要用通过WM_TIMER发送消息的SetTimer(),但编译时说"illegal call of non-static member function".
<br><a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p>
<hr size=1>
<blockquote><p>
回复者:CDMA2000 回复日期:2002-11-28 09:21:32
<br>内容:WM_TIMER要在基于CWnd的类中实现
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
<hr size=1>
<blockquote><p>
回复者:徐景周 回复日期:2002-11-28 09:38:33
<br>内容:借鉴 下面文章:<BR>http://www.vckbase.com/vckbase/vckbase11/vc/nonctrls/docview_14/1114002.htm<BR><BR>
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
<hr size=1>
<blockquote><p>
回复者:淡淡 回复日期:2002-11-28 09:41:52
<br>内容:我在Doc中写了一个消息响应函数OnLink(),用来打开串口,然后需要定时处理采集上来的数据.既然不能在Doc中用SetTimer(),该怎么定时呀?
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
<hr size=1>
<blockquote><p>
回复者:CDMA2000 回复日期:2002-11-28 09:45:55
<br>内容:哦,你说的是设置定时啊<BR>你调用API函数SetTimer()啊<BR><BR>UINT SetTimer(<BR>&nbsp;&nbsp;HWND hWnd,&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;// handle of window for timer messages<BR>&nbsp;&nbsp;UINT nIDEvent,&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;// timer identifier<BR>&nbsp;&nbsp;UINT uElapse,&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; // time-out value<BR>&nbsp;&nbsp;TIMERPROC lpTimerFunc&nbsp;&nbsp; // address of timer procedure<BR>);<BR> 
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
<hr size=1>
<blockquote><p>
回复者:淡淡 回复日期:2002-11-28 09:54:54
<br>内容:你的意思是在Doc中不能处理WM_TIMER消息,但可以设置定时?<BR><BR>这个函数我知道,但第一个和第四个参数不会用,hWnd可以用GetMainWnd()获得吗?lpTimerFunc可以只写出函数名吗?<BR><BR>因为这两个参数的困惑,所以想能不能用<BR>SetTimer(UINT nIDEvent,UINT nElapse,?=NULL)
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
<hr size=1>
<blockquote><p>
<font color=red>答案被接受</font><br>回复者:CDMA2000 回复日期:2002-11-28 10:01:10
<br>内容:你一个参数是你接受WM_TIMER消息的窗口句柄m_hWnd;<BR>如果OnTimer在视图类中,就是视图类句柄<BR>如果OnTimer在框架类中,就是框架窗口类句柄<BR>我想取的这些句柄应该是比较容易的吧!<BR>最后一个参数设置为NULL就可以;<BR>
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
<hr size=1>
<blockquote><p>
回复者:淡淡 回复日期:2002-11-28 10:04:31
<br>内容:我还不知道视图类句柄怎么获得,我先回去找找看,成功了立刻回消息.
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
<hr size=1>
<blockquote><p>
回复者:淡淡 回复日期:2002-11-28 10:24:59
<br>内容:断点,可以进入到视图类的OnTimer()了.<BR>POSITION firstViewPos;<BR>CView *pView;<BR>firstViewPos=GetFirstViewPosition();<BR>pView=GetNextView(firstViewPos);<BR>hWnd=pView-&gt;GetSafeHwnd();<BR>获取了HWND,只不过不是很明白这段代码的意思.<BR><BR>谢谢CDMA2000,呵呵我距IS-95A都相距甚远呢!<BR>
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -