VC 中自己创建对话框的方法
这里讲在 VC 中不需要打开 MFC 工程,通过代码直接创建一个对话 工程,通过代码直接创建一个对话 的漂亮多了,而且要写会代码 要写会代码不需要研究 框,我看这个对话框比 MFC 的漂亮多了,而且要写会代码不需要研究 就直接开发新的工程. MFC 就直接开发新的工程. 先 打 开 VC++ 6.0 版 本 , 第 一 步 : 创 建 一 个 工 程 名 为 :Main Application。创建过程如下: Dialog 的 Win32 Application。创建过程如下: 打开 File 菜单中 New, 菜单中 New, 选自 Win32 Application,工程名为:Main Application,工程名为:Main 工程名为 Dialog, 点击 OK,再选自 A simple Win32 application。 OK, application。 Dialog, 点击 Finish, OK.( 再点击 OK.(见图 1)
第二步 创建资源脚本。 New, 第二步:创建资源脚本。再打开 File 菜单中 New,选自 File 选 Script(就是资源脚本) 文件名为 Dialog, OK。 项的 Resource Script(就是资源脚本) 文件名为 Dialog,点击 OK。 , (见图 2)
第三步 插入对话框。 刚才建立的脚本 Dialog 显示为 Dialog.rc, 第三步:插入对话框。 就在 Dialog.rc 上面点击鼠标右键 Insert(插入)Resource 中选自 Insert(插入) Dialog(对话框) New(新建) 这样对话框插入完毕。 ,这样对话框插入完毕 ( (见 插入 Dialog(对话框) 点击 New(新建) 这样对话框插入完毕。 见 , , 图 3)
第四步 resource.h。 第四步插入的 插入的对话框 第四步:添加 resource.h。我们把第四步插入的对话框 ID 改为 IDD_MAIN ,在 FileView 中有个 Header Files 的文件,上面点击右 FileView Files 的文件,上面点击右 点击 Folder... 添加文件到目录),弹出一个 ...( ),弹出一个工程 键,选择 Add Files to Folder...(添加文件到目录),弹出一个工程 目录窗口, resource.h, 添加)(见图 目录窗口,中间找到 resource.h,然后 OK 了(添加)(见图 4) 。
第五步 复制代码。 Dialog.cpp,我们写代码的位置 第五步:复制代码。双击 Main Dialog.cpp,我们写代码的位置 代码 出现了( 出现了(见图 5) 那里有几行代码,把它们全部删掉,下面已经准 ,那里有几行代码,把它们全部删掉, 备好的代码全部复制到那里,编译,执行,您的是否成功了? 备好的代码全部复制到那里,编译,执行,您的是否成功了? 成功了
#include "stdafx.h" #include "resource.h"
#include
BOOL
WINAPI
Main_Proc(HWND
hWnd,UINT
uMsg,WPARAM
wParam,LPARAM lParam); BOOL Main_OnInitDialog(HWND hwnd,HWND hwndFocus,LPARAM lParam); void Main_OnCommand(HWND hwnd,int id,HWND hwndCtl, UINT codeNotify); void Main_OnClose(HWND hwnd);
APIENTRY int APIENTRY WinMain(HINSTANCE hInstance,
HINSTANCE hPrevInstance, LPSTR int { lpCmdLine, nCmdShow)
DialogBox(hInstanc
e,MAKEINTRESOURCE(IDD_MAIN),NULL,Main_Pr oc); return 0; }
BOOL WINAPI Main_Proc(HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam) { switch(uMsg) { HANDLE_MSG(hWnd, WM_INITDIALOG, Main_OnInitDialog); HANDLE_MSG(hWnd, WM_COMMAND, Main_OnCommand); HANDLE_MSG(hWnd,WM_CLOSE, Main_OnClose); } return FALSE; }
BOOL Main_OnInitDialog(HWND hwnd, HWND hwndFocus, LPARAM lParam) { return TRUE; }
void Main_OnCommand(HWND hwnd, int id, HWND hwndCtl, UINT codeNotify) { switch(id) { case IDOK: { MessageBox(hwnd,TEXT("Thank me!"),TEXT("Happy"),MB_OK); } break; default: break; } } you build
void Main_OnClose(HWND hwnd) { EndDialog(hwnd, 0); }
执行以后的对话框图(见图 6) 执行以后的对话框图(
的漂亮! 是不是比 MFC 的漂亮! 这对话框的缺点就是弹出时不是出现在显示器 中间而老是出在显示器左上角, 我不知道怎么调整, 可定有办法把它 中间而老是出在显示器左上角, 我不知道怎么调整, 显示在中间,有人知道解决的技巧,请教一下,我对他必有回报, 显示在中间,有人知道解决的技巧,请教一下,我对他必有回报,我 自己知道的一些会献给他! 自己知道的一些会献给他!