vc6.0程序界面实现XP风格方法

合集下载

VC++6.0使用方法(精品简约)

VC++6.0使用方法(精品简约)

第一部分C语言编程环境简介第1章计算机程序设计实验的一般步骤1.1 计算机程序设计实验的目的C语言程序设计是一门实践性很强的课程,该课程的学习有其自身的特点,学习者必须通过大量的编程训练,在实践中掌握程序设计语言,培养程序设计的基本能力,并逐步理解和掌握程序设计的思想和方法。

具体的说,通过上机实践,应该达到以下几点要求:1.使学习者能很好地掌握一种程序设计开发环境的基本操作方法(例如(Visual C++6.0),掌握应用程序开发的一般步骤。

2.在程序设计和调试程序的过程中,可以帮助学习者进一步理解教材中各章节的主要知识点,特别是一些语法规则的理解和运用,程序设计中的常用算法和构造及应用,也就是所谓“在编程中学习编程”。

3.通过上机实践,提高程序分析、程序设计和程序调试的能力。

程序调试是一个程序员最基本的技能,不会调试程序的程序员就意味着他即使会一门语言,却不能编制出任何好的软件。

通过不断的积累经验,摸索各种比较常用的技巧,可以提高编程的效率和程序代码的质量。

下面介绍计算机程序设计实验的一般步骤:1.2 计算机程序设计实验的准备上机前需要做好如下准备工作,以提高上机编程的效率。

(1)在计算机上安装一种程序设计开发工具,并学会基本的操作方法。

(2)复习与本次实验相关的教学内容和主要知识点。

(3)准备好编程题程序流程图和全部源程序代码,并且先进行人工检查。

(4)对程序中有疑问的地方做出标记,充分估计程序运行中可能出现的问题,以便在程序调试过程中给予关注。

(5)准备好运行和调试程序所需的数据。

1.3 计算机程序设计实验的步骤(1)运行程序设计开发工具,进入程序设计开发环境。

(2)新建一个文件,输入准备好的程序。

(3)不要立即进行编译和连接,应该首先仔细检查刚刚输入的程序,如有错误及时改正,保存文件后再进行编译和连接。

(4)如果在编译和连接的过程中发现错误,根据系统的提示找出出错语句的位置和原因,改正后再进行编译和连接。

vc 6.0的使用技巧

vc 6.0的使用技巧

介绍VC6.0的18个实用小技巧VC 用的太熟的一个后果是看到有人用UltraEdit写VC程序时觉得不可理解。

另一个后遗症是,我很喜欢用快捷键,熟悉了VC的这套快捷键后,用其他软件的时候,如果快捷键设置和VC的习惯设置冲突就觉得很难受。

比如说SoftIce,很久以前就开始用,至今还没习惯。

下面说说我在使用VC IDE时经常用到的一些快捷键。

CTRL+TAB:在IDE打开的文件间切换。

我喜欢在IDE里同时打开很多文件,用CTRL+TAB来回切换,浏览代码很方便。

LEO的习惯跟我相反,他看完一个文件后会顺手把文件关掉。

有一次他看到我的IDE里居然开了几十个文件,惊讶坏了,呵呵。

CTRL+SHIFT+SPACE:快速查看函数声明。

有了这个以后查MSDN的次数大大减少。

CTRL+]:快速定位{}。

看代码时常用,另外用来检查大括号是否配对很方便。

相比之下page up/page down用的比较少,因为老是觉得这个定位代码不够精确。

CTRL+SHFT+]:选中大括号之间的代码。

代码段拷贝的时候常用。

在一次移植一段C 程序到C++程序时学会的。

F12:快速定位到宏/变量/函数的定义。

VC6第一次用要先生成BROWSE INFO,速度比较慢,VS2003可以直接定位。

ALT+F8:格式化代码。

常和CTRL+A或者CTRL+SHIFT+]连用。

我看到格式不整齐的代码时会很难受。

CTRL+X, CTRL+C, CTRL+V:有时候跟别人开玩笑说,其实编程挺简单的,会CTRL+C/CTRL+V就行。

CTRL+Z, CTRL+Y:UNDO, REDO。

修改代码时常用。

CTRL+F2, F2:设置、查看书签。

在VS2003中一度习惯了CTRL+K, K/CTRL+K/N, CTRL+K/P的组合,后来由于来回在VC6、VS2003之间切换,还是觉得统一用CTRL+F2, F2比较好。

ALT+-->, ALT+<--:光标移到下个单词。

Visual C++6.0使用简介

Visual C++6.0使用简介

Visual C++6.0使用简介Visual C++6.0集成环境有良好的界面并支持汉字系统,该环境支持C语言程序的编译、链接、运行与调试。

下面简要介绍Visual C++6.0环境下C语言程序的操作方法。

1.Visual C++6.0的启动双击桌面上的Visual C++6.0快捷方式,或通过执行“开始——程序——Microsoft visual studio 6.0——Microsoft visual C++6.0”,或执行文件“C:\Program files\Microsoft visual studio\COMMON\MSDev98\Bin\MSDEV.EXE”进入Visual C++6.0。

其工作界面如图所示,该窗口大体上可分为四部分:上部为菜单和工具栏;中左部分为工作区(Workspace)显示窗口这里将显示处理过程中与项目相关的各种文件种类等信息;中右部为编辑区,是显示和编程序文件的操作区;下部为输出(Output)窗口区,程序调试过程中,进行编译、链接、运行时输出的相关信息将在此处显示。

2.建立一个C语言程序单击“文件”菜单中的“新建”命令。

在打开的“新建”对话框中选择“文件”选项卡。

选择“C++ Source File”,并设置文件保存位置,然后在“文件”文本框中输入文件名,如图所示:单击OK按钮,打开Visual C++6.0的主窗口,如图所示:3.0输入源程序在主窗口编辑区输入源程序并保存。

注意,如果给文件名加上扩展名为“.c”,表示是C 源程序,如果扩展名为“.cpp”,则表示是C++源程序。

4.0编译源程序选择Build----Compile或单击工具栏上的相应快捷按钮后,弹出对话框提示是否建立一个默认的项目工作区,选择“是”,开始编译。

编译完成,Visual C++6.0的输出框中输出相关信息,如果程序中有错误,会输出相应的错误提示。

若编译有错误,双击提示的错误信息,在源程序的错误行前会出现标记。

XP风格打开文件对话框

XP风格打开文件对话框
在2000和XP中,OPENFILENAME结构新增加了数据成员.如果用的是老版本的windows头文件,编译的时候便是原来的结构大小,如果是win2000以后的头文件,使用的结构的大小就变大了.而MFC不知道新的结构成员的存在,所以MFC程序编译时,size还是老的大小,打开的还是老式的对话框.
三。直接使用API函数GetOpenFileName
CFileDialog也是调用的SDK中的GetOpenFileName API函数,可以直接设置它的Flags,这个我未试过,请参考MSDN。
四。派生CFileDialog类
这个解决方案来自MSDN,/zh-cn/magazine/cc301412(en-us).aspx
LPCTSTR lpszFileName = NULL,
DWORD dwFlags = OFN_HIDEREADONLY | OFN_OVERWRITEPROMPT,
LPCTSTR lpszFilter = NULL,
目前,在VC6.0中, 我知道有四种方法可以实现调用XP风格通用文件对话框:
一。设置CFileDialog的 m_ofn 成员变量的 lStructSize 值
CFileDialog dlg(TRUE);
dlg.m_ofn.lStructSize = 88;//76将是win98风格
使用MFC开发时,MFC提供的CFileDialg类进行选择文件时,打开的对话框是98风格的,新的XP风格左边有一个包含”我的电脑”"我的文档”等的快捷选项,用起来比较方便.使用下面的代码可以实现在使用MFC进行开发时使用XP风格的打开文件对话框:
CString OpenFileXPStyle()

用VC6.0编写Word插件(Office2K、XP、03)

用VC6.0编写Word插件(Office2K、XP、03)

用VC6.0编写Wo rd插件(O ffi ce2K、XP、03)作者:hjp hy源代码下载最近因为工作的需要,学习了一下Off ic e插件的编写方法。

在走了不少弯路以后,最后终于把编写插件的原理给搞清楚了,不敢独享,拿出来跟大家共享一下。

下面就以Word 2003为例,向大家简单介绍一下。

第一步,利用向导生成一个AT L COM App Wiz ard的新工程。

图1在向导的第一个对话框中,服务器类型选择Dy na mi c Li nk Li bra ry(DLL),然后单击Fi nish即可。

图2然后,选取菜单Ins ert->N ew AT L Ob je ct项,在弹出的AT L对象向导对话框中选中相应O bj ect s对应右侧的Sim p le Ob j ect 选项,点击下一步。

图3在弹出的对话框中Sho rt Nam e中输入相应名称,点确定完成插入AT L对象。

图4这样一个简单的基于AT L的COM组件工程就建立成功了。

第二步,通过导入类型库来实现_IDT E xt ens ibi l it y2接口。

在C l assVi ew中的新加的类上点鼠标右键,在弹出的右键菜单中选Imp l em ent Int erf ac e项。

图5在弹出的实现接口对话框中点击Ad d T y p elib图6在弹出的Br owse T y p e L ibr ar ies对话框中,选取M ic rosoft Ad d-in D esi gne r(1.0)子项,点OK按钮图7在弹出的接口列表对话框中选中_IDT E xt ens ibi l it y2接口,点OK按钮完成导入这样的话,系统将会自动为你生成空的五个所需接口函数,分别是On Con ne ct ion、OnD isco nn ect i on、O nAddI nsUp dat e、OnSt a rt up Comp let e、On Be gin Shut down。

VisualC++6.0Windows应用程序开发

VisualC++6.0Windows应用程序开发

VisualC++6.0Windows应⽤程序开发Visual C++6.0Windows应⽤程序开发1.Visual C++6.0的特点Visual C++6.0开发环境是由在Win32环境下运⾏的⼀套集成开发⼯具所组成,包括⽂本编辑器(Text Editor),资源编辑器(Resource Editor),项⽬建⽴⼯具(Project build Facilities),优化编辑器(Optimizing Compiler),增量连接器(Incremental Linker),源代码浏览器(Source code Browser),集成调试器(Integrated Debugger)等。

在Visual C++6.0中可以使⽤各种向导(Wizards),MFC(Microsoft Foundation Class Library)和活动模板库(Active Template Library或ATL)来开发Windows应⽤程序。

向导实质上是⼀种计算机辅助程序设计,⽤于帮助⽤户⾃动⽣成各种不同类型应⽤程序风格的基本框架。

2.Visual C++Windows应⽤程序的开发本节将介绍使⽤MFC(Microsoft Foundation Class Library)来开发Windows应⽤程序。

MFC是各种类结合起来构成的⼀个应⽤程序框架,它的⽬的就是让程序员在此基础上来建⽴Windows下的应⽤程序。

因为总体上,MFC框架定义了应⽤程序的轮廓,并提供了⽤户接⼝的标准实现⽅法,程序员所要做的就是通过预定义的接⼝把具体应⽤程序特有的东西填⼊这个轮廓,从⽽⼤⼤减轻了开发者的⼯作量。

下⾯将简单介绍基于MFC的应⽤程序开发。

2.1新建⼀个⼯程2.1.1启动Visual C++6.0。

[开始]---[程序]---[Microsoft Visual Studio6.0]—[Microsoft Visual C++6.0].2.1.2从[⽂件](File)菜单中选[新建](New)。

VC++ 6.0集成开发环境使用方法简介

VC++ 6.0集成开发环境使用方法简介

VC++ 6.0集成开发环境使用方法简介本书涉及的C或C++语言源程序,均在Visual C++ 6.0(后简称VC6)开发环境中进行编制和调试。

这里将简要介绍VC6集成开发环境的使用和调试方法。

一.VC6的用户界面介绍双击安装好的VC6图标后,可以看到如附图A.1所示的界面,此时VC6处于编辑状态。

附图A.1 VC++ 6.0编辑状态的用户界面其中菜单栏集成了VC6的各种命令、功能和设置;工具栏则将最常用的命令、功能和设置直接用图标的形式给出,方便用户使用;“Workspace”子窗口(工作空间子窗口)可以把VC6工程中使用的各种类和文件按树形结构来浏览;文件子窗口则用来具体显示和编辑VC6工程所用到的文件,比如C++源文件、头文件等;输出子窗口用来显示编译、连接或者搜索等操作的结果。

二.VC 6集成开发环境的使用简介(1)创建VC6工程要使用VC6来编译一个C或者C++源文件,必须把这个文件插入一个VC6工程中,因此,先介绍VC6工程的创建步骤:①点击“File”菜单,选择“New…”菜单项,弹出“New”窗口;②切换“New”窗口选项卡为“Projects”,选择“Win32 Console Application”(Win32控制台应用程序),本书只使用这类工程即可;③在“Location:”下的文本框内填入工程保存的文件夹位置,也可以点其右侧的“…”按钮来定位文件夹;④在“Project name:”下的文本框内填入工程的名称,例如Prj1。

其它设置不用更改;⑤点“OK”后,出现“Win32 Console Application”设置向导窗口,选“An empty project”,点“Finish”,再点“OK”后,工程创建结束。

这时,一个空的Win32 Console Application工程就创建好了。

此时,“Workspace”子窗口就会显出“ClassView”(类浏览)和“FileView”(文件浏览)两个选项卡。

VC++6.0操作简介

VC++6.0操作简介

VC++6.0操作简介一、 VC++6.0VC++6.0二、 VC++6.0环境的基本操作1. 建立应用程序操作步骤如下:(1) 关闭 当前工作区:【文件】→【关闭 工作区】 (必要时)(2) 建立工程:【文件】→【新建】(出现“新建”对话框)在“新建”对话框中选中“工程”选项卡→选中其中的“Win32 Console Application”项→选择存储“位置”→输入工程名→单击“确定”按钮(出现“Win32Console Application”对话框)在“Win32 Console Application”对话框中选择“An empty project”选项→单击“完成”按钮注意:在操作过程中,如果出现提示性对话框,可根据具体情况按“确定”或“取消”按钮。

至此,一个新的工程已经建立,接下来,可以在该工程中建立文件或(和)将已经存在的文件添加到工程中:在工程中新建文件:【工程】→【添加工程】→【新建】(出现“新建”对话框)在“新建”对话框中选中“文件”选项卡→选中其中的“C++ Source File”或者“C/C++ Header File”项→选择新建的置(目录)→输入文件名→单击“确定”按钮→输入文件内容。

例如,新建的名为M1.cpp的源文件内容如下:向工程中添加文件【工程】→【添加工程】→【Files…】(出现“插入文件到工程”对话框)在“插入文件到工程”对话框中选中要插入的文件→选择文件要插入的工程(插入到)→单击“确定”按钮2.编辑文件操作步骤如下:在“工作区”窗口中选择“FileView”选项卡→展开相应工程的文件分支(工程名files)→双击类要编辑的文件名(此时,相应文件的内容已经显示在编辑窗口中)→对文件进行编辑3.编译、构建与运行应用程序编译源文件:在“工作区”窗口选择“FileView”选项卡→选择要编译的源文件→【编译】→【编译xx】构建可执行文件:设置活动工程(工作区中有多个工程时):【工程】→【设置活动工程】→【xx (工程名)】【编译】→【构建xx.exe】运行应用程序:设置活动工程(工作区中有多个工程时):【工程】→【设置活动工程】→【xx (工程名)】【编译】→【执行xx.exe】4.在工程中新建类(1)新建类:设置活动工程(工作区中有多个工程时需要此步)。

使用VC++6.0系统

使用VC++6.0系统

附录A:使用VC++6.0系统Visual C++6.0系统(简称为VC++6.0系统)是微软公司于1998年推出的基于windows 9x 和windows NT的优秀集成开发环境。

面向对象的程序设计方法与可视开发环境的完美结合,使VC++6.0系统深受广大软件开发者和程序设计人员的喜爱VC++6.0系统不仅是C++语言的集成开发环境,而且还是开发32位windoWS应用程序的强大工具。

它所提供的一系列功能丰富的编程工具,使编写在windoWS环境下运行的应用程序十分简洁、快速。

同时,基于类库的设计方法又使编写面向对象的程序变得更为简单,开发出的应用程序的代码效率高。

如果计算机上已经安装了VC++6.0系统,可通过用鼠标单击Microsoft ViruseC++6.0菜单项启动VC++6.0系统,屏幕上显示如图A.1所示的VC++6.0系统的主窗口。

由于设置不同,看到的窗口与图A.1所示的窗口可能有些差别。

图A.1 VC++6.0系统的主窗口下面简要介绍在VC ++6.0系统中开发应用程序的过程。

由于在数据结构课程实验中主要是完成有关C++语言方面的练习,而不去考虑编写Windows GUI(Graphic User Interface,图形用户界面)程序时的一些复杂情况,本章只介绍在VC++6.0系统下生成筒单的控制台(console)应用程序,即生成字符方式应用程序的过程。

在VC++6.0系统中.可以使用编写字符方式程序时常用的技术编写控制台应用程序。

具体地说,在程序中可以使用C++的stdio.h等头文件说明的函数读取输入的数据和显示输出等。

对于一个编写好的C++源程序.要想在VC++6.0系统环境下运行,需要经过以下步骤。

A.1 生成项目现在的应用程序,尤其是Windows 应用程序,一般由多个文件组成,其中包括源文件、头文件、资源文件等。

为使组成程序的所有文件能够形成一个有机的整体,引入了项目的概念,即把一个应用程序作为一个项目。

VC皮肤以及XP风格实现

VC皮肤以及XP风格实现

本文章由三部分组成:1.利用XPButton类实现XP风格的按钮。

2.无负担实现XP风格界面。

3.VC皮肤的使用。

良好的程序界面会给客户留下好的印象。

通过本文介绍的三种方法,可以在实际编程中满足一些对界面要求不是很高的软件的需求。

第一部分:利用XPButton类实现XP风格的按钮。

此部分主要用到一个网上流传的类:XPButton。

具体使用步骤如下:1.创建基于对话框的MFC工程假设命名为:XPButtonTest,将XPButton.cpp和XPButton.h放到当前工程目录,通过Project->Add to project->Add file to project将XPButton.cpp和XPButton.h 导入到工程中。

2.在CXPButtonTestDlg.h添加头文件#include "XPButton.h".3.关闭工程,将工程目录下的.clw文件删除,重新打开工程,为对话框添加一个按钮控件。

通过类向导为此按钮控件添加一个变量,变量类型(Variable type)选择CXPButton。

在此步骤中如果不删除.clw文件,则在选择变量类型的时候下拉列表中不会出现CXPButton选项,可以选择CButton,然后手动到CXPButtonTestDlg.h中将变量类型修改为CXPButton。

4.编译运行就可以看到按钮具有XP风格。

注意:此方法只能使变量类型修改为CXPButton的按钮控件实现XP风格效果,对于没有作第三步的按钮,还保持原来的样式。

第二部分:无负担实现XP风格界面关于让自己的程序界面实现XP风格这个问题,在网上的讨论很多,大多数的作法都是写一个.manifest文件,然后将文件名改一下,比如.exe文件为test.exe,就将这个.manifest文件改名成test.exe.manifest,并将其和test.exe放在同一个目录里,这样test.exe在XP或2003(必须启动Themes服务)下运行时就会呈现XP界面风格。

XP下安装vc6_stu

XP下安装vc6_stu

Visual C++ 6.0安装详解(XP环境)重要提示:在安装前请关闭各种杀毒软件,包括各款电脑管家软件。

原因在于VC6的发行时间比较早,VC安装程序在当时不可能考虑到当今复杂的机器运行环境,在数字签名以及对系统文件和系统进程空间的访问等方面没能满足新版操作系统的各种安全方面的要求。

建议在安装期间断开互联网的连接。

安装步骤:1. 启动安装程序setup.exe,点击Next继续。

图12.在接下来的终端用户许可协议对话框上选中”I Accept the agreement”,点击Next继续。

图23.输入序列号,点击Next继续。

图3补充:如果系统没有安装过微软其他早期的产品,这时向导会提示要求安装微软公司的Java虚拟机,这个东西对于我们没有用处,可在安装后卸载掉。

安装完成后系统重启。

4.系统重启后,安装向导自动运行,此时在对话框上确保选中”Custorm”,然后点击Next继续。

图45.接下来可以选择安装目录,点击Next继续。

图56.进入VC6企业版安装的欢迎页面,点击Continue继续。

图67.技术支持识别号确认对话框,点击Ok继续。

图78.安装程序查找已安装在系统中的组件。

图89.这个时候出现自定义安装选项对话框。

第一步点击”Select All”,选中全部选项,然后在”Options”列表框中钩掉Basic, FoxPro, InterDev, SourceSafe,如图9所示。

点击”Continue”继续。

图910.选中”Register Environment Variables”,注册环境变量。

图1011.安装程序开始复制文件。

图1112.安装程序更新系统。

图1213. Debug Symble安装提示,点击”确定”继续。

图1314.安装完成,点击”Restart Windows”重启系统。

图1415.电脑重新启动后,向导自动运行,进行MSDN的安装,确保”Install MSDN”选中。

VC6.0实用小技巧

VC6.0实用小技巧

1.窗口最大最小化按纽的控制①怎样在程序开始的时候让它最大化?②vC 做出来的exe文件在窗体的右上方是没有最大化和最小化按钮的,怎样实现这一功能?③如何在显示窗口时,使最大化按钮变灰?①在App类里的C…App::InitInstance()中把m_pMainWnd->ShowWindow(SW_SHOW)改成m_pMainWnd->ShowWindow(SW_MAXIMIZE);②在CreateWidnow时用WS_SYSMENU|WS_MINIMIZEBOX|WS_MAXIMIZEBOX 风格.③第一种方法:BOOL CMainFrame::PreCreateWindow(CREATESTRUCT& cs){if( !CFrameWnd::PreCreateWindow(cs) )return FALSE;// TODO: Modify the Window class or styles here by modifying// the CREATESTRUCT cs// disable the maxmini boxcs.style &= ~WS_MAXIMIZEBOX;return TRUE;}第二种方法:CMenu *pMenu=AfxGetApp()->m_pMainWnd->GetSystemMenu(FALSE);int x=pMenu->GetMenuItemCount( );UINT pID=pMenu->GetMenuItemID(x-1);pMenu->EnableMenuItem(pID, MF_DISABLED);第三种方法:ModifyStyle(WS_MAXIMIZEBOX, 0);这个函数也可以是最大化按钮失效!并且可以在程序中动态的改变窗口的风格2.创建动态菜单void CMainFrame::OnSelectState(NMTOOLBAR* pnmtb, LRESULT *plr){CMenu menu;if(!menu.CreateMenu())return;menu.AppendMenu(MF_STRING,0,"开始");menu.AppendMenu(MF_STRING,0,"结束");CRect rc;m_wndToolBar.SendMessage(TB_GETRECT, pnmtb->iItem, (LPARAM)&rc);m_wndToolBar.ClientToScreen(&rc);menu.TrackMenu( TPM_LEFTALIGN | TPM_LEFTBUTTON | TPM_VERTICAL, rc.left, rc.bottom, this, &rc);// menu.DestroyMenu();menu.detach();}3.如何禁止对话框关闭按钮和浮动工具条上的系统菜单1、禁止对话框中的关闭按钮有二种方法。

VC6.0(VC++6.0)下载地址和安装教程

VC6.0(VC++6.0)下载地址和安装教程

VC6.0(VC++6.0)下载地址和安装教程在Win7或Win10下使用VC6.0对于Win7和Win10,需要将VC6.0的兼容模式修改为Windows XP SP3 或SP2,下面是具体的操作步骤。

在VC6.0 的快捷方式或开始菜单上单击鼠标右键,选择“属性”:图1:在VC6.0的开始菜单上单击鼠标右键在弹出的对话框中,将兼容模式修改为Windows XP SP3 或SP2,如下图所示:图2:设置为兼容Windows XP(Service Pack 3)兼容模式从Windows XP开始提出,目的是让旧版的软件能够运行在较新的操作系统上,和虚拟机的原理有点类似。

在Win8下使用VC6.0相比Win7和Win10,Win8稍微麻烦一些,要先将MSDEV.EXE 重命名为MSDEV3.EXE,再按照上面的步骤设置兼容模式。

MSDEV.EXE 是VC6.0 的主程序,位于VC6.0 的安装目录下,可以在属性面板中快速找到MSDEV.EXE,请看下图:图3:快速定位MSDE.EXE图4:将MSDEV.EXE 改成MSDEV3.EXE重命名完成后,还要修改快捷方式指向的目标文件,也就是图3中第一个红色方框圈起来的地方。

最后,按照前面介绍的方法再将兼容模式修改为“Windows XP SP3”。

启动VC6.0,如果报错,关闭后再次启动,一般就正常了。

成功启动一次后,以后就可以正常运行了。

如果依然启动失败,可以尝试将MSDEV.EXE 改为其他名字。

在VC6.0运行过程中,如果弹出下面的兼容性提示框,勾选“不再显示此消息”,关闭即可。

图5:兼容性提示框最后的总结VC6.0可以在XP 下完美运行,不用进行额外的设置。

在Win7和Win10下。

VB编程实现XP风格之终结篇

VB编程实现XP风格之终结篇

VB编程实现XP风格之终结篇(本文发表于《软件报》2006年第17期)网上讨论编程实现XP风格已经很久了,但对于VB编程实现XP风格,却终没有一个完美的解决方案。

笔者通过N个日夜的刻苦钻研终于揭开其中奥秘。

下面分为三个方面与大家共享之。

一.用manifest文件实现XP风格正常情况下,在Windows XP系统中,用VB6开发的应用程序只有窗口标题条具备XP风格,窗体上的按钮、文本框等控件仍然显示Windows传统风格。

如图1所示:通过查阅MSDN里的Visual Style章节知道,Windows XP通过Comctl32.dll(版本6)来加载具备XP风格的组件,应用程序则通过一个XML资源文件来通知系统来做这些。

XML文件的内容如下:<?xml version=”1.0″ encoding=”UTF-8″ standalone=”yes”?>  <assembly xmlns=”urn:schemas-microsoft-com:asm.v1″manifestVersion=”1.0″>  <assemblyIdentity  name=”XP style manifest” processorArchitecture=”x86″  version=”1.0.0.0″  type=”win32″/> <dependency> <dependentAssembly> <assemblyIdentity  type=”win32″ name=”mon-Controls” version=”6.0.0.0″ processorArchitecture=”x86″ publicKeyToken=”6595b64144ccf1df” language=”*” /> </dependentAssembly> </dependency> </assembly>假设你最终编译的程序名是abc.exe,工作目录是d:\vbxp。

VC++6.0控件使用方法大全

VC++6.0控件使用方法大全

使用Windows标准控件我们在前面曾提到过,控件是一些行为标准化了的窗口,一般用于对话框或其它窗口中充当与用户交互的元素。

在Visual C++中,可以使用的控件分成三类:(1) Windows标准控件Windows标准控件由Windows操作系统提供,在Windows 95中还提供了一些新增的控件。

所有这些控件对象都是可编程的,我们可以使用Visual C++提供的对话框编辑器把它们添加到对话框中。

Microsoft基础类库(MFC)提供了封装这些控件的类,它们列于表6.1。

表6.1 Windows标准控件控件 MFC类 描述动画 CAnimateCtrl 显示连续的AVI视频剪辑按钮 CButton 用来产生某种行为的按钮,以及复选框、单选钮和组框组合框 CComboBox 编辑框和列表框的组合编辑框 CEdit 用于键入文本标题头 CHeaderCtrl 位于某一行文本之上的按钮,可用来控制显示文件的宽度热键 CHotKeyCtrl 用于通过按下某一组合键来很快的执行某些常用的操作图象列表 CImageList 一系列图象(典型情况下是一系列图标或位图)的集合。

图象列表本身不是一种控件,它常常是和其它控件一起工作,为其它控件提供所用的图象列表列表 CListCtrl 显示文本及其图标列表的窗口列表框 CListBox 包括一系列字符串的列表进度 CProgressCtrl 用于在一较长操作中提示用户所完成的进度多格式文本编辑 CRichEditCtrl 提供可设置字符和段落格式的文本编辑的窗口滚动条 CScrollBar 为对话框提供控件形式的滚动条滑块 CSliderCtrl 包括一个有可选标记的滑块的窗口旋转按钮 CSpinButtonCtrl 提供一对可用于增减某个值的箭头静态文本 CStatic 常用于为其它控件提供标签状态条 CStatusBarCtrl 用于显示状态信息的窗口,同MFC类CStatusBar类似续表6.1 控件 MFC类 描述选项卡 CTabCtrl 在选项卡对话框或属性页中提供具有类似笔记本中使用的分隔标签的外观的选项卡工具条 CToolBarCtrl 具有一系列命令生成按钮的窗口,同MFC类CToolBar类似工具提示 CToolTipCtrl 一个小的弹出式窗口,用于提供对工具条按钮或其它控件功能的简单描述树 CTreeCtrl 用于显示一系列的项的继承结构前面提到过,在MFC中,类CWnd是所有窗口类的基类,很自然的,它也是所有控件类的基类。

VC6编程,让程序有系统皮肤

VC6编程,让程序有系统皮肤

VC6编程,让程序有系统皮肤Windows下的动态链接库可能存在多个版本,比如系统提供的基本控件所在的Comctl32.dll 就包括版本6.0和之前的版本。

在新版本之前编写的程序能否保证绝对和新版本的动态链接库兼容呢?只能说,一般情况下可以,但是不能绝对保证。

Windows提供了解决办法,那就是设定程序执行的Active Context。

对于客户自己编写的动态链接库,同样也存在这样的问题。

这里说的是动态链接库,如果考虑动态链接库的其他应用,就涉及到更广阔的应用范围了,可能是普通的动态链接库,可能是COM服务器等,这些都是可以通过配置程序执行环境来改变具体使用哪个动态链接库。

配置程序执行上下文,实际就是配置程序执行的组件配置,这里的组件只要是指动态链接库。

对组件进行配置,简单来说,就是配置程序使用什么动态链接库。

这种配置具体是怎么实现的呢?其实就是在Windows程序真正启动之前增加了一层处理。

这层处理就是把程序执行所需要的环境先建立好,直接点说就是把需要的动态链接库准备好。

上面说到,配置组件就是在程序真正执行之前准备好需要的动态链接库,这项工作可以由Windows系统的Module Loader或者应用程序自己完成。

具体的实现方式有三种:1.文件级的配置:在应用程序所在的目录下创建一个.exe.manifest文件,这个文件中说明组件配置的具体信息,具体的信息格式可以查询MSDN。

在VS2003及以上的版本,新建工程时,会自动生成一个manifest文件在res目录下。

2.资源级的配置:创建资源,类型:RT_MANIFEST(值为24),ID:CREATEPROCESS_MANIFEST_RESOURCE_ID(值为1),内容为上面的manifest文件的内容。

Module Loader在加载EXE之后,执行程序之前,会检测到程序的资源表中是否有类型为24,ID为1的资源,如果有这项配置信息,就会按照配置信息中的配置,加载对应的动态链接库了。

vc++6.0的界面设计与资源编辑器

vc++6.0的界面设计与资源编辑器

vc++6.0的界面设计与资源编辑器vc++6.0的界面设计与资源编辑器一、资源与界面:windows95/98将应用程序常用到的一些“数据”归纳定义成可共享的资源,例如vc++6.0中将某些静态的、可归类的和可共享的数据以资源形式处理,主要包括菜单、图标、对话框、位图、快捷键、工具栏、光标、描述信息和字符串表等。

以资源作为线索,增强了编程的逻辑条理,简化了开发过程。

其中还为编辑菜单、对话框、工具栏等资源的程序界面设计提供了直观、可视的设计方法,即程序的界面设计在很大程度上就是对相关资源的编辑处理。

因而熟练掌握资源编辑器,对界面设计及整个应用程序资源的逻辑关系都是非常重要的。

二、资源管理:资源管理包括各种资源的创建和维护,vc++6.0中提供了一整套处理资源的方法,通过workspace 的“resource view”(资源视图)的导航,可以创建资源或激活各种资源相应的资源编辑器以执行可视化编辑。

1.打开应用程序:fileàopen workspace2.浏览应用程序的资源:调入应用程序后,在workspace窗口的“resourceview”中显示应用程序所涉及资源的列表。

如果workspace 窗口未打开,则在“view”下拉菜单中选择“workspace”选项。

accelearator(快捷键)、dialog(对话框)、icon(图标)、menu(菜单)、string table(字符串表)、toolbar(工具栏)、version(描述)。

各资源类中包含有具体资源项,这些资源项组成了应用程序自己的资源,程序员也可添加新的资源或资源项。

3.增加新资源:增加新资源的常用方法是从“insert”下拉菜单中选择“resource”选项,或右击workspace中资源项,在vc++6.0的快捷菜单中,选择“insert”项。

选择后,vc++6.0显示“insert resource”对话框,选择所需资源以增加,同时,并新建一个名为“idb_xxx”的资源项。

[常识]vc6.0中应用xp格局美化控件

[常识]vc6.0中应用xp格局美化控件

如何让VC6.0开发出的软件拥有xp的样式
――Ares. 王伟。

一般而言,我们可以很明显的看出VC6.0与VS2003及以上版本开发出的软件在样式上的差异(后者的软件中的控件应用了xp的默认样式,而前者则没有)。

下面则举例说明二者的差异,以及如何让VC6.0开发出的软件中的控件也具有xp的样式。

1.VC6.0开发的软件界面控件。

注意按钮和鼠标一道按钮上时的变化。

2.应用xp样式后软件的控件样式。

3.注意二者之间的各控件的不同。

4.相信我们都已经看到二者之间的不同了。

那么我们如何在vc6.0中应用xp样式以使得
我们的软件更美观呢?下面就是方法:
4.1把xpstyle.Manifest文件拷贝到工程res下,打开工程的资源选项卡,右击工程名然后
选择引入,如图:
4.2选择要引入的文件,引入的类型为24如图
此时会看到如下的界面:
4.3把24下的IDR_241改为1,然后重新编译编译即可。

5.说明,为了方便大家,我已将xpstyle文件打入包中,如果还是不太明白的话,请看
我上传的另一个资源文本文件合并器v1.0(基于VC的文本文件合并器),里面有所有需要的东西。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

vc6.0程序界面实现XP风格方法收藏
关于让自己的程序界面实现XP风格这个问题,在网上的讨论很多,大多数的作法都是写一个.manifest文件,然后将文件名改一下,比如.exe文件为test.exe,就将这个.manifest文件改名成test.exe.manifest,并将其和test.exe放在同一个目录里,这样test.exe在XP或2003(必须启动Themes服务)下运行时就会呈现XP界面风格。

有件事情必须说一下,按照上面的方法,test.exe必须先调用InitCommonControls函数(已经废除,不建议使用)或者InitCommonControlsEx函数从comctl32.dll中注册组件类。

这一步在VB中是必须的,但是在VC(MFC程序)中,我们好像并没有调用这个函数,可是编译后的程序为什么还能实现XP风格呢?原因是MFC替我们做了这件事。

如果我们是让MFC注册的窗口类,它会调用_AfxInitCommonControls函数,而_AfxInitCommonControls 的主要操作就是把comctl32.dll装载进来,然后判断.dll文件中有没有InitCommonControlsEx 函数,如果有就调用,没有则调用InitCommonControls,到此真相大白。

可能有人和我一样,看着以“afx”开头的窗口类名称很不舒服,于是喜欢自己注册窗口类,但在我们注册自己的窗口类时一定要确保调用过InitCommonControlsEx函数,这点一定要记得,如果忘记的话你将会看到一个空白的窗口。

说了这么多,有点跑题了,呵呵。

现在回到正题。

我上面提到的方法很多网站上都有介绍,但是却有一个致命的缺点,就是必须有那个.manifest文件如影随形,exe文件到哪,它就得到哪,这当然是我们不愿意看到的。

有没有办法能把它“合”到exe文件中呢?答案是肯定的,这也正是本文题目中“无负担”三个字的意思。

当然了,那个.manifest文件还是要有的,只不过不是和.exe文件放在同一目录中,而是把它放到资源文件中,编译后生成.res文件,link后自然就和.exe文件“合”到一起了。

首先,请出.manifest文件:
name="XP style manifest"
processorArchitecture="x86"
version="1.0.0.0"
type="win32"/>
type="win32"
name="mon-Controls"
version="6.0.0.0"
processorArchitecture="x86"
publicKeyToken="6595b64144ccf1df"
language="*"
/>
大家也看到了,这其实是一个XML文件,打开记事本,复制上面的内容,然后存盘,文件名任意,这里我存为XPStyle.manifest。

然后在VC中新建一个MFC AppWizard(exe)工程,Document/View或Dialog均可,接着把XPStyle.manifest复制到工程所在目录,再用记事本或其它文本编辑工具手动修改工程目录下的资源文件(.rc),在文件最后加上一行:
1 24 "XPStyle.manifest"
在VC中编译并连接工程生成.exe可执行文件,运行一下看看。

就这么简单?就这么简单。

:D
这里我再多解释一下,最后加上的那一行,“1”代表资源ID,必须是“1”。

“24”代表资源类型,我想我们对RT_ACCELERATOR、RT_BITMAP、RT_MENU、RT_STRING等资源都非常熟悉,而“24”实际上是RT_MANIFEST。

最后面引号中的东西我就不再�嗦了。

好了,编译后的这个.exe文件拿到哪都可以,都是XP风格的界面,不用再依赖.manifest文件了。

哦,当然了,必须在XP或2003系统下才可以。

相关文档
最新文档