MOOC清华《VC++面向对象与可视化程序设计》第5章:对话框资源例程(模态对话框样例)
来源:互联网 发布:java api全部包类 编辑:程序博客网 时间:2024/06/05 23:56
#include <windows.h> #include "001.h"HINSTANCE hInst;LRESULT CALLBACK WndProc(HWND,UINT,WPARAM,LPARAM);BOOL CALLBACK DlgProc(HWND,UINT,WPARAM,LPARAM);int WINAPI WinMain(HINSTANCE hInstance,HINSTANCE hPrevInst,LPSTR lpszCmdLine,int nCmdShow){HWND hwnd ;MSG Msg ;HACCEL hAccel;WNDCLASS wndclass ; char lpszMenuName[]="Menu"; char lpszClassName[] = "模态对话框"; char lpszTitle[]= "模态对话框样例"; wndclass.style = 0; wndclass.lpfnWndProc = WndProc ; wndclass.cbClsExtra= 0 ; wndclass.cbWndExtra= 0 ; wndclass.hInstance = hInstance ; wndclass.hIcon = LoadIcon( NULL, IDI_APPLICATION) ; wndclass.hCursor = LoadCursor( NULL, IDC_ARROW) ; wndclass.hbrBackground = (HBRUSH)GetStockObject( WHITE_BRUSH) ; wndclass.lpszMenuName = lpszMenuName ; wndclass.lpszClassName = lpszClassName ; if( !RegisterClass( &wndclass)) { MessageBeep(0) ; return FALSE ; }hwnd = CreateWindow(lpszClassName, lpszTitle, WS_OVERLAPPEDWINDOW, CW_USEDEFAULT, CW_USEDEFAULT, CW_USEDEFAULT, CW_USEDEFAULT, NULL, NULL, hInstance, NULL); ShowWindow( hwnd, nCmdShow) ;UpdateWindow(hwnd); hInst=hInstance;hAccel=LoadAccelerators(hInst,lpszMenuName); while( GetMessage(&Msg, NULL, 0, 0)) { if (!TranslateAccelerator(hwnd,hAccel,&Msg)) { TranslateMessage( &Msg) ; DispatchMessage( &Msg) ; } }return Msg.wParam; } LRESULT CALLBACK WndProc(HWND hwnd,UINT message,WPARAM wParam,LPARAM lParam){switch(message){ case WM_COMMAND:switch(LOWORD(wParam)) {case IDM_OPEN://打开文件操作 //文件打开成功则显示消息框 MessageBox(hwnd,"文件已经打开!","文件打开",MB_OK); break; case IDM_SAVE://存储操作 //文件保存成功则显示消息框 MessageBox(hwnd,"文件保存成功!","文件保存",MB_OK);break; case IDM_EXIT: SendMessage(hwnd,WM_DESTROY,0,0); break; case IDM_ABOUT: //创建对话框DialogBox(hInst,"About",hwnd,(DLGPROC)DlgProc);break; } break;case WM_DESTROY: PostQuitMessage(0); break; default: return DefWindowProc(hwnd,message,wParam,lParam); } return 0;}//对话框窗口处理函数BOOL CALLBACK DlgProc(HWND hdlg,UINT message,WPARAM wParam,LPARAM lParam){ switch(message) {case WM_INITDIALOG: //初始化对话框 return 1; case WM_COMMAND: //处理对话框消息 switch (LOWORD(wParam)) {case IDOK: //关闭对话框 EndDialog(hdlg,0) ;}break ; case WM_CLOSE: EndDialog(hdlg, 0) ; break ; } return 0;}
#define IDM_OPEN 11#define IDM_SAVE 13#define IDM_EXIT 15#define IDM_ABOUT 20
#include <windows.h> #include "001.h" Menu MENU DISCARDABLE { POPUP "文件(&F)" { MENUITEM "打开(&O)\t Ctrl+O", IDM_OPEN MENUITEM SEPARATOR MENUITEM "保存(&S)\t Ctrl+S", IDM_SAVE MENUITEM SEPARATOR MENUITEM "退出(&X)", IDM_EXIT } POPUP "帮助(&H)" { MENUITEM "关于(&A)...", IDM_ABOUT } } Menu ACCELERATORS { "^O", IDM_OPEN "^S", IDM_SAVE } About DIALOG 10, 10, 100, 50 STYLE WS_POPUP | WS_CAPTION | WS_SYSMENU CAPTION "关于" FONT 18, "楷体" //定义对话框中的文本字体类型及大小 { CTEXT "Windows模态对话框",-1,13,10,80,10 DEFPUSHBUTTON "确定",IDOK,35,30,30,12 }
阅读全文
0 0
- MOOC清华《VC++面向对象与可视化程序设计》第5章:对话框资源例程(模态对话框样例)
- MOOC清华《VC++面向对象与可视化程序设计》第5章:对话框资源例程(非模态对话框样例)
- MOOC清华《VC++面向对象与可视化程序设计》第4章:键盘操作例程(五个对话框)
- MOOC清华《VC++面向对象与可视化程序设计》第5章:位图资源例程
- MOOC清华《VC++面向对象与可视化程序设计》第5章:图标资源例程
- MOOC清华《VC++面向对象与可视化程序设计》第5章:菜单资源例程(创建统计计算菜单项)
- MOOC清华《VC++面向对象与可视化程序设计》第4章:鼠标操作例程(灰白选框)
- MOOC清华《VC++面向对象与可视化程序设计》第3章:补例-诗文扇面
- MOOC清华《VC++面向对象与可视化程序设计》第2章:Windows绘图-例(1)静态图形的绘制
- MOOC清华《VC++面向对象与可视化程序设计》第2章:Windows绘图-例(3)移动图形的绘制
- MOOC清华《VC++面向对象与可视化程序设计》第3章:Windows文本-例(1)文本显示示例程序
- MOOC清华《VC++面向对象与可视化程序设计》第3章:Windows文本-例(2)字体、颜色、下划线
- MOOC清华《VC++面向对象与可视化程序设计》第3章:Windows文本-例(3)动态文本的显示
- MOOC清华《VC++面向对象与可视化程序设计》第3章:Windows文本-例(4)竖排的古诗
- MOOC清华《VC++面向对象与可视化程序设计》第3章:编程作业-艺术字的显示
- MOOC清华《VC++面向对象与可视化程序设计》第1章:空白窗口的创建(空项目)
- MOOC清华《VC++面向对象与可视化程序设计》第1章:空白窗口的创建(Win32项目)
- MOOC清华《VC++面向对象与可视化程序设计》第2章:编程作业-渐变图形的绘制(“万花筒”程序)
- UVA 247 Calling Circles
- 兄弟连学python》》》》文件操作
- 简单的HTTP请求post,get,put,delete,head方法的实现
- 已知四边形的四个点,求一个点是否在四边形之内的解决方法
- 【SpringData】轻松愉快之玩转SpringData( 第2章 使用传统方式访问数据库
- MOOC清华《VC++面向对象与可视化程序设计》第5章:对话框资源例程(模态对话框样例)
- ac自动机
- 聊聊c++中的set
- 谁是凶手
- C:\Users\[本机账户名]\AppData\Roaming\Microsoft\Excel\
- 一个简单的时间显示(当天时/分/秒,隔天年/月/日)
- 第十三周项目1
- [bzoj4986]MiniumCut
- 通俗理解cookie和session