OutputDebugString("hello world/n");case WM_TIMER:WINDOW api中的几种计时。

来源:互联网 发布:哪个软件有腾落指标 编辑:程序博客网 时间:2024/05/20 22:39

1.timer 来进行相应的计时。

   setTimer, killTimer

  利用wm_timer消息来进行相应消息的传递。

  相应的时间的处理过程是函数指针(回调函数);typedef VOID (CALLBACK* TIMERPROC)(HWND, UINT, UINT, DWORD);

从而需要自定义一个相应的函数来进行处理。

void CALLBACK TimerProc1(HWND hwnd,UINT umsg,UINT iTimerId,DWORD dwTime);

 当多个timer时:

 SetTimer(hWnd,TIMERID1,100,TimerProc1);
 SetTimer(hWnd,TIMERID2,123,TimerProcTwo);

 

 KillTimer(hWnd,TIMERID1);
 KillTimer(hWnd,TIMERID2);

 

相应的处理函数

void CALLBACK TimerProc1(HWND hwnd,UINT umsg,UINT iTimerId,DWORD dwTime)
{

 HDC hdc;
 char buf[20];
 memset(buf,'/0',20);
 g_Count++;
 hdc  = GetDC(hwnd);
 itoa(g_Count,buf,10);
 TextOut(hdc,10,10,buf,20);
 ReleaseDC(hwnd,hdc);
return;
}

void CALLBACK TimerProcTwo(HWND hwnd,UINT msg,UINT iTimerId,DWORD dwtime)
{
 OutputDebugString("hello world/n");
}

 

如果不利用回调函数的化可以使用wm_timer来进行处理

wparam来辨别是那个timer来进行相应的处理

case WM_TIMER:
    {
    switch(wParam)//-------------------------在这个地方进行相应的处理
    {
    case TIMERID1:
     {
     HDC hdc;
     char buf[20];
     memset(buf,'/0',20);
     g_Count++;
     hdc  = GetDC(hWnd);
     itoa(g_Count,buf,10);
     TextOut(hdc,10,10,buf,20);
     ReleaseDC(hWnd,hdc);
     break; 
     }
    case TIMERID2:
     {
     OutputDebugString("hello world/n");
     break; 
     }
    default:
     break;
    }

 

 

原创粉丝点击