本文是本人看了C语言也能干大事第六节之后所写的感悟和总结,此处附上链接:http://www.rupeng.com/forum/thread-8802-1-2.html
1.回调函数callback 使用示例: VOID CALLBACK MyTimerProc(HWND hwnd, UINT message, UINT iTimerID, DWORD dwTime) { MessageBox(hwnd,TEXT("我被调用了"),TEXT(" "),MB_OK); } BOOL Main_OnInitDialog(HWND hwnd, HWND hwndFocus, LPARAM lParam) { SetTimer (hwnd,0,2000,MyTimerProc); return TRUE; } 2.设置计时器 实现小钟的主要代码: VOID CALLBACK MyTimerProc(HWND hwnd, UINT message, UINT iTimerID, DWORD dwTime) { SYSTEMTIME stLocal; GetLocalTime(&stLocal); TCHAR strTime[256]; wsprintf(strTime,"%i年%i月%i日%i:%i:%i",stLocal.wYear,stLocal.wMonth,stLocal.wDay,stLocal.wHour,stLocal.wMinute,stLocal.wSecond); SetDlgItemText(hwnd,IDC_IPADDRESS1,strTime); } BOOL Main_OnInitDialog(HWND hwnd, HWND hwndFocus, LPARAM lParam) { SetTimer (hwnd,0,1000,MyTimerProc); return TRUE; } 3.复选框控件的操做,主要代码: void Main_OnCommand(HWND hwnd, int id, HWND hwndCtl, UINT codeNotify) { switch(id) { case IDC_OK: { HWND hwndCheck=GetDlgItem(hwnd,IDC_CHECK1); int checkState = Button_GetCheck(hwndCheck); if(BST_CHECKED == checkState) { MessageBox(hwnd,TEXT("选中"),TEXT(""),MB_OK); } //除选中、未选中可能有第三态 if(BST_UNCHECKED == checkState) { MessageBox(hwnd,TEXT("未选中"),TEXT(""),MB_OK); } } break; case IDC_BUTTON1: { HWND hwndCheck=GetDlgItem(hwnd,IDC_CHECK1); int checkState = Button_GetCheck(hwndCheck); if(BST_CHECKED == checkState) { MessageBox(hwnd,TEXT("未选中"),TEXT(""),MB_OK); } //除选中、未选中可能有第三态 if(BST_UNCHECKED == checkState) { MessageBox(hwnd,TEXT("选中"),TEXT(""),MB_OK); } }break;
default: break; } } 4.总结: 这节课主要讲了定时器和复选框的使用方法,要多练习。