VC中自己创建对话框的方法
这里讲在VC中丌需要打开MFC工程,通过代码直接创建一个对 话框,我看这个对话框比MFC的漂亮多了,而且要写会代码丌需要研 究MFC就直接开发新的工程. 先打开VC++ 6.0 版本, 第一步:创建一个工程名为:Main Dialog的Win32 Application。创建过程如下: 打开File菜单中New,选自Win32 Application,工程名 为:Main Dialog, 点击OK,再选自A simple Win32 application。 点击Finish,再点击OK.(见图1)
第二步:创建资源脚本。再打开File菜单中New,选自File选 项的Resource Script(就是资源脚本) ,文件名为Dialog,点击 OK。 (见图2)
第三步:插入对话框。刚才建立的脚本Dialog显示为Dialog.rc,就在Dialog.rc上面点击鼠标右键Insert(插入)Resource中选自插入Dialog(对话框),点击New(新建),这样对话框插入完毕。(见图3)
第四步:添加resource.h。我们把第四步插入的对话框ID改为 IDD_MAIN ,在FileView中有个Header Files的文件,上面点 击右键,选择Add Files to Folder...(添加文件到目录),弹出一个工 程目录窗口,中间找到resource.h,然后OK了(添加) 。 (见图4)
第五步:复制代码。双击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);
int APIENTRY WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR int { lpCmdLine, nCmdShow)
DialogBox(hInstance,MAKEINTRESOURCE(IDD_MAIN),NUL L,Main_Proc); return 0; }
BOOL WINAPI Main_Proc(HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam) { switch(uMsg) { HANDLE_MSG(hWnd, Main_OnInitDialog); HANDLE_MSG(hWnd, Main_OnCommand); HANDLE_MSG(hWnd,WM_CLOSE, Main_OnClose); WM_COMMAND, WM_INITDIALOG,
} 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: you build
break; } }
void Main_OnClose(HWND hwnd) { EndDialog(hwnd, 0); }
执行以后的对话框图(见图6)
是丌是比MFC的漂亮!这对话框的缺点就是弹出时丌是出现在显示器中间而老是出在显示器左上角,我丌知道怎么调整,可定有办法把它显示在中间,有人知道解决的技巧,请教一下,我对他必有回报,我自己知道的一些会献给他!