曲径通幽—关于Visual Stdio 自定义向导框的构建(1)

本文详细介绍了如何在VC++6.0中构建一个WIN32应用的自定义向导框。首先,通过【File】—【New】建立工程,选择【Win32 Application】并设置工程名。接着,创建可视化对话框窗口资源,插入新的Dialog,并设置其ID。然后,编辑cpp文件,添加代码以显示对话框,并定义Main_Proc、Main_OnInitDialog、Main_OnCommand和Main_OnClose等关键函数。最后,为确保函数正确调用,编辑头文件进行函数声明。
摘要由CSDN通过智能技术生成

1.建立WIN32 工程

打开VC++6.0,依次选择【File】—【New

在弹出窗口选择【Projects】选项卡左侧选择【Win32 Application】,右侧【Project name】框中输入工程名DQ_Frame_App,【Location】框中选择储存路径,点击【OK】。在弹出菜单选择【A simple win32 application】,然后点击【Finish】。

 

接着点击【OK

 

2.创建可视化对话框窗口资源

依次选择【File】—【New】,在弹出窗口选择【Files】选项卡,左侧选择【Resource Script】,右侧选中【Add to project】框,【File】中输入资源名DQ_Resoure,【Location】框中选择储存路径,点击【OK】。

 

VC窗口编辑区可看见DQ_Resoure,右键选择【Insert】,

 

 

 

在弹出对话框中选择【Dialog】,点击【New

在绘制对话框右键选择【Properties】。

 

 

 

在弹出框中更改【ID】为IDD_DQ

然后回车,保存文件。

3.编辑cpp 文件定制个性模板

首先在工作区【FileView】选项卡中双击【DQ_Frame_App.cpp】文件编辑,可以看到如下字段

#include "stdafx.h"

int APIENTRY WinMain( HINSTANCE hInstance,

HINSTANCE hPrevInstance,

LPSTR lpCmdLine,

int nCmdShow)

{

// TODO: Place code here.

return 0;

}

要在程序运行时显示创建的对话框,还需将如下字段添加到WinMain 函数return 语句之前:

DialogBox(hInstance, MAKEINTRESOURCE(IDD_DQ), NULL, Main_Proc);

这儿的IDD_DQ 为前面设置的创建对话框资源Dialog ID

注意:要使用创建的自定义资源,需要将创建过程生成的DQ_Resource.h 引入(直接使用会报错),所以还需要在文件头部添加如下代码:

#include “DQ_Resource.h”

同时还要添加主窗口函数Main_Proc,以及初始化函Main_OnInitDialog,退出函数Main_OnClose,和按钮事件响应函数Main_OnCommand。各函数定义如下:

//初始化处理函数

BOOL Main_OnInitDialog(HWND hwnd, HWND hwndFocus, LPARAM lParam)

{

return TRUE;

}

//按钮动作响应函数

void Main_OnCommand(HWND hwnd, int id, HWND hwndCtl, UINT codeNotify)

{

             

}

//退出信息处理函数

void Main_OnClose(HWND hwnd)

{

EndDialog(hwnd, 0);

}

//主窗口信息处理函数

//WM_COMMAND ‐ 处理应用程序菜单;

//WM_PAINT ‐ 绘制主窗口;

//WM_DESTORY ‐ 发送退出信息并返回

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;

}

注意:因为Main_Proc 函数中使用了消息分流器HANDLE_MSG,此宏定义在windowsx.h中,所以要在文件头部添加:

#include <windowsx.h>

4.编辑头文件

实现函数声明,若上述四个函数顺序是Main_OnInitDialogMain_OnCommandMain_OnClose 三个函数在Main_Proc 之前,且这四个函数在WinMain 之前可以跳过此步骤因为语言函数必须先声明再使用,除非被调函数在主调函数前面!

新建DQ_Dialog.h 并添加到工程,在文件中添加如下字段声明函数:

 

 

 

//函数声明

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);

同时在【工程名.cpp】头部添加:

#include "DQ_Dialog.h"

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值