《深入浅出MFC第2版(PDF格式)》第20章


#0065 //……………………………………………………………………………………………………………………………………………………………………
#0066 BOOL InitInstance(HINSTANCE hInstance; int nCmdShow) 
#0067 { 
#0068 _hInst = hInstance; //
存储为全域变量,方便使用 
#0069 
#0070 _hWnd = CreateWindow ( 
#0071 _szAppName; 
#0072 _szTitle; 
#0073 WS_OVERLAPPEDWINDOW; 
#0074 CW_USEDEFAULT; 
#0075 CW_USEDEFAULT; 
#0076 CW_USEDEFAULT; 
#0077 CW_USEDEFAULT; 
#0078 NULL; 
#0079 NULL; 
#0080 hInstance; 
#0081 NULL 
#0082 ); 
#0083 
#0084 if (!_hWnd) 
#0085 return (FALSE); 
#0086 
#0087 ShowWindow (_hWnd; nCmdShow); // 显示窗口 
#0088 UpdateWindow (_hWnd); // 送出 WM_PAINT 
#0089 return (TRUE); 
#0090 } 
#0091 //……………………………………………………………………………………………………………………………………………………………………
#0092 // WndProc
窗口函数 
#0093 //……………………………………………………………………………………………………………………………………………………………………
#0094 LRESULT CALLBACK WndProc(HWND hWnd; UINT message; 
#0095 WPARAM wParam; LPARAM lParam) 
#0096 { 
#0097 int wmId; wmEvent; 
#0098 
#0099 switch (message) { 
#0100 case WM_MAND: 
#0101 
#0102 wmId = LOWORD (wParam); 
#0103 wmEvent = HIWORD (wParam); 
#0104 
#0105 switch (wmId) { 
#0106 case IDM_ABOUT: 
12 
…………………………………………………………Page 75……………………………………………………………
#0107 DialogBox (_hInst; // Winmain第一个参数,应用程序的实例句柄 
#0108 〃AboutBox〃; // 对话框资源名称 
#0109 hWnd; // 父窗口 
#0110 (DLGPROC)About //对话框函数名称 
#0111 ); 
#0112 break; 
#0113 
#0114 case IDM_EXIT: 
#0115 // 使用者想结束程序。处理方式与 WM_CLOSE 相同 
#0116 DestroyWindow (hWnd); 
#0117 break; 
#0118 
#0119 default: 
#0120 return (DefWindowProc (hWnd; message; wParam; lParam)); 
#0121 } 
#0122 break; 
#0123 
#0124 case WM_DESTROY: // 窗口已经被摧毀 (程序即将结束) 。 
#0125 PostQuitMessage (0); 
#0126 break; 
#0127 
#0128 default: 
#0129 return (DefWindowProc (hWnd; message; wParam; lParam)); 
#0130 } 
#0131 return (0); 
#0132 } 
#0133 //……………………………………………………………………………………………………………………………………………………………………
#0134 // About …对话框函数 
#0135 //……………………………………………………………………………………………………………………………………………………………………
#0136 LRESULT CALLBACK About(HWND hDlg; UINT message; 
#0137 WPARAM wParam; LPARAM lParam) 
#0138 { 
#0139 UNREFERENCED_PARAMETER (lParam); // 避免編译时的警告 
#0140 
#0141 switch (message) { 
#0142 case WM_INITDIALOG: 
#0143 return (TRUE); // TRUE 表示我已处理过这个消息 
#0144 
#0145 case WM_MAND: 
#0146 if (LOWORD (wParam) == IDOK 
#0147 || LOWORD (wParam) == IDCANCEL) { 
#0148 EndDialog (hDlg; TRUE); 
#0149 return (TRUE); // TRUE 表示我已处理过这个消息 
#0150 } 
#0151 break; 
#0152 } 
13 
…………………………………………………………Page 76……………………………………………………………
#0153 return (FALSE); // FALSE 表示我没有处理这个消息 
#0154 } 
Generic。rc 
#0001 //……………………………………………………………………………………………………………………………………………………………………
#0002 // 档名 : generic。rc 
#0003 //……………………………………………………………………………………………………………………………………………………………………
#0004 #include 〃windows。h〃 
#0005 #include 〃resource。h〃 
#0006 
#0007 jjhouricon ICON DISCARDABLE 〃jjhour。ico〃 
#0008 
#0009 GenericMenu MENU DISCARDABLE 
#0010 BEGIN 
#0011 POPUP 〃&File〃 
#0012 BEGIN 
#0013 MENUITEM 〃&New〃; IDM_NEW; GRAYED 
#0014 MENUITEM 〃&Open。。。〃; IDM_OPEN; GRAYED 
#0015 MENUITEM 〃&Save〃; IDM_SAVE; GRAYED 
#0016 MENUITEM 〃Save &As。。。〃; IDM_SAVEAS; GRAYED 
#0017 MENUITEM SEPARATOR 
#0018 MENUITEM 〃&Print。。。〃; IDM_PRINT; GRAYED 
#0019 MENUITEM 〃P&rint Setup。。。〃; IDM_PRINTSETUP; GRAYED 
#0020 MENUITEM SEPARATOR 
小说推荐
返回首页返回目录