查MSDN知道SetTimer()函数为:
UINT SetTimer(
  HWND hWnd,              // handle of window for timer messages
  UINT nIDEvent,          // timer identifier
  UINT uElapse,           // time-out value
  TIMERPROC lpTimerFunc   // address of timer procedure
);
因为我不怎么懂用窗口句柄,即第一个参数的用法!
 我的问题是:  我怎样才能通过在另外一个对话框中的按钮,一个用来设置
SetTimer(),另一个用来关闭时间函数,即KillTimer(),而这个时间函数我是
在视图(单文档)类中设置.即对话框中的两个按钮是开关按钮!
我想到用全局变量进行消息映射,想来这个方法肯定不好,希望大家指教!
(在线等!)

解决方案 »

  1.   

    settimer设定了一个定时器,在系统时钟到达的时候判断指定的时间是否到达,是则向指定的窗口发送wm_timer消息,所以第一个参数就是指定接收这个消息的窗口,否则windows不知道要通知谁
    你可以把nidevent作为cmainframe类的成员变量,开关的时候调用((CMainFrame *)::AfxGetMainWnd())->m_nidevent获得这个时钟标志符,就可以开关时钟了
    我知道的不多,不知道能不能帮你解决问题
      

  2.   

    vc中定时器的使用
    http://www.vccode.com/file_show.php?id=2321
      

  3.   

    我想hWnd是你想接受WM_TIMER消息的窗口的句柄,可以通过窗口类的GetSafeHandle()获得,我怎样才能通过在另外一个对话框中的按钮,一个用来设置SetTimer(),另一个用来关闭时间函数,即KillTimer()
    -------------------------------------------------
    当点一下某个按钮时,你可以向hWnd PostMessage,在消息处理做相应的开关TIMER操作
      

  4.   

    楼主可以参考:
    http://www.csdn.com.cn/html/040601/2004525561256620.html
    http://www.csdn.com.cn/html/040601/2004525561256768.html