Bài 4: Hộp thọai và điều khiểnThông điệp Nguyên nhân phát sinh Thông điệp này cùng được gởi đến các cửa sổ bị kích hoạt và cửa sổ không bị kích. Định danh của bộ định thời gian. nElapse : Là khoảng thời gian nghỉ giữa hai lần gởi thông điệp lpTimerFunc : Hàm sẽ xử lý khi thông điệp WM_TIMER phát sinh, nếu
Nội dung trích xuất từ tài liệu:
Giáo trình lập trình C cho winform - 6 Bài 4: Hộp thọai và điều khiển Trần Minh Thái LRESULT CALLBACK WndProc (HWND hwnd, UINT message, WPARAM47 wParam, LPARAM lParam)48 {49 static HINSTANCE hInstance ;50 PAINTSTRUCT ps ;51 switch (message)52 {53 case WM_CREATE:54 hInstance = ((LPCREATESTRUCT) lParam)->hInstance ;55 return 0 ;56 case WM_COMMAND:57 switch (LOWORD (wParam))58 {59 case IDC_SHOW:60 if (DialogBox (hInstance, TEXT (DIALOG),61 hwnd, DialogProc))62 InvalidateRect (hwnd, NULL, TRUE) ;63 return 0 ;64 }65 break;66 case WM_PAINT:67 BeginPaint (hwnd, &ps) ;68 EndPaint (hwnd, &ps) ;69 PaintWindow (hwnd, iCurrentColor, iCurrentFigure,70 iCurrenBrush) ;71 return 0 ;72 case WM_DESTROY:73 PostQuitMessage (0) ;74 return 0 ;75 }76 return DefWindowProc (hwnd, message, wParam, lParam) ;77 }78 BOOL CALLBACK DialogProc (HWND hDlg, UINT message, WPARAM79 wParam, LPARAM lParam)80 {81 static HWND hCtrlBlock ;82 static int iColor, iFigure,iBrush;83 switch (message)84 {85 case WM_INITDIALOG:86 iColor = iCurrentColor ;87 iFigure = iCurrentFigure ;88 iBrush = iCurrenBrush;89 CheckRadioButton(hDlg,IDC_BLACK,IDC_WHITE,90 iColor);91 Bài giảng: Lập trình C for Win .............................................................................................Trang 51/69 Bài 4: Hộp thọai và điều khiển Trần Minh Thái CheckRadioButton(hDlg,IDC_RECT,IDC_ELLIPSE,iFig 92 ure);CheckRadioButton (hDlg, IDC_HS_BDIAGONAL, 93 IDC_HS_VERTICAL, iBrush); 94 hCtrlBlock = GetDlgItem (hDlg, IDC_PAINT) ; 95 SetFocus (GetDlgItem (hDlg, iColor)) ; 96 return FALSE ; 97 case WM_COMMAND: 98 switch (LOWORD (wParam)) 99 {100 case IDOK:101 iCurrentColor = iColor ;102 iCurrentFigure = iFigure ;103 iCurrenBrush = iBrush;104 EndDialog (hDlg, TRUE) ;105 return TRUE ;106 case IDCANCEL:107 EndDialog (hDlg, FALSE) ;108 return TRUE ;109 case IDC_BLACK:110 case IDC_RED:111 case IDC_GREEN:112 case IDC_YELLOW:113 case IDC_BLUE:114 case IDC_MAGENTA:115 case IDC_CYAN:116 case IDC_WHITE:117 iColor = LOWORD (wParam) ;118 CheckRadioButton (hDlg, IDC_BLACK,119 IDC_WHITE, LOWORD (wParam)) ;120 PaintTheBlock (hCtrlBlock, iColor,121 iFigure,iBrush);122 return TRUE ;123 case IDC_RECT:124 case IDC_ELLIPSE:125 iFigure = LOWORD (wParam) ;126 CheckRadioButton (hDlg, IDC_RECT,127 IDC_ELLIPSE, LOWORD (wParam)) ;128 PaintTheBlock (hCtrlBlock, iColor,129 iFigure,iBrush);130 ...