教你如何做到显示 Dialog Box(对话框)
2010-04-21 09:49
197 查看
原文地址:http://game.chinaitlab.com/freshmen/27810.html
前面介绍的 Debug Message(调试信息) 太简单,不能显示为通常的窗口形式。下面我们用资源编辑工具制作 Dialog Box(对话框),把它显示成窗口形式。
1. 用上回学过的方法新建一个空白工程,命名为 "Dialog" 。
然后打开 Dialog 文件夹,可以看见里面自动生成的3个文件:
Dialog.dsp
Dialog.dsw
Dialog.ncb
2. 选择菜单 [Insert|插入]-[Resource...|资源...] 打开 [Insert Resource|插入资源] 面板,在左栏内选中 [Dialog|对话框] ,然后点击 [New|新建] :
![](http://writeblog.csdn.net/imgfiles/2004.12.23.14.24.41.1.gif)
![](http://writeblog.csdn.net/imgfiles/2004.12.23.14.24.52.2.gif)
3. 选中 [OK] 按钮,按 [Delete] 来删除它:
![](http://writeblog.csdn.net/imgfiles/2004.12.23.14.25.7.3.gif)
4. 右击 [Cancel] 按钮,在关联菜单中选择 [Properties|属性] 打开 [Push Button properties|赋予按钮属性] 面板,在 [General|常规] 选项卡的 [ID:] 栏内键入 "IDC_CLOSE" 、[Caption|内容] 栏内键入 "CLOSE(关闭)" :
![](http://writeblog.csdn.net/imgfiles/2004.12.23.14.25.18.4.gif)
![](http://writeblog.csdn.net/imgfiles/2004.12.23.14.25.30.5.gif)
5. 从 [Controls|控制] 面板选择 [Static Text|静态文本] 工具 ,在 [Dialog] 窗口上拖曳出文本域:
![](http://writeblog.csdn.net/imgfiles/2004.12.23.14.25.42.6.gif)
![](http://writeblog.csdn.net/imgfiles/2004.12.23.14.25.52.7.gif)
(如果 [Controls|控制] 面板没有打开,请右击工具条,在弹出菜单中勾选 [Controls|控制] 。)
6. 右击 "Static" 文本域,在关联菜单中选择 [Properties|属性] 打开 [Text properties|文本属性] 面板,在 [General|常规] 选项卡的 [ID:] 栏内键入 "IDC_STATIC" 、[Caption|内容] 栏内键入 "Show Dialog Box(显示对话框)" :
![](http://writeblog.csdn.net/imgfiles/2004.12.23.14.26.5.8.gif)
7. 适当调整一下 Dialog Box 的大小和布局:
![](http://writeblog.csdn.net/imgfiles/2004.12.23.14.26.15.9.gif)
8. 关闭资源窗口(Script1),保存资源文件,文件名 "dialog.rc" 。
然后打开 Dialog 文件夹,可以看见里面新生成的两个文件:
dialog.rc
resource.h
选择菜单 [Project|工程]-[Add To Project|添加到工程]-[Files...|文件...] ,向工程中添加这两个文件://这一步很重要,否则会有莫名奇妙的链接错误!
![](http://writeblog.csdn.net/imgfiles/2004.12.23.14.26.26.10.gif)
9. 用上回学过的方法向工程中新建一个 C++ Source File(C++源文件),命名为 "dialog" ,向其中键入篇末附带的源程序。
10. 编译并执行!
OK ?
![](http://writeblog.csdn.net/imgfiles/2004.12.23.14.26.37.11.gif)
源程序:
/**********************************************/
/*★ 显示 Dialog Box 1999-04-10 前田 稔 ★*/
/**********************************************/
#include
#include "resource.h"
// 函数类型说明
LRESULT CALLBACK MainDialogProc( HWND, UINT, WPARAM, LPARAM );
// ★ Windows 主函数 ★
int APIENTRY WinMain( HINSTANCE hInstance, HINSTANCE hPrevInstance,
LPSTR lpCmdLine, int nCmdShow )
{
DialogBox(hInstance,MAKEINTRESOURCE(IDD_DIALOG1),NULL,(DLGPROC)MainDialogProc);
return TRUE;
}
// ★ Windows 事件处理 ★
LRESULT CALLBACK MainDialogProc(HWND hDlg,UINT message,WPARAM wParam,LPARAM lParam)
{
switch(message)
{
case WM_COMMAND:
if (LOWORD(wParam)==IDC_CLOSE) PostQuitMessage(0);
return TRUE;
break;
case WM_CLOSE:
EndDialog(hDlg, TRUE);
return TRUE;
break;
}
return FALSE;
}
前面介绍的 Debug Message(调试信息) 太简单,不能显示为通常的窗口形式。下面我们用资源编辑工具制作 Dialog Box(对话框),把它显示成窗口形式。
1. 用上回学过的方法新建一个空白工程,命名为 "Dialog" 。
然后打开 Dialog 文件夹,可以看见里面自动生成的3个文件:
Dialog.dsp
Dialog.dsw
Dialog.ncb
2. 选择菜单 [Insert|插入]-[Resource...|资源...] 打开 [Insert Resource|插入资源] 面板,在左栏内选中 [Dialog|对话框] ,然后点击 [New|新建] :
![](http://writeblog.csdn.net/imgfiles/2004.12.23.14.24.41.1.gif)
![](http://writeblog.csdn.net/imgfiles/2004.12.23.14.24.52.2.gif)
3. 选中 [OK] 按钮,按 [Delete] 来删除它:
![](http://writeblog.csdn.net/imgfiles/2004.12.23.14.25.7.3.gif)
4. 右击 [Cancel] 按钮,在关联菜单中选择 [Properties|属性] 打开 [Push Button properties|赋予按钮属性] 面板,在 [General|常规] 选项卡的 [ID:] 栏内键入 "IDC_CLOSE" 、[Caption|内容] 栏内键入 "CLOSE(关闭)" :
![](http://writeblog.csdn.net/imgfiles/2004.12.23.14.25.18.4.gif)
![](http://writeblog.csdn.net/imgfiles/2004.12.23.14.25.30.5.gif)
5. 从 [Controls|控制] 面板选择 [Static Text|静态文本] 工具 ,在 [Dialog] 窗口上拖曳出文本域:
![](http://writeblog.csdn.net/imgfiles/2004.12.23.14.25.42.6.gif)
![](http://writeblog.csdn.net/imgfiles/2004.12.23.14.25.52.7.gif)
(如果 [Controls|控制] 面板没有打开,请右击工具条,在弹出菜单中勾选 [Controls|控制] 。)
6. 右击 "Static" 文本域,在关联菜单中选择 [Properties|属性] 打开 [Text properties|文本属性] 面板,在 [General|常规] 选项卡的 [ID:] 栏内键入 "IDC_STATIC" 、[Caption|内容] 栏内键入 "Show Dialog Box(显示对话框)" :
![](http://writeblog.csdn.net/imgfiles/2004.12.23.14.26.5.8.gif)
7. 适当调整一下 Dialog Box 的大小和布局:
![](http://writeblog.csdn.net/imgfiles/2004.12.23.14.26.15.9.gif)
8. 关闭资源窗口(Script1),保存资源文件,文件名 "dialog.rc" 。
然后打开 Dialog 文件夹,可以看见里面新生成的两个文件:
dialog.rc
resource.h
选择菜单 [Project|工程]-[Add To Project|添加到工程]-[Files...|文件...] ,向工程中添加这两个文件://这一步很重要,否则会有莫名奇妙的链接错误!
![](http://writeblog.csdn.net/imgfiles/2004.12.23.14.26.26.10.gif)
9. 用上回学过的方法向工程中新建一个 C++ Source File(C++源文件),命名为 "dialog" ,向其中键入篇末附带的源程序。
10. 编译并执行!
OK ?
![](http://writeblog.csdn.net/imgfiles/2004.12.23.14.26.37.11.gif)
源程序:
/**********************************************/
/*★ 显示 Dialog Box 1999-04-10 前田 稔 ★*/
/**********************************************/
#include
#include "resource.h"
// 函数类型说明
LRESULT CALLBACK MainDialogProc( HWND, UINT, WPARAM, LPARAM );
// ★ Windows 主函数 ★
int APIENTRY WinMain( HINSTANCE hInstance, HINSTANCE hPrevInstance,
LPSTR lpCmdLine, int nCmdShow )
{
DialogBox(hInstance,MAKEINTRESOURCE(IDD_DIALOG1),NULL,(DLGPROC)MainDialogProc);
return TRUE;
}
// ★ Windows 事件处理 ★
LRESULT CALLBACK MainDialogProc(HWND hDlg,UINT message,WPARAM wParam,LPARAM lParam)
{
switch(message)
{
case WM_COMMAND:
if (LOWORD(wParam)==IDC_CLOSE) PostQuitMessage(0);
return TRUE;
break;
case WM_CLOSE:
EndDialog(hDlg, TRUE);
return TRUE;
break;
}
return FALSE;
}
相关文章推荐
- 如何在服务(Service)程序中显示对话框
- 如何显示浏览文件夹对话框
- 上传文件如何在打开对话框中只显示指定后缀的文件
- 如何在Bash Shell脚本中显示对话框
- 如何调用MFC dll 来显示其中的对话框
- MFC中如何显示颜色选择对话框
- 如何在选择地址的对话框里显示用户的简称
- 当用户点击Command Link后如何显示确认对话框?
- 如何在VBS脚本中显示“选择文件对话框”或“选择目录对话框”
- 如何显示Windows标准"运行"对话框
- 如何在对话框上显示一张图片
- VC 常见问题百问~确定应用程序的路径~~如何在对话框中显示一个位图?~~窗口重绘
- Java如何做到分页显示
- 如何让DEV跳出的“提示试用版”的对话框不再显示
- Win8通知对话框的显示的时间如何修改
- F5刷新网页时,出现了“如要再次显示该网页,web浏览器需要重新发送你以前提交的信息...要点击重试",如何不让出现这个对话框的解决方案
- How to show a modal dialog and modeless dialog using C++ - 如何用C++显示一个模态对话框和一个非模态对话框
- 如何通过网页的超连接,显示qq聊天对话框
- 如何打开文件对话框并将选择的文件显示在编辑框中?
- 如何个性控制对话框上的控件显示