用VS制作对话框向导Word格式文档下载.docx

上传人:b****3 文档编号:6839186 上传时间:2023-05-07 格式:DOCX 页数:31 大小:28.77KB
下载 相关 举报
用VS制作对话框向导Word格式文档下载.docx_第1页
第1页 / 共31页
用VS制作对话框向导Word格式文档下载.docx_第2页
第2页 / 共31页
用VS制作对话框向导Word格式文档下载.docx_第3页
第3页 / 共31页
用VS制作对话框向导Word格式文档下载.docx_第4页
第4页 / 共31页
用VS制作对话框向导Word格式文档下载.docx_第5页
第5页 / 共31页
用VS制作对话框向导Word格式文档下载.docx_第6页
第6页 / 共31页
用VS制作对话框向导Word格式文档下载.docx_第7页
第7页 / 共31页
用VS制作对话框向导Word格式文档下载.docx_第8页
第8页 / 共31页
用VS制作对话框向导Word格式文档下载.docx_第9页
第9页 / 共31页
用VS制作对话框向导Word格式文档下载.docx_第10页
第10页 / 共31页
用VS制作对话框向导Word格式文档下载.docx_第11页
第11页 / 共31页
用VS制作对话框向导Word格式文档下载.docx_第12页
第12页 / 共31页
用VS制作对话框向导Word格式文档下载.docx_第13页
第13页 / 共31页
用VS制作对话框向导Word格式文档下载.docx_第14页
第14页 / 共31页
用VS制作对话框向导Word格式文档下载.docx_第15页
第15页 / 共31页
用VS制作对话框向导Word格式文档下载.docx_第16页
第16页 / 共31页
用VS制作对话框向导Word格式文档下载.docx_第17页
第17页 / 共31页
用VS制作对话框向导Word格式文档下载.docx_第18页
第18页 / 共31页
用VS制作对话框向导Word格式文档下载.docx_第19页
第19页 / 共31页
用VS制作对话框向导Word格式文档下载.docx_第20页
第20页 / 共31页
亲,该文档总共31页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

用VS制作对话框向导Word格式文档下载.docx

《用VS制作对话框向导Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《用VS制作对话框向导Word格式文档下载.docx(31页珍藏版)》请在冰点文库上搜索。

用VS制作对话框向导Word格式文档下载.docx

向导说明。

”这个需要在vsdir文件修改。

打开DialogBasedApplication.vsdir文件,只有简单的一行:

DialogBasedApplication.vsz||DialogBasedApplication|1|TODO:

向导说明。

||6777||DialogBasedApplication

大家一定看到了“TODO:

”这句话吧,我先来修改这句话,改成“DialogBasedApplication.By&

lt;

Rover12421&

gt;

”。

保存,然后新建项目选择我们刚才创建的向导,是不是已经改过来了?

如果以前创建过,可能这里并不能看出来。

关于vsdir文件,大家也可以参考MSDN,下面贴下MSDN上的一些说明,大家看看就行了。

可为VSDir文件中的每个记录指定下列字段:

字段

含义

 

RelPathName

必需。

向导的.vsz文件的名称(如MyWizard.vsz),此文件与VisualStudio安装目录有关。

{clsidPackage}

可选。

表示产品的GUID,该产品(如VisualC++)带有的DLL中包含本地化资源。

通常,对于符合第三方向导的VSDir文件,此字段为空。

LocalizedName

这是向导或模板的可本地化的名称以及出现在“添加项”对话框中的名称。

它可以是字符串或#ResID形式的资源标识符。

SortPriority

表示向导的排序顺序和相对优先级的整数,1为最高。

例如,如果此项为“1”,那么它出现在其他1之后和所有2或更低级别之前。

说明

当选定项后,将在“添加项”对话框中显示的模板或向导的可本地化说明。

仅应用于模板文件,不应用于文件夹。

DLLPath或{clsidPackage}

指定到DLL或EXE文件的完整路径,或产品的GUID,该产品所带的.dll文件包含要为向导加载的图标。

该图标使用给定的IconResourceId作为DLL/EXE文件外部的资源加载。

此设置重写图标位置的{clsidPackage}(如果已指定)。

IconResourceId

DLL文件内确定要显示的图标的资源标识符。

如果未定义图标,环境用默认图标替代与该项具有相同扩展名的文件。

Flags

请参见下面的Flags说明和表。

SuggestedBaseName

在对话框的“名称”字段中显示的向导的默认名称。

它是字符串或#ResID形式的资源标识符。

如果该名称不是唯一的,那么环境将为该名称追加一个整数。

例如,MyFile.aspx可能更改为MyFile1.aspx。

如果未提供名称,那么使用“Project”。

说明任何没有有含义的数据的非必选字段应包含零(0)作为占位符。

如果未提供本地化名称,则使用相对路径。

如果未定义图标,则IDE用该扩展名替换文件的默认图标。

如果未提供建议的基名称,则使用“Project”。

Flags

一组用于启用或禁用“添加项”对话框中的“名称”和“位置”字段的位标志。

也就是说,当用户从“添加”菜单中选择“添加新项”时,项目将决定名称和位置是否显示在“模板”窗格上,而标志将决定名称和位置是否可由用户使用。

将Flags的值设置为各个值的和。

即33等于VSDIRFLAG_NonLocalTemplate|VSDIRITEM_DisableLocationField。

标志名称十进制值DescriptionVSDIRFLAG_NonLocalTemplate1使用非本地用户界面行为和保存机制。

VSDIRFLAG_BlankSolution2创建空白(空)解决方案。

不创建项目。

VSDIRFLAG_DisableBrowseButton4对此项目或项禁用“浏览”按钮。

VSDIRFLAG_DontAddDefExtension8不将默认扩展名追加到为项提供的名称中。

(此设置对项目无效。

)VSDIRFLAG_DisableLocationField32禁用此项目或项的位置字段。

VSDIRFLAG_DontInitNameField4096不用有效的名称初始化此项目或项的名称字段。

VSDIRFLAG_DisableNameField8192禁用此项目或项的名称字段。

接着说下Default.js,具体也参考MSDN

默认情况下,项目的Default.js文件包含以下函数:

AddConfig

添加项目的配置。

可以提供编译器和链接器设置。

AddFilesToCustomProj

当用户单击“完成”时,将指定的文件添加到项目中。

AddFilters

当用户单击“完成”时,将指定的源筛选器添加到项目中。

CreateCustomProject

当用户单击“完成”时,在指定位置创建项目。

CreateCustomInfFile

创建项目的Templates.inf文件。

DelFile

删除指定的文件。

GetTargetName

获取指定文件的名称。

OnFinish

当用户单击“完成”时,由向导调用以创建项目、添加文件和筛选器、呈现模板以及设置配置。

PchSettings

设置预编译头设置。

有关更多信息,请参见Common.js参考中的SetCommonPchSettings。

下节我们只需要修改AddFilters函数,来把文件分别添加到源文件,头文件和资源文件里。

还需要修改GetTargetName函数,用来修改项目的文件名,使每次创建的项目的文件名都不一样。

差不多了解这些就行。

第三步,制作对话框向导

这步就是让大家制作功能完善的自定义向导。

首先我们把第一节中制作的Win32DLG对话框项目的文件拷贝到自定义向导中。

下载(41.33KB)

2010-2-813:

15

打开Win32DLG项目目录,选择所有的头文件,源文件和资源文件,拷贝到向导项目下的\Templates\2052下面.

下载(48.14KB)

然后在“模板文件”上点“右键--添加现有项”,把刚刚拷贝到\Templates\2052下的几个文件全部添加进来。

下载(34.54KB)

再打开Templates.inf文件,把添加的文件的文件名全部写到里面。

为什么要写着里呢?

这是我们使用向导新建项目所需要的文件,default.js通过调用AddFilesToCustomProj函数,把写在Templates.inf中的文件拷贝到新建的项目文件夹里。

下载(57.36KB)

现在我们来修改default.js文件。

找到GetTargetName函数,修改它。

修改后的代码:

1.

2.functionGetTargetName(strName,strProjectName)

3.{

4.try

5.{

6.//TODO:

基于模板文件名设置呈现文件的名称

7.varstrTarget=strName;

8.if(strName=='

readme.txt'

9.strTarget='

ReadMe.txt'

;

10.if(strName=='

sample.txt'

11.strTarget='

Sample.txt'

12.if(strName=='

Win32DLG.cpp'

13.strTarget=strProjectName+'

.cpp'

14.if(strName=='

Win32DLG.h'

15.strTarget=strProjectName+'

.h'

16.if(strName=='

Win32DLG.ico'

17.strTarget=strProjectName+'

.ico'

18.if(strName=='

Win32DLG.rc'

19.strTarget=strProjectName+'

.rc'

20.returnstrTarget;

21.}

22.catch(e)

23.{

24.throwe;

25.}

26.}

functionGetTargetName(strName,strProjectName)

{

try

{

//TODO:

基于模板文件名设置呈现文件的名称

varstrTarget=strName;

if(strName=='

strTarget='

strTarget=strProjectName+'

returnstrTarget;

}

catch(e)

throwe;

}

我们添加了4个if语句,用来把原来的文件名改成“新建的项目名”+扩展名。

这个规则可以自定义,但是一定要和后面的更改一致。

说下这个函数的两个参数,strName就是传进来的文件名,strProjectName就是传进来的项目名。

接着往上找到AddFilters函数,修改如下:

2.functionAddFilters(proj)

6.//将文件夹添加到项目

7.//varstrSrcFilter=wizard.FindSymbol('

SOURCE_FILTER'

);

8.//vargroup=proj.Object.AddFilter('

源文件'

9.//group.Filter=strSrcFilter;

10.proj.Object.AddFilter('

).Filter='

cpp;

c'

11.proj.Object.AddFilter('

头文件'

hpp;

h'

12.proj.Object.AddFilter('

资源文件'

ico;

rc;

bin'

13.}

14.catch(e)

15.{

16.throwe;

17.}

18.}

functionAddFilters(proj)

//将文件夹添加到项目

//varstrSrcFilter=wizard.FindSymbol('

//vargroup=proj.Object.AddFilter('

//group.Filter=strSrcFilter;

proj.Object.AddFilter('

}AddFilter('

'

),是我们要添加到项目中显示的那个目录里面,比如源文件、SourceFile,可以自定义,但最好写成相对应的中文或英文,Filter后面的就是判断的扩展名。

差不多这样就修改完成了。

可以先新建一个项目看看,看起来会没什么问题,但是编译会出错,这很正常,因为我们还有几个地方需要做小小的修改。

我们需要把所有老的项目名命名的地方全部改成新建的项目名,用到就是[!

outputPROJECT_NAME]。

一共有两个文件,一个是Win32DLG.cpp,一个是Win32DLG.rc

打开Win32DLG.cpp,找到#include"

Win32DLG.h"

,修改成

#include"

[!

outputPROJECT_NAME].h"

Win32DLG.rc是资源文件,不能直接双击编辑,要在上面点“右键,查看代码”。

下载(22.22KB)

15找到

IDI_WIN32DLGICON"

Win32DLG.ico"

修改成

outputPROJECT_NAME].ico"

还有一处

IDS_APP_TITLE"

Win32DLG"

IDC_WIN32DLG"

WIN32DLG"

对应的修改成

outputPROJECT_NAME]"

这样保存之后这个向导就算完成了。

大家可以自己用这个向导生成试试。

下一节讲讲怎么把这个向导给别人使用。

1.制作一个DialogBasedApplication(对话框应用程序)程序。

下载(60.32KB)

2010-2-809:

26

新建一个Win32项目,配置使用默认的就行。

我新建的项目是Win32DLG。

先看下这个项目有哪些文件

下载(18.1KB)

一共是10个文件。

首先我们需要修改的是资源文件----Win32DLG.rc。

这里的修改很简单。

新建一个Dialog对话框资源或直接修改现有的ABOUT对话框资源也行。

我用的新建。

在Dialog上点右键,插入Dialog.

下载(49.11KB)

默认的界面如下。

我们只保留一个确定按钮。

调整界面大小,标题,风格等等,这些很容易就不说了。

相信大家都会。

下载(13.05KB)

我修改的如下,并修改确认按钮的ID为IDC_OK。

主界面的ID为IDD_Main.

下载(10.63KB)

接着删除无用的资源IDD_ABOUTBOX和IDC_WIN32DLG

下载(18.41KB)

下载(13.35KB)

界面就修改好了。

接着就是重点,修改Win32DLG.cpp文件。

除了包含的头文件和WinMain函数,其他全部删除。

WinMain函数里也只保留前两句,和return。

并把“return(int)msg.wParam;

”修改成“return0;

下载(46.25KB)

然后在WinMain函数里添加一条DialogBox,来显示我们的主界面

DialogBox(hInstance,MAKEINTRESOURCE(IDD_Main),NULL,WinProc);

再在后面添加主界面的处理函数WinProc,以及主界面的载入和关闭事件函数Main_OnInitDialog,Main_OnClose,和OnCommand事件函数Main_OnCommand。

完成的Win32DLG.cpp代码如下

2.//Win32DLG.cpp:

定义应用程序的入口点。

3.//

4.#include"

stdafx.h"

5.#include"

6.intAPIENTRY_tWinMain(HINSTANCEhInstance,

7.HINSTANCEhPrevInstance,

8.LPTSTRlpCmdLine,

9.intnCmdShow)

10.{

11.UNREFERENCED_PARAMETER(hPrevInstance);

12.UNREFERENCED_PARAMETER(lpCmdLine);

13.DialogBox(hInstance,MAKEINTRESOURCE(IDD_Main),NULL,WinProc);

14.return0;

15.}

16.BOOLWINAPIWinProc(HWNDhWnd,UINTuMsg,WPARAMwParam,LPARAMlParam)

17.{

18.switch(uMsg)

19.{

20.HANDLE_MSG(hWnd,WM_INITDIALOG,Main_OnInitDialog);

21.HANDLE_MSG(hWnd,WM_COMMAND,Main_OnCommand);

22.HANDLE_MSG(hWnd,WM_CLOSE,Main_OnClose);

23.}

24.returnFALSE;

26.BOOLMain_OnInitDialog(HWNDhwnd,HWNDhwndFocus,LPARAMlParam)

27.{

28.returnTRUE;

29.}

30.voidMain_OnCommand(HWNDhwnd,intid,HWNDhwndCtl,UINTcodeNotify)

31.{

32.switch(id)

33.{

34.caseIDC_OK:

35.{

36.MessageBox(hwnd,_T("

HelloWorld"

),_T("

OK"

),MB_OK);

37.}

38.break;

39.default:

40.break;

41.}

42.}

43.voidMain_OnClose(HWNDhwnd)

44.{

45.EndDialog(hwnd,0);

46.}

//Win32DLG.cpp:

//

intAPIENTRY_tWinMain(HINSTANCEhInstance,

HINSTANCEhPrevInstance,

LPTSTRlpCmdLine,

intnCmdShow)

UNREFERENCED_PARAMETER(hPrevInstance);

UNREFERENCED_PARAMETER(lpCmdLine);

DialogBox(hInstance,MAKEINTRESOURCE(IDD_Main),NULL,WinProc);

return0;

BOOLWINAPIWinProc(HWNDhWnd,UINTuMsg,WPARAMwParam,LPARAMlParam)

switch(uMsg)

HANDLE_MSG(hWnd,WM_INITDIALOG,Main_OnInitDialog);

HANDLE_MSG(hWnd,WM_COMMAND,Main_OnCommand);

HANDLE_MSG(hWnd,WM_CLOSE,Main_OnClose);

returnFALSE;

BOOLMain_OnInitDialog(HWNDhwnd,HWNDhwndFocus,LPARAMlParam)

returnTRUE;

voidMain_OnCommand(HWNDhwnd,intid,HWNDhwndCtl,UINTcodeNotify)

switch(id)

caseIDC_OK:

MessageBox(hwnd,_T("

break;

default:

voidMain_OnClose(HWNDhwnd)

EndDialog(hwnd,0);

}主要的函数都写好了,按钮的事件也添加到Main_OnCommand里了。

现在就是要处理头文件。

打开Win32DLG.h头文件,添加函数声明。

先看看我们在Win3

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 外语学习 > 日语学习

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2