CDialogBar在VC6.0中的基本使用
visual c++ 6.0的基本用法
Visual C++ 6.0 是一个非常经典的C++ 集成开发环境(IDE),虽然现在已经有了更新、更强大的版本,但很多老程序员或者对老版本有特殊需求的人仍然会使用它。
以下是一些Visual C++ 6.0 的基本用法:安装与启动:首先,从官方渠道下载Visual C++ 6.0 安装程序,并按照提示进行安装。
安装完成后,启动Visual C++ 6.0。
创建新项目:在文件菜单中选择“新建”,然后选择项目类型,例如“Win32 应用程序”。
为项目命名并选择保存位置。
在“Win32 应用程序向导”中,选择应用程序类型(如对话框应用、空项目等)。
编写代码:在打开的编辑器窗口中编写C++ 代码。
可以使用自动补全、语法高亮等功能提高编码效率。
编译与运行:编写完代码后,点击工具栏上的“构建”按钮或按F7 键进行编译。
如果编译成功,点击“运行”按钮或按F5 键运行程序。
调试:如果程序出现错误,可以使用调试功能进行排查。
设置断点,然后使用“开始调试”按钮或F5 键进入调试模式。
在调试模式下,可以使用步进、步出、查看变量值等功能进行调试。
资源管理:Visual C++ 6.0 自带资源编辑器,可以用来编辑和管理项目中的资源,如对话框、图标、位图等。
其他功能:使用“类向导”来管理项目中的类和消息处理函数。
使用“工具”菜单中的各项功能,如性能分析、错误查找等。
注意事项:Visual C++ 6.0 已经比较老旧,很多新的C++ 标准和特性可能不支持。
在使用过程中可能会遇到一些与现代操作系统不兼容的问题。
对于新手来说,可能会有更好的选择,例如Visual Studio Code 或更新版本的Visual Studio。
获取帮助:如果在使用过程中遇到问题,可以查阅官方文档或搜索相关教程和论坛来寻找答案。
升级与迁移:如果觉得Visual C++ 6.0 功能不足或与现代环境不兼容,可以考虑升级到更新版本的Visual Studio 或其他现代IDE。
VC++6.0使用说明
Microsoft Visual c++的入门解剖1.打开Micro soft Visual c++ 6.0可看到时2.点击“Close”,之后点击菜单栏的“File”中的“New”出现对话框先选中倒数第三个选项“Win32 Console Application”,然后在“Project name”中建立一个工程名(一般已自己名字命名)。
请留心,这是存放你的文件的路径。
3.点击OK后出现点击Finish->OK直到完成,这时已经建立了一个属于你的工程. 4.接下来再建立一个文件,再次点击菜单栏的New选项出现选中第五个选项“C++ Source File”,然后在File中输入文件名(命名规则见附录)。
5.最后就可以写程序了6.编完程序之后,点击工具栏的,将出现对话框,请一直点击“是”,将出现7.那么在点击中的红色感叹号,则出现8.若出现的是,可按F4键进行纠错请注意:1.不要同时开两个程序,这样会导致程序的运行出现错误。
2.若出现无法关闭Visual 6.0时,可在范围内单击右键出现资源管理器(或按Ctrl+Alt+Delete)结束.附录:1.程序命名:程序名字中不要出现中文命名规则:用自己名字拼音首字母+程序来源(或程序含义)例如:张三写的书本上的例4.4程序用ZS_exam4_4来命名例如:李四写的习题2.3的程序用LS_exer2_3来命名2.写好的程序保存起来将自己写过的程序保存起来,放到ftp上,方法如下:打开任意文件夹->输入"ftp://172.16.108.151/"->进入“09级”新建一个以自己名字命名的文件夹然后把自己写过的如ZS_exma4_4.cpp的程序复制进去。
3.文档的保存将学习总结,电子作业都存入ftp中.。
Visualc++6.0的快捷键和使用说明
Visualc++6.0的快捷键和使用说明F1:帮助Ctrl+O :OpenCtrl+P :PrintCtrl+N :NewCtrl+Shift+F2 :清除所有书签F2 :上一个书签Shift+F2 :上一个书签Alt+F2 :编辑书签Ctrl+F2 :添加/删除一个书签F12 :Goto definitionShift+F12 :Goto referenceCtrl+'Num+' :Displays the next symbol definition or referenceCtrl+'Num-' :Displays the previous symbol definition or referenceCtrl+J/K :寻找上一个/下一个预编译条件Ctrl+Shift+J/K :寻找上一个/下一个预编译条件并将这一块选定Ctrl+End :文档尾Ctrl+Shift+End :选定从当前位置到文档尾Ctrl+Home :文档头Ctrl+Shift+Home :选定从当前位置到文档头Ctrl+B/Alt+F9 :编辑断点Alt+F3/Ctrl+F :查找F3 :查找下一个Shift+F3 :查找上一个Ctrl+]/Ctrl+E :寻找下一半括弧Ctrl+Shift+] :寻找下一半括弧并选定括弧之间的部分(包括括弧)Ctrl+Shift+E :寻找下一半括弧并选定括弧之间的部分(包括括弧)F4 :寻找下一个错误/警告位置Shift+F4 :寻找上一个错误/警告位置Shift+Home :选定从当前位置到行首Shift+End :选定从当前位置到行尾Ctrl+L :剪切当前行Ctrl+Shift+L :删除当前行Alt+Shift+T :交换当前行和上一行Ctrl+Alt+T :Brings up the completion list boxShift+PageDown :选定从当前位置到下一页当前位置Shift+PageUp :选定从当前位置到上一页当前位置Ctrl+Shift+Space:显示函数参数的T ooltipCtrl+Z/Alt+Backspace :UndoCtrl+Shift+Z/Ctrl+Y :RedoF8 :当前位置变成选定区域的头/尾(再移动光标或者点鼠标就会选定)Ctrl+Shift+F8 :当前位置变成矩形选定区域的头/尾(再移动光标或者点鼠标就会选定)Alt+F8 :自动格式重排Ctrl+G :GotoCtlr+X/Shift+Del:CutCtrl+C/Ctrl+Ins :CopyCtrl+V/Shift+Ins:PasteCtrl+U :将选定区域转换成小写Ctrl+Shift+U :将选定区域转换成大写Ctrl+F8 :当前行变成选定区域的头/尾(再移动上下光标或者点鼠标就会选定多行)Ctrl+Shift+L :删除从当前位置到行尾Ctrl+Shift+8 :将所有Tab变成`或者还原Ctrl+T :显示变量类型Ctrl+↑ :向上滚屏Ctrl+↓ :向下滚屏Ctrl+Del :删除当前单词的后半截(以光标为分割)Ctrl+Backspace :删除当前单词的前半截(以光标为分割)Ctrl+← :移到前一个单词Ctrl+→ :移到后一个单词Ctrl+Shift+← :选定当前位置到前一个单词Ctrl+Shift+→ :选定当前位置到后一个单词Ctrl+Shift+T :将本单词和上一个单词互换Alt+0 :Workspace WindowAlt+2 :Output WindowAlt+3 :Watch WindowAlt+4 :Variables WindowAlt+5 :Registers WindowAlt+6 :Memory WindowAlt+7 :CallStack WindowAlt+8 :Disassembly WindowCtrl+W :ClassWizardAlt+Enter :属性Alt+F7 :Project SettingsF7 :BuildCtrl+F7 :CompileCtrl+F5 :RunCtrl+Break :Stops the buildF5 :GoCtrl+F10 :Run to cursorF11 :step intoAlt+F10 :Apply codes changesCtrl+F9 :Enable/Disable a breakpointAlt+F11 :将Memory Window 切换到下一种显示模式Alt+Shift+F11 :将Memory Window 切换到上一种显示模式Ctrl+Shift+F9 :去掉所有断点Ctrl+Shift+F5 :Restarts the programCtrl+Shift+F10 :将当前行设为下一条指令执行的行Alt+Num* :滚动到当前指令Shift+F11 :跳出当前函数F9 :断点F10 :step overShift+F5 :停止DebuggingCtrl+F11 :Switches between the source view and the disassembly view for this instructionAlt+F12 :Queries on the selected object or current context Alt+F6 :Toggles the docking feature for the window on/off Shift+Esc :隐藏窗口Ctrl+Shift+G :?Ctrl+* :打开string tableCtrl+Space :?Ctrl+F3 :向下查找下一个Ctrl+Shift+F3 :查找上一个Ctrl+D :查找Ctrl+I :向下查找下一个Ctrl+Shift+I :查找上一个F6 :?Activates the next paneShift+F6 :?Activates the previous paneCtrl+M :?Detects duplicate mnemonics in the resourceAlt +O : 头文件与cpp文件的交互显示。
VC++6.0常用菜单项
在指定的多个文件中查找指定的字符串。
Replace
快捷键Ctrl+H。替换指定的字符串(用某一个串替换另一个串)。
Go To
快捷键Ctrl+G。将光标移到指定行上。
Breakpoints
快捷键Alt+F9。弹出对话框,用于设置、删除或查看程序中的所有断点。断点将告诉调试器应该在何时何地暂停程序的执行,以便查看当时的变量取值等现场情况。
Start Debug
选择该项将弹出子菜单,其中含有用于启动调试器运行的几个选项。例如其中的Go选项用于从当前语句开始执行程序,直到遇到断点或遇到程序结束;Step Into选项开始单步执行程序,并在遇到函数调用时进入函数内部再从头单步执行;Run to Cursor选项使程序运行到当前鼠标光标所在行时暂停其执行(注意,使用该选项前,要先将鼠标光标设置到某一个你希望暂停的程序行处)。执行该菜单的选择项后,就启动了调试器,此时菜单栏中将出现Debug菜单(而取代了Build菜单)。
快捷键F9。本菜单项并未出现在Debug菜单上(在工具栏和程序文档的上下文关联菜单上),列在此处是为了方便大家掌握程序调试的手段,其功能是设置或取消固定断点——程序行前有一个圆形的黑点标志,表示已经该行设置了固定断点。另外,与固定断点相关的还有Alt+F9(管理程序中的所有断点)、Ctrl+F9(禁用/使能当前断点)。
Stop Debugging
快捷键Shift+F5。中断当前的调试过程并返回正常的编辑状态(注意,系统将自动关闭调试器,并重新使用Build菜单来取代Debug菜单)。
Step Into
快捷键F11。单步执行程序,并在遇到函数调用语句时,进入那一函数内部,并从头单步执行(与Build -> Start Debug -> Step Into选项的功能相同)。
VC++6.0使用手册(史上最全)
图1-1Visual C++界面开项目工作区文件时其他文件随即会自动打开。
在此文件夹下还会创建 Res(资源)、Debug(调试)、Release(发行)等子文件夹。
2.2编辑 在编辑窗口打开、浏览文件、输入、修改、复制、剪切、粘贴、查找、替换、撤销等操作,可以通过菜单完成,也可以通过工具栏按钮完成,这些与 Word 之类的 windows 编辑器用法完全相同,这里就不再重复叙述了。
2.3辅助VC 不仅提供了“语法着色”帮助我们阅读程序,还可以通过一些快捷键检查常见的括号不匹配错误。
MSDN 也可以在编辑过程中提示存在的变量名、函数名。
很多程序员借助类似 Visual Assist X 的工具辅助开发,减少程序出错的可能性。
3.开发 C 程序3.1开发单个 C 语言程序1. 创建一个工作文件夹。
由于开发过程会产生一系列文件,建议每开发一个新的 C 程序都创建一个工作文件夹。
还可以将所有工作文件夹集中到一起,如E:\LXH\EX01-01 、E:\LXH\EX03-02 等。
2. 启动 Visual C++。
3. 新建一个 C 语言源程序。
选择菜单:File 下的 New 菜单项,出现如图 1-2 所示 new(新建)对话框。
图1-2选择菜单File下的New菜单项选择 Files标签下的 C++Source File 在“E:\LXH\EG01-01”文件夹中创建C 程序:eg01-01.c,如图 1-3 所示。
图1-3Files标签4. 输入、编辑源程序。
注意不要输入中文标点符号,要及时按 Ctrl+S 保存文件,如图 1-4 所示。
图1-4输入源程序5.编译、连接。
点击“BuildMiniBar”工具栏上的“Build”按钮进行编译、连接。
也可以选择菜单 Build 下的 Build (F7) 菜单项或Rebuild All菜单项。
更简捷的方法是直接按 F7 功能键。
Visual C++将提示创建默认工作区,如图 1-5 所示。
用VC++6.0为对话框添加最小化按钮
用VC++6.0为对话框添加最小化按钮我们在使用对话框窗体时,会有这样一种感受:当对话框窗体位于其它程序窗口界面上时,单击对话框外区域时,可使对话框窗体最小化;而当对话框窗体位于桌面上时,无论怎样单击对话框外区域,对话框均不能最小化,只能选择关闭。
但有时我们在使用对话框时,还希望能根据需要使对话框具有最小化功能。
本文的设计思想就是据此提出来的。
1实例程序设计要点⑴取得对话框标题栏位置和大小,在标题栏的适当位置绘制最小化按钮,并记住按钮的位置。
⑵在最小化按钮所在区域检测鼠标是否在该区域内、是否按下,是否发送最小化消息使对话框最小化,否则不变。
⑶将最小化按钮矩形区域向工具提示条控件注册,这样当鼠标在最小化按钮矩形区域时,显示提示文本。
2实例程序实现的步骤及说明⑴准备二个位图,一个位图表示最小化按钮正常显示状态,另一个位图表示最小化按钮被按下时的状态。
⑵使用MFCAppWizard(exe)创建工程名为MinButton的对话框窗体,如图所示,将二个按钮位图导入对话框的资源里。
⑶在CMinButtonDlg对话框类中进行变量定义和函数声明。
⑷利用ClassWizard为对话框类添加消息WM_NCPAINT,WM_ACTIVATE和WM_NCMOUSEMOVE的消息处理函数,在这三个函数中调用成员函数DrawButton()来绘制按钮。
⑸利用ClassWizard为最小化按钮关联对应的消息WM_NCLBUTTONDOWN和消息处理函数OnNcLButtonDown(UINTnHitTest,CPointpoint)。
⑹函数DrawButton()用于绘制按钮。
由于最小化按钮并不是一个真实的按钮控件,而是一个画在标题栏上的位图。
因此,为了在对话框窗体标题上绘画,必须创建一个窗口设备环境类(相当于创建一个画布,有了这个画布,才能在画布上绘画,也就是才能在标题栏上绘画。
)①调用函数GetWindowDC()取得指向CDC的指针CDC*pDC;②调用函数CreateCompatibleDC(CDC*pDC)创建一个内存设备环境,以便在内存中保存位图,并与指定的窗口设备环境相兼容;③调用函数SelectObject(CBitmap*pBitmap),将位图选入内存设备环境中;④调用函数BitBlt(intx,inty,intnWidth,intnHeight,CDC*pSrc,intxSrc,intySrc,DWORDdwRop)将位图复制到实际设备环境中。
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 菜单的基本操作凡是从CWnd派生的类,它们既可以接收标准消息,也可以接收命令消息和通告消息。
而对于那些从CCmdTarget派生的类,则只能接收命令消息和通告消息,不能接收标准消息。
响应菜单项命令的顺序依次是:视类,文档类,框架类,最后才是应用程序类。
基本菜单操作:1. 标记菜单:可以通过CWnd的成员函数:GetMenu来获得指向菜单栏的指针,在框架类的OnCreate函数中,加入以下代码GetMenu()->GetSubMenu(0)->CheckMenuItem(0,MF_BYPOSITION|MF_C HECKED);2. 默认菜单项:分隔栏在子菜单中占据索引位置,一个子菜单只有一个默认菜单项GetMenu()->GetSubMenu(0)->SetDefaultItem(1,TRUE);3. 图形标记菜单:m_bitmap.LoadBitmap(IDB_BITMAP1);GetMenu()->GetSubMenu(0)->SetMenuItemBitmaps(0,MF_BYPOSITION ,&m_bitmap,&m_bitmap);图形标记菜单上显示的位图的尺寸有固定的标准,我们创建的位图太大了,只显示了当前位图左上角的一小部分内容,通过GetSystemMetrics函数可以得到图形标记菜单上显示的位图的尺寸。
当该参数的值为SM_XMENUCHECK or SM_CYMENUCHECK时,这个函数将获取标记菜单项上标记图形的默认尺寸。
CString类提供了一个名为Format的函数,这个函数可以按照一定的格式把内容格式,然后将结果保存到CString类型的字符串对象中。
4. 禁用菜单项一旦在CMainFrame类的构造函数中把成员变量m_bAutoMenuEnable设置为FALSE后,就不需要对ON_UPDATE_COMMAND_UI或ON_COMMAND消息进行响应处理了,CMenu 类的EnableMenuItem函数将能够正常工作。
VC++ 6.0使用简单介绍
V C++6.0使用简介㈠使用工程1.创建工程创建一个新的应用程序(Application)时,首先要创建一个新工程(Project 又称项目)。
工程用于管理组成Visual C++程序的所有组成部分,并且可生成Windows可执行应用程序。
启动 VC++ 6.0 之后,选择“File”菜单中的“New”选项来创建一个新工程。
首先要给你所要创造的程序选择一个工程类型,选“Project”标签卡,在其上选择一个工程类型:“Win32 Console Application”,并在“Location”中指定工程存放路径,在“Project Name”中键入工程名,然后“OK”及“Finish”。
再次单击“File”菜单中的“New”命令,在“File”标签卡中选择一个文件类型:“C/C++ Header File”(头文件)或“C++Source File”(源文件),并在“File Name”中键入文件名,然后“OK”。
当然也可以用“Add to Project”选项将新建文件加入到已有工程中。
2.打开已有文件(仅仅是打开文件,不是打开工程。
打开工程要点击.dsw或.dsp文件) 一法:在启动 VC++ 6.0 之前直接双击C++源文件/头文件图标;二法:启动 VC++ 6.0 之后,单击“打开”图标,在“打开”对话框中选中源文件/头文件,或单击或双击之。
3. 使用文件视图单击工程‘工作区窗口’下部的“File View”标签卡,将列出该工程包含的(即已加入的)所有文件,它们被组织成“头”、“源”和“资源”等几类文件夹。
使同一个工程的多个文件处于文件视图的各文件夹中,这是多个文件能在编译时被连接成一个应用程序的必要保证。
在文件视图里双击文件名可打开及编辑该文件。
●向工程的相应文件夹添加文件(注:工程文件夹不同于物理文件夹;向工程文件夹添加文件也不是物理添加;多文件结构的应用程序必须使多个文件处于同一工程文件夹中方可编译。
VC++6.0使用手册(史上最全)
图1-1Visual C++界面开项目工作区文件时其他文件随即会自动打开。
在此文件夹下还会创建 Res(资源)、Debug(调试)、Release(发行)等子文件夹。
2.2编辑 在编辑窗口打开、浏览文件、输入、修改、复制、剪切、粘贴、查找、替换、撤销等操作,可以通过菜单完成,也可以通过工具栏按钮完成,这些与 Word 之类的 windows 编辑器用法完全相同,这里就不再重复叙述了。
2.3辅助VC 不仅提供了“语法着色”帮助我们阅读程序,还可以通过一些快捷键检查常见的括号不匹配错误。
MSDN 也可以在编辑过程中提示存在的变量名、函数名。
很多程序员借助类似 Visual Assist X 的工具辅助开发,减少程序出错的可能性。
3.开发 C 程序3.1开发单个 C 语言程序1. 创建一个工作文件夹。
由于开发过程会产生一系列文件,建议每开发一个新的 C 程序都创建一个工作文件夹。
还可以将所有工作文件夹集中到一起,如E:\LXH\EX01-01 、E:\LXH\EX03-02 等。
2. 启动 Visual C++。
3. 新建一个 C 语言源程序。
选择菜单:File 下的 New 菜单项,出现如图 1-2 所示 new(新建)对话框。
图1-2选择菜单File下的New菜单项选择 Files标签下的 C++Source File 在“E:\LXH\EG01-01”文件夹中创建C 程序:eg01-01.c,如图 1-3 所示。
图1-3Files标签4. 输入、编辑源程序。
注意不要输入中文标点符号,要及时按 Ctrl+S 保存文件,如图 1-4 所示。
图1-4输入源程序5.编译、连接。
点击“BuildMiniBar”工具栏上的“Build”按钮进行编译、连接。
也可以选择菜单 Build 下的 Build (F7) 菜单项或Rebuild All菜单项。
更简捷的方法是直接按 F7 功能键。
Visual C++将提示创建默认工作区,如图 1-5 所示。
VC6.0常用控件常用方法介绍
nCur取值为 BST_CHECKED/BST_UNCHECKED。
4、Radio Box------------单选控件 --类 CButton
(1)默认选中第一项
m_radio.SetCheck(BST_CHECKED);
(2)选中组中任一项
CWnd::CheckRadioButton
m_list.SetItemText(nIndex, 3, s4);
m_list.SetItemText(nIndex, 4, s5);
(5)Report格式删除所有行
m_list.DeleteAllItems();
(6)Report格式获取某行某列数据
CString sID = m_list.GetItemText(行索引, 列索引);
nIDFirstButton
Specifies the integer identifier of the first radio button in the group.
nIDLastButton
Specifies the integer identifier of the last radio button in the group.
nCheck
State of the check box: 0 for clear, 1 for checked, and 2 for indeterminate.
c.获取选择
int GetCheck(int nIndex);
Parameters
nIndex
Index of the item whose check status is to be retrieved.
VC6.0程序的使用方法
2. 选择工作空间文件 3. 单击“打开”按钮
6. 当上一步按下“确定”按钮后,将出现如下的 界面
注意该白色窗体,可用 于输入代码,见下一步
VC6.0编程步骤
7. 编写代码
按下此按钮可编译并运行程序, 或者选择“编译(Build)”菜单 ” 执行(execute)”菜单项
程序代码
VC6.0程序使用步骤
8. 运行结果
打开上次编辑的程序
选择菜单“文件(File)” “打开工作空间 (Open Workspace…)”,出现如下窗口
VC6.0程序使用步骤
3. 在步骤2种按下“确定(ok)”按钮后,出现如下窗口
选中此选项
最后按下此按钮, 完成工程的创建
VC6.0程序使用步骤
4. 创建好的工程界面如下图所示
该工程是一个空工 程,除了包含三个 工程文件外(可以 在工程所在目录查 看),什么也没有
VC6.0程序使用步骤
5. 为工程编写代码 选择菜单“ቤተ መጻሕፍቲ ባይዱ件(File)”
选择“文件(Files)”选项 选择“C++ Source File”
“新建(New…)”,出现如下窗口
注意此处一定要打勾 注意此处的工程名和路径应 该与你前面填写的一致,千 万不要更改 此处输入文件名,如 main或者main.cpp
当一切都正确后,按下此 按钮,进入下一步
VC6.0程序使用步骤
VC6.0程序使用步骤
1. 启动VC6.0界面如下
VC6.0程序使用步骤
2. 选择菜单“文件(File)”
选择”Projects”
“新建(New…)”,出现如下窗口
填写工程名称 选择工程保存位置
VC++6.0主要工作窗口
VC++6.0主要工作窗口1) Workspace窗口Workspace窗口显示了当前工作区中各个工程的类、资源和文件信息,当新建或打开一个工作区后,Workspace窗口通常就会出现三个树视图:ClassView(类视图)、ResourceView(资源视图)和FileView(文件视图),如果在VC6.0企业版中打开了数据库工程,还会出现第四个视图DataView(数据视图)。
如同前面所述,在Workspace 窗口的各个视图内单击鼠标右键可以得到很多有用的关联菜单。
ClassView显示当前工作区中所有工程定义的C++类、全局函数和全局变量,展开每一个类后,可以看到该类的所有成员函数和成员变量,如果双击类的名字,VC6.0会自动打开定义这个类的文件,并把文档窗口定位到该类的定义处,如果双击类的成员或者全局函数及变量,文档窗口则会定位到相应函数或变量的定义处。
ResourceView显示每个工程中定义的各种资源,包括快捷键、位图、对话框、图标、菜单、字符串资源、工具栏和版本信息,如果双击一个资源项目,VC6.0就会进入资源编辑状态,打开相应的资源,并根据资源的类型自动显示出Graphics、Color、Dialog、Controls 等停靠式窗口。
FileView显示了隶属于每个工程的所有文件。
除了C/C++源文件、头文件和资源文件外,我们还可以向工程中添加其它类型的文件,例如Readme.txt等,这些文件对工程的编译连接不是必需的,但将来制作安装程序时会被一起打包。
同样,在FileView中双击源程序等文本文件时,VC6.0会自动为该文件打开一个文档窗口,双击资源文件时,VC6.0也会自动打开其中包含的资源。
在FileView中对着一个工程单击鼠标右键后,关联菜单中有一个“Clean”命令,在此特地要解释一下它的功能:VC6.0在建立(Build)一个工程时,会自动生成很多中间文件,例如预编译头文件、程序数据库文件等,这些中间文件加起来的大小往往有数兆,很多人在开发一个软件期间会使用办公室或家里的数台机器,如果不把这些中间文件删除,在多台机器之间使用软盘拷贝工程就很麻烦。
第11讲 VC++6.0基本控件的使用
(2)使用有模式对话框 )
方法如下: (a)编辑对话框资源。 在Insert菜单中选择Resource菜单项或直接按下Ctrl+R 加速键,打开Insert Resource对话框,如图1所示。
图1
2011年1月13日1时14分 14
在对话框中选取Dialog图标,然后单击New按钮,这时 将建立一个新的对话框,并打开对话框编辑器,如图 2所示。
2011年1月13日1时14分
9
(4)对话框数据交换和数据检验机制
控件与用户的数据交流和检验机制通过 CDialog::DoDataExchange()函数来完成, 其原型为:virtual void DoDataExchange ( CDataExchange * pDX ); 成员变量的值 与 控件显示的值之间的传递方向由下面 两个函数决定: UpdateData(TRUE); //从对话框到变量 UpdateData(FALSE); //从变量到对话框
2011年1月13日1时14分 16
(3)使用非模态对话框 )
使用非模态对话框的方法如下: (a)首先建立非模态对话框资源和对话框类,与前 (a)和(b)两步一样。 (b)在要用到的类中定义一个成员变量,即一个指向 非模态对话框的指针。 比如:CModLessDlg *m_pModelless; //定义时,需要包含头文件。
2011年1月13日1时14分
2
第11讲 VC++6.0基本控件的使用
2 授课要求 掌握基于对话框结构的程序设计; 1.掌握基于对话框结构的程序设计; 掌握在基于对话框结构的界面上添加菜单; 2.掌握在基于对话框结构的界面上添加菜单; 掌握创建模态对话框和非模态对话框; 3.掌握创建模态对话框和非模态对话框; 熟悉常用控件的使用。 4.熟悉常用控件的使用。
VC++6.0使用说明(快捷键)
V C++6.0使用说明(快捷键)F1 显示帮助,如果光标停在代码的某个字符上,显示MSDN中相应的帮助内容F2 书签功能: C trl+F2 –在某行设置一个书签(再按一次次是取消)F2 –跳到下一个书签位置Shift+F2 –跳到上一个书签位置C trl+Shift+F2 –删除所有书签F3 查找: C trl+F3 –在文件中查找,如果当前光标在一个字符串上,那么自动查找此字符串.相似的有C trl+FF3 –查找文件中下一个串Shift+F3 –查找文件中上一个串F4 - 如果是编译后或者Find in Files后,可以逐条定位.C trl+F4 –关闭文件Alt+F4 –关闭V C(跟WINDOWS定义的一样)F5编译并执行F5 –编译并通过V C执行C trl+F5 –不经过V C,直接执行编译后的exeShift+F5 –F5运行后,直接从V C中停止程序(可以模拟当机情况)C trl+Shift+F5 –重新开始运行F6切换窗口SplitWindow后,可以转换光标所在的窗口F7编译F7 编译工程C trl+F7 编译当前文件Alt+F7 工程设置对话框F8选择的粘滞键其实更常用的是按住Shift+方向键Alt+F8 选中的代码书写格式对齐F9设置断点C trl+F9删除所有断点Alt+F9 显示编辑断点的对话框C trl+F9断点无效F10单步执行(Debug时)C trl+F10执行到光标所在行(试试看Shift+F10什么效果)F11跟踪时进入函数内部Shift+F11跳到上一层调用栈F12跳到函数定义初(需要带Browse Info选项编译,建议不选,生成文件很大)编辑常用C trl+W 显示C lassWizard,边界面程序用的比较多C trl+Z/C trl+Y Undo/RedoC trl+U 字母转化为小写(有的V C没有设置)C trl+Shift+U 字母转化为大写(有的V C没有设置)C trl+S 保存(强烈建议编码时经常按两下,省得掉电死机时后悔,呵呵,该键在多数编辑软件都适用)C trl+D 查找(嗯,如果有SOFTI C E,那么就是呼叫它了)C trl+F 正宗的查找快捷键C trl+G 跳到文件中第n行C trl+Shift+G 光标在一个文件名上,直接跳到指定文件C trl+H 替换C trl+J,K #ifdef…#endif查找配对C trl+L 剪切一行C trl+} 匹配括号(),{}调试常用Shift+F9 Qui c kWat c h,并显示关标所在处的变量值Alt+3 Wat c h 查看窗口Alt+4 Variables 监视变量(常用)Alt+5 显示寄存器Alt+6显示内存(常用)Alt+7 显示堆栈情况(当机了多看看)Alt+8 显示汇编码还有一些常用的C trl+TAB 切换打开的文件视图,(如果按住C trl,顺序向后切换)C trl+Shift+TAB切换打开的文件视图,(如果按住C trl,顺序向前切换)TAB 选中后,整体后移一个制表符,Shift+TAB 选中后,整体前移一个制表符,Alt+0将焦点移到工作区(ES C回编辑区)Alt+2 将焦点移到输出区(ES C回编辑区)C trl+PgUp 逆序切换工作区视图C trl+PgDn 顺序切换工作区视图另外,V C没有设置打开,关闭工作区,和打开关闭输出区的快捷键,如果觉得不方便, 可以自己注册(我设置的是C trl+,和C trl+/).注册在Tools => C ustomize => KeyBoard。
C++6.0 快捷键大全
查看文章VC++6.0快捷键2010-03-27 19:14功能分类 快捷键说明 Ctrl+NNew 新建工程 File (文件)Ctrl+O Open 打开文件 Alt+F3/Ctrl+F弹出查找对话框 F3查找下一个 Shift+F3查找上一个 Ctrl+F3向下查找下一个 Ctrl+Shift+F3查找上一个 Ctrl+]/Ctrl+E寻找下一半括弧 Ctrl+Shift+] 寻找下一半括弧并选定括弧之间的部分(包括括弧)Ctrl+Shift+E 寻找下一半括弧并选定括弧之间的部分(包括括弧)F4 寻找下一个错误/警告位置Shift+F4 寻找上一个错误/警告位置Ctrl+G Goto(定位,到某行某变量等)Find (查找) Ctrl+Alt+T Brings up the completion list box 提出函数列表框,用以方便地插入函数Ctrl+T 显示变量类型Ctrl+Shift+Space 显示函数参数 显示 Ctrl+Shift+8 将所有跳格和空格,变成“^”和“’”,或者还原Ctrl+U 将选定区域转换成小写Ctrl+Shift+U 将选定区域转换成大写格式 Alt+F8 自动格式重排设置 Alt+F7 project setting 工程设置F7 Build(编绎并链接成exe 文件)Ctrl+F7Compile(编译) Ctrl+F5 Execute(编译+链接+运行)Ctrl+Shift+F5 Restarts the program(重新运行程序)Build (建立) Ctrl+Break Stops the build(停止编译)F5 Go(顺序执行)F11 step into (顺序执行,进入循环或函数)F10 step over(顺序执行,不进入循环或函数)Shift+F11 step out(跳出当前函数)Debug (调试) Ctrl+F10 Run to cursor(自动执行到用户光标所指的语句前)1.检测程序中的括号是否匹配把光标移动到需要检测的括号(如大括号{}、方括号[]、圆括号()和尖括号<>)前面,键入快捷键“Ctrl+]”。
实验一VC++6.0基本操作
实验一:VC++6.0基本操作【实验目的】1、了解VC++6.0集成环境;2、掌握在VC++6.0集成环境下编辑、编译、链接、运行C程序的全过程;3、重点通过运行简单的C程序,初步了解C程序的特点。
4、难点编写C程序并调试之。
【实验类型】验证型【实验类别】专业基础类【实验要求】:1、本实验是第一个实验,要求每个同学必须熟悉上机过程;2、每次实验必须独立完成,善于思考和总结;【实验内容与步骤】1、建立第一个C程序(文件名为hello.c)#include<stdio.h>main(){printf(“Hello world!\n”);}(1)新建一个C源程序①选择“文件”菜单的“新建”菜单项,单击“文件”标签,在对话框中左侧的列表框中,选中“C++Sourse File”,在对话框右侧设置源文件的名称(以hello.c命名)和源文件所保存的目录(路径),按下“确定”,键,屏幕显示出编辑窗口。
②在编辑窗口中输入程序。
(2)编译、连接和运行①在运行程序前,先对源程序进行编译。
使用Visual C++“构建(Build)”菜单,在下拉菜单中进一步选择“编译(Compile)”功能,也可以使用快捷键Ctrl+F7。
②在编译连接过程中,Visual C++6.0将保存该程序,并生成一个工作区。
a)如果程序有致命的错误,双击某行出错信息,程序窗口中会指示对应出错位置,根据信息窗口的提示分别予以纠正。
然后再进行编译,重复编辑→修改→编译的过程,直到错误消除为止。
b)其次是进行连接。
使用Visual C++,“构建”菜单,在下拉菜单中进一步选择“连接(Build)”功能。
c)最后,使用Visual C++“构建”菜单,在下拉菜单中进一步选择“运行(Execute)”功能(或快捷键Ctrl+F5)执行程序。
d)运行C程序后,Visual C++6.0将自动弹出数据输入输出窗口,按任意键关闭窗口。
e)当一个程序编译连接后,Visual C++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是所有窗口类的基类,很自然的,它也是所有控件类的基类。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
/jqandjq/article/details/3762205CDialogBar在VC6.0中的基本使用2009-01-12 19:43 1136人阅读评论(1) 收藏举报在VC中,如果只是简单的使用CButton之类的东西,是不需要使用CDialogBar类的,您只要简单使用CToolBar之类的就行了,但如果您要使用CCombobox, CTreeview, 或者是ActiveX control之类的就需要该类了。
在/default.aspx?scid=kb%3Ben-us%3B185672这篇文章中,述了如何使用CDialogBar的基本用法在使用向导生成自己的类基于CDialog的类之后要进行以下6步1、更改基类为CDialogBar,同时也要改BEGIN_MESSAGE_MAP 中的基类。
2、更改构造函数、DoDataExchange(),即CMyDlgBar (CWnd* pParent = NULL); // standard constructorCMyDlgBar:: CMyDlgBar (CWnd* pParent /*=NULL*/)CDialog(CMyDlgBar::IDD, pParent){...void CMyDlgBar::DoDataExchange(CDataExchange* pDX){Dialog::DoDataExchange(pDX);CDialogBar::DoDataExchange(pDX); // <-加上这一行...3、从类的头文件中删除virtual BOOL OnInitDialog();并添加afx_msg LONG OnInitDialog ( UINT, LONG );如下:class CMyDlgBar : public CDialogBar{...// Implementationprotected:// Generated message map functions//{{AFX_MSG(CMyDlgBar)virtual BOOL OnInitDialog();//}}AFX_MSGafx_msg LONG OnInitDialog ( UINT, LONG ); // <-加上这一行.DECLARE_MESSAGE_MAP()};4、在CPP文件中加入WM_INITDIALOG消息映射BEGIN_MESSAGE_MAP(CMyDlgBar, CDialogBar)//{{AFX_MSG_MAP(CMyDlgBar)...//}}AFX_MSG_MAPON_MESSAGE(WM_INITDIALOG, OnInitDialog ) // <-- 加上这一行.END_MESSAGE_MAP()5、添加OnInitDialog函数并更改,如下:LONG CMyDlgBar::OnInitDialog ( UINT wParam, LONG lParam){CDialog::OnInitDialog();// <-- 加上以下几行. -->BOOL bRet = HandleInitDialog(wParam, lParam);if (!UpdateData(FALSE)){TRACE0("Warning: UpdateData failed during dialog init./n");}...return bRet;6、在资源管理器中更改对话框的类型如下:Style: ChildBoarder: NoneVisible: Unchecked经过以上六步你就可以按正常的方法使用CdialogBar了。
什么叫正常的方法,CDialogBar派生自CContorBar。
而要让CdialogBar中控件变为“可见”,则还需做一件事,就是为控件提供Command Handler函数,而该函数必须是CdialogBar的父窗口以上的对象。
重新此时, 一切已被连接进行正常转换到CDialogBar 类从CDialog 类。
现在, 创建并使用它。
7. 将派生CDialogBar 的实例添加到CframeWnd - 派生类(通常称为CMainFrame)。
例如:class CMainFrame : public CFrameWnd{...CMyDlgBar m_myDlgBar;...};8. 为CFrameWnd::OnCreate() 方法中m_myDlgBar 变量调用创建方法类似于以下内容:int CMainFrame::OnCreate(LPCREATESTRUCT lpCreateStruct){...if (!m_myDlgBar.Create(this, IDD_DLGBAR1, CBRS_LEFT,IDD_DLGBAR1)){TRACE0("Failed to create dialog bar/n");return -1; // fail to create}...}9. 最后, 如果要支持动态停靠和调整是CDialogBar, 将下行添加到末尾CMainFrame::OnCreate():int CMainFrame::OnCreate(LPCREATESTRUCT lpCreateStruct){...m_myDlgBar.SetBarStyle(m_wndToolBar.GetBarStyle() |CBRS_TOOLTIPS | CBRS_FLYBY | CBRS_SIZE_DYNAMIC);m_myDlgBar.EnableDocking(CBRS_ALIGN_ANY);DockControlBar(&m_myDlgBar);return 0;}//-----------------------------------------------------------------------------------------+如果你想实现有工具条的浮动和定位功能,而且可以方便的摆放任何控件上去,请继续看这篇文章吧!那就使用CDialogBar就可以拥有和CDialog一样的方便和快捷。
步骤1:添加一个CDialogBar派生类在资源中添加一个对话框,再采用类向导来添加类,找不到CDialogBar作为基类吧,可以先用CDialog作为基类产生一个,然后把所以的“CDialog”替换为“CDialogBar”,替换完成了。
编译一下,^_^有错误吧!!请看步骤2。
步骤2:解决编译错误并完善该类其实错误就是构着函数调用基类时有问题,: CDialogBar(/*CDlgBar::IDD, pParent*/)象这样注释掉就可以了,添加一个类似OnInitDialog的函数,在CDialogBar中是不存在OnInitDialog的消息的,至少我还不知道,因为初始化是在创建后调用的所以我们就重写virtual BOOL Create(CWnd* pParentWnd,UINT nIDTemplate,UINT nStyle,UINT nID);这个函数。
注意哦用向导添加的Create函数的参数是不对的喔,看上面。
下面是实现代码(很简单的)BOOL CDlgXXX::Create(CWnd* pParentWnd,UINT nIDTemplate,UINT nStyle,UINT nID) {// TODO: Add your specialized code here and/or call the base classBOOL bRes= CDialogBar::Create(pParentWnd,nIDTemplate,nStyle,nID );InitDialogBar();//在类中添加一个成员函数就可以了return bRes;}BOOL CDlgXXX::InitDialogBar(){UpdateData(FALSE);//这个一定要啊,这样就会有和CDialog一样的数据交换效果了return TRUE;}步骤3:创建和使用if (!m_barAttrib.Create(this,IDD_DLG_COM_ATTRIB, CBRS_RIGHT|CBRS_GRIPPER, XXX)){TRACE0("Failed to create dialogbar/n");return -1;}m_barAttrib.SetWindowText("部件属性");XXX是一个资源id手工直接在资源的.h文件中添加一条,不会,这里就不教了。
工具条的显示和隐藏代码如下,自己慢慢理解吧:ShowControlBar(&m_barAttrib, (m_barAttrib.GetStyle() & WS_VISIBLE) == 0, FALSE);上面代码实现后DoDataExchange也是可以用,给控件添加控件就和CDialog一样的方便咯但是还有一个要注意的是就是控件类对象的添加,我试了一下好像不行,窗口句柄好像总是0的,不能使用。
还是使用GetDlgItem(IDC_DRIVER_LIST)来取得控件指针吧。
其他方面的心得利用DoDataExchange来控制自定义的输入格式控制这里就举一个文本框的例子给文本控件添加完变量后就在DoDataExchange会出现如下代码DDX_Text(pDX, IDC_COM_VAR, m_strVar);//系统产生的DDV_MaxChars(pDX, m_strVar,VAR_MAX_LEN);//加入长度控制后产生的DDV_FileNameString(pDX, m_strVar);//自定义的手工添加的实现见下面void CXXX::DDV_FileNameString(CDataExchange *pDX, CString m_strFileName){CString strError=_T("///:*?/"<>|");if(m_strFileName.SpanExc luding(strError) != m_strFileName){::AfxMessageBox(_T("文件名中不能包含"+strError+"字符"));pDX->Fail();//关键是这句执行这句后就会抛出异常下面的语句就不执行了}}还有几个注意点是1.只有执行了UpdateData()才会调用DoDataExchange函数若中途执行了pDX->Fail(); UpdateData()就返回FALSE。