Windows程序设计 第十一章 模态对话框
来源:互联网 发布:2017网络婚恋诈骗 编辑:程序博客网 时间:2024/06/06 07:07
Windows程序设计 第十一章 模态对话框
P386--393
//
// winmain.cpp
#include <windows.h>#include "resource.h"#include "mdebug.h"static TCHAR szAppName[] = TEXT ("Win32App") ; //创建的ICON资源的ID必须也是这个字符串(包括双引号).static TCHAR szAppNameMenu[] = TEXT ("Win32AppMenu");//创建的菜单资源的ID必须也是这个字符串(包括双引号).LRESULT CALLBACK WndProc (HWND, UINT, WPARAM, LPARAM) ;BOOL CALLBACK AboutDlgProc (HWND, UINT, WPARAM, LPARAM) ;int WINAPI WinMain (HINSTANCE hInstance, HINSTANCE hPrevInstance, PSTR szCmdLine, int iCmdShow){MSG msg ;HWND hwnd ;WNDCLASS wndclass ;wndclass.style = CS_HREDRAW | CS_VREDRAW ;wndclass.lpfnWndProc = WndProc ;wndclass.cbClsExtra = 0 ;wndclass.cbWndExtra = 0 ;wndclass.hInstance = hInstance ;wndclass.hIcon = LoadIcon (hInstance, szAppName) ;wndclass.hCursor = LoadCursor (NULL, IDC_ARROW) ;//wndclass.hCursor = LoadCursor (hInstance, MAKEINTRESOURCE(IDI_ICON1)) ;//wndclass.hbrBackground = (HBRUSH) GetStockObject (WHITE_BRUSH);wndclass.hbrBackground = GetSysColorBrush(COLOR_3DFACE);wndclass.lpszMenuName = szAppNameMenu;wndclass.lpszClassName = szAppName;if (!RegisterClass (&wndclass)){MessageBox (NULL, TEXT ("This program requires Windows NT!"),szAppName, MB_ICONERROR) ;return 0 ;}hwnd = CreateWindow (szAppName, TEXT ("Win32App 模版......"),WS_OVERLAPPEDWINDOW,CW_USEDEFAULT, CW_USEDEFAULT,CW_USEDEFAULT, CW_USEDEFAULT,NULL, NULL, hInstance, NULL) ;ShowWindow (hwnd, iCmdShow) ;UpdateWindow (hwnd) ; while (GetMessage (&msg, NULL, 0, 0)){TranslateMessage (&msg) ;DispatchMessage (&msg) ;}return msg.wParam ;}LRESULT CALLBACK WndProc (HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam){static HINSTANCE hInstance ;switch (message){case WM_CREATE :debugInit();hInstance = ((LPCREATESTRUCT) lParam)->hInstance ;return 0 ;case WM_COMMAND :{ int id = LOWORD (wParam);mPuts(" LOWORD (wParam) = %d\n",id);}switch (LOWORD (wParam)){case IDM_APP_ABOUT :// 在resource.rc资源中创建的Dialog的ID必须修改为"ABOUTBOX"// 也就是说DialogBox()的第二个参数必须是资源脚本中定义的对话框的字符串名称// 如果不是字符串,是数字标识符,那就用MAKEINTRESOURCE()宏来转换DialogBox (hInstance, TEXT ("AboutBox"), hwnd, AboutDlgProc) ;break ;}return 0 ; case WM_DESTROY :debugFree();PostQuitMessage (0) ;return 0 ;}return DefWindowProc (hwnd, message, wParam, lParam) ;}BOOL CALLBACK AboutDlgProc (HWND hDlg, UINT message, WPARAM wParam, LPARAM lParam){switch (message){case WM_INITDIALOG :return TRUE ;case WM_COMMAND :switch (LOWORD (wParam)){case IDOK :case IDCANCEL :EndDialog (hDlg, 0) ;return TRUE ;}break ;}return FALSE ;}
// resource.h
// resource.h//{{NO_DEPENDENCIES}}// Microsoft Developer Studio generated include file.// Used by resource.rc//#define IDM_APP_ABOUT 40001// Next default values for new objects// #ifdef APSTUDIO_INVOKED#ifndef APSTUDIO_READONLY_SYMBOLS#define _APS_NEXT_RESOURCE_VALUE 104#define _APS_NEXT_COMMAND_VALUE 40002#define _APS_NEXT_CONTROL_VALUE 1000#define _APS_NEXT_SYMED_VALUE 101#endif#endif
// resource.rc
// resource.rc 在VC中Insert...resource后,编译时要求保存创建的资源为*.rc文件,这个文件....可以用记事本编写//Microsoft Developer Studio generated resource script.//#include "resource.h"#define APSTUDIO_READONLY_SYMBOLS///////////////////////////////////////////////////////////////////////////////// Generated from the TEXTINCLUDE 2 resource.//#include "afxres.h"/////////////////////////////////////////////////////////////////////////////#undef APSTUDIO_READONLY_SYMBOLS/////////////////////////////////////////////////////////////////////////////// Chinese (P.R.C.) resources#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_CHS)#ifdef _WIN32LANGUAGE LANG_CHINESE, SUBLANG_CHINESE_SIMPLIFIED#pragma code_page(936)#endif //_WIN32///////////////////////////////////////////////////////////////////////////////// Menu//WIN32APPMENU MENU DISCARDABLE BEGIN POPUP "Help" BEGIN MENUITEM "Me", IDM_APP_ABOUT ENDEND#ifdef APSTUDIO_INVOKED///////////////////////////////////////////////////////////////////////////////// TEXTINCLUDE//1 TEXTINCLUDE DISCARDABLE BEGIN "resource.h\0"END2 TEXTINCLUDE DISCARDABLE BEGIN "#include ""afxres.h""\r\n" "\0"END3 TEXTINCLUDE DISCARDABLE BEGIN "\r\n" "\0"END#endif // APSTUDIO_INVOKED///////////////////////////////////////////////////////////////////////////////// Icon//// Icon with lowest ID value placed first to ensure application icon// remains consistent on all systems.Win32App ICON DISCARDABLE "icon1.ico"///////////////////////////////////////////////////////////////////////////////// Dialog//ABOUTBOX DIALOG DISCARDABLE 0, 0, 187, 94STYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENUCAPTION "Dialog"FONT 10, "System"BEGIN DEFPUSHBUTTON "OK",IDOK,130,7,50,14 PUSHBUTTON "Cancel",IDCANCEL,130,24,50,14 LTEXT "Dialog......",IDC_STATIC,30,41,112,17END///////////////////////////////////////////////////////////////////////////////// DESIGNINFO//#ifdef APSTUDIO_INVOKEDGUIDELINES DESIGNINFO DISCARDABLE BEGIN "ABOUTBOX", DIALOG BEGIN LEFTMARGIN, 7 RIGHTMARGIN, 180 TOPMARGIN, 7 BOTTOMMARGIN, 87 ENDEND#endif // APSTUDIO_INVOKED#endif // Chinese (P.R.C.) resources/////////////////////////////////////////////////////////////////////////////#ifndef APSTUDIO_INVOKED///////////////////////////////////////////////////////////////////////////////// Generated from the TEXTINCLUDE 3 resource.///////////////////////////////////////////////////////////////////////////////#endif // not APSTUDIO_INVOKED
//---
//---
- Windows程序设计 第十一章 模态对话框
- Windows程序设计-模态对话框和非模态对话框
- 第十一章 对话框part1
- 第十一章 对话框part2
- 第十一章 对话框part3
- 第十一章 对话框part4
- Linux程序设计第十一章
- Windows程序设计之对话框
- 《Windows程序设计》对话框1
- 《Windows程序设计》之对话框
- Windows程序设计-通用对话框
- Objective-C 程序设计 第十一章
- 《Windows》程序设计之对话框3
- 《Windows程序设计》之非模态对话框
- 《Windows程序设计》之公用对话框
- Windows程序设计 非模态对话框 HEX
- 读书笔记——Windows环境下32位汇编语言程序设计(5)模态对话框
- 第七章 对话框 windows程序设计王艳平版
- MongoDB<一>基础入门
- quadratic polynomial --glossary
- struts2标签库使用小结
- LVS-DR工作原理图文详解
- MFC 位图和字体
- Windows程序设计 第十一章 模态对话框
- linux下android的开发正确识别真机调试
- unix网络编程笔记
- Ubuntu下OpenVPN客户端配置教程
- 九度oj 1504:把数组排成最小的数 (贪心)
- ubuntu13.04更新源
- HDU 1878 欧拉回路 Tarjan+欧拉判定
- OSGI读取配置文件的方法
- 8、对产品类别的业务管理分析