文档详情

资源在Windows编程中的应用..ppt

发布:2017-01-01约1.31万字共52页下载文档
文本预览下载声明
7.3 对话框资源及其应用 对话框是一个弹出式窗口,它一般用于用户输入或与用户进行交互活动的场合 * 对 话 框 模式 非模式 允许用户在该对话框与应用程序其他窗口之间的切换,非模式对话框从WinMain函数的消息循环中接收输入 不允许用户在关闭对话框之前切换到应用程序的其他窗口 7.3.1 模式对话框的编程方法 1.定义对话框资源 一般的形式为: 对话框名 DIALOG [载入特性选项] X,Y, Width,Height [设置选项] { 对话框的控件定义 } * 样式选项决定了对话框的外型特点,样式见表7-6 CHECKBOX、ICON、COMBOBOX LISTBOX、 DEFPUSHBUTTON、 PUSHBUTTON、RADIOBUTTON、 GROUPBOX、EDIT、 SCROLLBAR 静态文本控件 2.调用函数DialogBox显示对话框 调用DialogBox函数在窗口中显示对话框: int DialogBox ( HINSTANCE hInstance, LPCTSTR lpszDialogName, //对话框资源的名称 HWND hwndParent, //拥有该对话框的窗口句柄 DLGPROC lpDialogFunc //对话框处理函数的地址 ) * 3.构造对话框消息处理函数 对话框消息处理函数的一般形式为: BOOL CALLBACK DlgProc(HWND hDlg,…,…,…) {switch(message) {case WM_INITDIALOG: return 1; case WM_COMMAND switch (LOWORD (wParam )) { case … … break; … } break; } return 0; } * 在对话框消息处理函数中主要常处理以下两类消息: (a)WM_ INITDIALOG 消息 对话框在响应消息WM_ INITDIALOG 消息时完成其初始化操作,在功能上与主窗口函数的WM_COMMAND消息相似。 (b)WM_COMMAND消息 对话框在响应消息WM_COMMAND时,通过查看消息字参数(wParam)中的低位字节,与控件标识(ID)相比较,以确定产生交互请求的控件并据此转入相应的处理过程进行处理。 * 4.关闭对话框 调用函数EndDialog可以关闭对话框: BOOL EndDialog(HWND hdlg,INT_PTR nResult) * Windows消息框是模态对话框的一种特殊形式,应用程序可通过调用函数MessageBox生成一些简单但又常用的消息框: int MessageBox ( HWND hwnd, //拥有消息框的窗口 LPCTSTR lpszText, //消息框中显示的字符串 LPCTSTR lpszCaption, //作为标题的字符串 DWORD dwType //指定消息框的内容 ) 7.3.2 模态对话框应用实例 * LRESULT CALLBACK WndProc(…,…,…,…) {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,…,…,…)
显示全部
相似文档