VC界面制作实例步骤
vc6.0可视化编程实例 -回复
vc6.0可视化编程实例-回复vc6.0可视化编程实例是指在使用Microsoft Visual C++ 6.0编程工具进行可视化编程时的具体案例。
本篇文章将详细介绍vc6.0可视化编程实例的具体步骤和相关知识,以帮助读者更好地理解和应用可视化编程技术。
第一步:创建新项目首先,在vc6.0编程工具中点击“文件”菜单,选择“新建”->“项目”,然后在弹出的对话框中选择“Win32应用程序”作为项目类型。
接下来,填写项目名称、位置和解决方案等相关信息,点击“确定”按钮创建新项目。
第二步:设计界面在vc6.0中,可视化编程使用的是MFC(Microsoft Foundation Class)技术,通过使用控件和对话框设计工具来创建界面。
在解决方案资源视图中找到项目名称,展开后找到“资源文件”文件夹,并双击“资源文件.rc”文件,进入资源编辑器界面。
在资源编辑器中,用户可以通过拖放控件的方式设计界面。
例如,可以从“工具箱”控件面板中选择按钮控件,然后点击对话框中的位置放置按钮控件。
通过设置按钮的大小、位置、文字等属性来调整控件的外观。
在这个例子中,我们将在界面中放置一个按钮控件,用于实现一个简单的点击事件。
第三步:编写代码在界面设计完成后,我们需要为按钮添加点击事件的响应。
点击“类视图”选项卡,在其中找到对应的对话框类,通常以C开头,右键点击该类,选择“添加”->“函数”,并填写函数名称和返回类型等属性。
在弹出的函数编辑对话框中,输入要执行的代码。
例如,我们可以在按钮的点击事件函数中添加一段代码,用于弹出一个消息框显示一条消息。
在这个例子中,我们将添加一段代码,使点击按钮后弹出一个对话框,显示“Hello, world!”的消息。
第四步:编译和运行完成代码编写后,点击“生成”菜单,选择“生成解决方案”,或者直接按下F7键进行编译。
编译成功后,可以在输出窗口中查看编译结果。
接下来,点击“调试”菜单,选择“开始执行”或者按下F5键进行调试运行。
vc模板制作教程
vc模板制作教程
当制作VC模板时,可以遵循以下教程来创建一个没有标题的
模板,并确保文中不存在重复的标题文字。
1. 打开VC模板编辑软件,如Adobe After Effects或Final Cut Pro等。
2. 创建一个新的项目,并选择适合的分辨率和帧速率。
3. 在画面中央或其他合适位置放置一个适当大小的文本框,用于显示标题。
4. 在文本框中输入要显示的标题文本。
5. 适当调整文本框的大小和位置,以确保标题显示在合适的位置。
6. 根据需要选择合适的字体、字号和颜色,以使标题看起来吸引人且容易阅读。
7. 使用软件的动画功能,如缩放、淡入淡出、滚动等,为标题添加一些动态效果,增加视觉吸引力。
8. 可以添加背景、图像、视频片段或其他视觉元素来进一步增强模板的效果。
9. 调整动画的速度和时长,确保标题的显示时间在合适的范围内。
10. 导出模板为视频文件或其他可用格式,以便在需要时使用。
使用这个教程,你可以制作一个没有标题的VC模板,并避免
在文中出现重复的标题文字。
记住,模板的创意和设计可以根据个人喜好和需求进行调整和修改。
VC图形界面程序设计
Hale Waihona Puke 1. 在应用程序框架中包含并修改自定义类 【例1】 用VC++向导建立一个应用程序框 架,然后将先前建立的comFinal类的上 述2个文件添加到应用程序框架中。 • 过程如下
2. 在事件函数中操作类对象
• 应用程序框架中的每个类就像一个容器, 可以在其中包含其他类的对象,即可用 其他类定义它的对象成员。 • 如在例1建立的框架程序中,可以在应用 程序类MyProject、对话框类 MyProjectDlg中定义comFinal类的对 象,并通过对话框类的事件函数调用自 定义类的成员函数,实现需要的程序功 能。
(2) 在自定义类的源文件中增加对 stdafx.h头文件的包含
在comFinal.cpp文件中增加stdafx.h头文件包 含 /*comFinal.cpp*/ #include "stdafx.h" //不包含该头文件 将产生编译错误 #include "comFinl.h"
(3) 编译程序,这次不会有任何错误, 运行它将见到MFC默认的框架程序 界面
3.修改自定义类
• 现在来看看在自定义类的源程序中不包含 stdafx.h头文件会产生的问题。 (1)编译MyProject,将会见到如下错误信息:
– fatal error C1010: unexpected end of file while looking for precompiled header directive Chemistry.cpp – 这些错误指出在编译comFinl.cpp等源文件 时,没有找到需要的预编译头文件stdafx.h, 应该在comFinl.cpp中包含stdafx.h头文件。
VC 的UI设计实例
vc6.0可视化编程实例
vc6.0可视化编程实例VC6.0可视化编程实例目录:1. 引言2. VC6.0可视化编程简介3. 开发环境的搭建4. 实例介绍5. 实例实现步骤5.1 创建新的工程5.2 添加控件和设置属性5.3 编写代码逻辑5.4 编译和调试6. 结论1. 引言VC6.0是一款经典的集成开发环境(IDE),用于开发Windows 平台的应用程序。
其可视化编程能力使开发者能够通过拖拽控件、设置属性和编写代码来快速开发界面丰富的应用程序。
本文将通过一个具体的实例来介绍VC6.0的可视化编程过程。
2. VC6.0可视化编程简介VC6.0的可视化编程是基于MFC(Microsoft Foundation Classes)库实现的。
MFC是一套封装了Windows API的C++类库,它提供了丰富的控件和功能模块,方便开发者进行图形界面的设计和应用逻辑的实现。
VC6.0可视化编程通过拖拽控件和编写事件处理函数,实现应用程序的交互和功能逻辑。
3. 开发环境的搭建要进行VC6.0可视化编程,首先需要安装VC6.0开发环境。
您可以从官网或其他资源下载VC6.0安装文件,并按照安装向导进行安装。
安装完成后,打开VC6.0即可开始编程。
4. 实例介绍为了更好地理解VC6.0可视化编程,我们将以一个简单的实例为例:实现一个窗口应用程序,并在窗口中添加一个按钮。
点击按钮后,将弹出一个对话框显示一条信息。
5. 实例实现步骤5.1 创建新的工程打开VC6.0,在菜单栏中选择"File" > "New" > "Projects",选择"MFC AppWizard(Exe)",并填写相应的项目信息。
点击"OK",VC6.0将自动生成一个新的工程。
5.2 添加控件和设置属性在资源视图中,选择"Dialog"节点,双击它,打开资源编辑器。
VC界面设计(20120707103318)
创建漂亮的应用程序界面刘汇丹facteur@1. 首先在VC里面建立基于对话框的可执行应用程序工程,命名为demo。
2. 在主窗体对话框属性里取消Title bar属性,去掉对话框标题栏。
在对话框窗体里面添加如下图所示的各个控件实例。
靠右侧的那个Edit控件设置了只读属性。
3. 为两个Edit、Slider和进度条设置相应的映射变量。
在CDemoDlg::OnInitDialog()函数中设置初始值。
4. 使用位图作为窗体的背景。
使用绘图软件制作出喜欢的图片,保存为位图文件back.bmp,如下图所示。
注意制作的图片要和对话框窗体大小一致,本例中图片的大小为(380px,260px),背景色为RGB(127, 169, 255)。
将此位图文件拷贝到res文件夹下,并导入到工程里面,设置ID为IDB_BACKBMP,为CDemoDlg类添加保护成员变量CBitmapm_back,并在CDemoDlg::OnInitDialog()函数里面添加如下代码:在CDemoDlg::OnPaint()函数里面,以如下代码替换原来自动生成的代码:经过以上步骤以后,编译运行应用程序,可以看到如下图所示的效果:可以看到,窗体中各个控件的背景颜色和背景图片的颜色不一致。
我们需要做进一步的调整。
5. 统一设置控件的背景颜色:在CDemoApp::InitInstance()函数中int nResponse = dlg.DoModal()语句前插入如下代码:运行应用程序,效果如下图所示:此时,大部分控件的背景颜色已经和背景图片的颜色一致,已经基本形成了比较漂亮的图形界面。
但是我们要做得完美一些。
6.这一步,我们实现漂亮的按钮。
制作三个图片分别表示“确定”按钮正常、获取焦点和鼠标按下时的状态,如下面各图所示:将此三个图片保存为bmp格式的文件并导入到工程中,设置ID分别为IDB_OKUP,IDB_OKFOCUS,IDB_OKDOWN。
vc++6.0打造单文档界面与多文档界面的编程
vc++6.0打造单文档界面与多文档界面的编程VC++6中,可以利用MFC向导分别创建单文档和多文档界面的应用程序。
有了这两种类型的应用程序,您就可以实现简单的记事本,写字本和WORD的功能了。
以下介绍一个在文档中输出一段文字,点击菜单项,输入文字内容按OK按钮后可以更改输出的文字。
1.首先,点击MFC向导,选择多文档视图类型,新建一个名为MdiDemo的工程。
2.新建一个对话框。
上面放置一个Static控件和一个Edit控件,按CTRL+W,将Edit控件改成m_Caption.3.新建一个类与对话框对应,如CDlgDemo类。
4.在菜单中,增加一项Demo,并增加菜单项Test.按CTRL+W,并双击后,在消息的上面选择Doc,下面选择Command,双击就产生了对应的事件处理函数。
5.在MdiDemoDoc.cpp类中输入以下:// DlgDemo.cpp : implementation file//#include "stdafx.h"#include "MdiDemo.h"#include "DlgDemo.h"#ifdef _DEBUG#define new DEBUG_NEW#undef THIS_FILEstatic char THIS_FILE[] = __FILE__;#endif/////////////////////////////////////////////////////////////////// //////////// CDlgDemo dialogCDlgDemo::CDlgDemo(CWnd* pParent /*=NULL*/): CDialog(CDlgDemo::IDD, pParent){//{{AFX_DATA_INIT(CDlgDemo)m_Caption = _T("");//}}AFX_DATA_INIT}void CDlgDemo::DoDataExchange(CDataExchange* pDX){CDialog::DoDataExchange(pDX);//{{AFX_DATA_MAP(CDlgDemo)DDX_Text(pDX, IDC_EDIT1, m_Caption);//}}AFX_DATA_MAP}BEGIN_MESSAGE_MAP(CDlgDemo, CDialog)//{{AFX_MSG_MAP(CDlgDemo)// NOTE: the ClassWizard will add message map macros here //}}AFX_MSG_MAPEND_MESSAGE_MAP()/////////////////////////////////////////////////////////////////// //////////// CDlgDemo message handlers6.在MdiDemoView.cpp中输入以下内容:// MdiDemoView.cpp : implementation of the CMdiDemoView class//#include "stdafx.h"#include "MdiDemo.h"#include "MdiDemoDoc.h"#include "MdiDemoView.h"#ifdef _DEBUG#define new DEBUG_NEW#undef THIS_FILEstatic char THIS_FILE[] = __FILE__;#endif/////////////////////////////////////////////////////////////////// //////////// CMdiDemoViewIMPLEMENT_DYNCREATE(CMdiDemoView, CView)BEGIN_MESSAGE_MAP(CMdiDemoView, CView)//{{AFX_MSG_MAP(CMdiDemoView)// NOTE - the ClassWizard will add and remove mapping macros here.// DO NOT EDIT what you see in these blocks of generated code!//}}AFX_MSG_MAP// Standard printing commandsON_COMMAND(ID_FILE_PRINT, CView::OnFilePrint)ON_COMMAND(ID_FILE_PRINT_DIRECT, CView::OnFilePrint) ON_COMMAND(ID_FILE_PRINT_PREVIEW,CView::OnFilePrintPreview)END_MESSAGE_MAP()/////////////////////////////////////////////////////////////////// //////////// CMdiDemoView construction/destructionCMdiDemoView::CMdiDemoView(){// TODO: add construction code here}CMdiDemoView::~CMdiDemoView(){}BOOL CMdiDemoView::PreCreateWindow(CREATESTRUCT& cs){// TODO: Modify the Window class or styles here by modifying// the CREATESTRUCT csreturn CView::PreCreateWindow(cs);}/////////////////////////////////////////////////////////////////// //////////// CMdiDemoView drawingvoid CMdiDemoView::OnDraw(CDC* pDC){CMdiDemoDoc* pDoc = GetDocument();ASSERT_VALID(pDoc);// TODO: add draw code for native data hereCRect crect;GetClientRect(&crect);CSize sizeClient=crect.Size();CString str=pDoc->strCaption;CSize sizeTextExtent=pDC->GetTextExtent(str);pDC->TextOut((sizeClient.cx-sizeTextExtent.cx)/2,(sizeClient.cy-sizeTextExtent.cy)/2,str);}/////////////////////////////////////////////////////////////////// //////////// CMdiDemoView printingBOOL CMdiDemoView::OnPreparePrinting(CPrintInfo* pInfo) {// default preparationreturn DoPreparePrinting(pInfo);}void CMdiDemoView::OnBeginPrinting(CDC* /*pDC*/, CPrintInfo* /*pInfo*/){// TODO: add extra initialization before printing}void CMdiDemoView::OnEndPrinting(CDC* /*pDC*/, CPrintInfo* /*pInfo*/){// TODO: add cleanup after printing}/////////////////////////////////////////////////////////////////// //////////// CMdiDemoView diagnostics#ifdef _DEBUGvoid CMdiDemoView::AssertValid() const{CView::AssertValid();}void CMdiDemoView::Dump(CDumpContext& dc) const{CView::Dump(dc);}CMdiDemoDoc* CMdiDemoView::GetDocument() // non-debug version is inline{ASSERT(m_pDocument->IsKindOf(RUNTIME_CLASS(CMdiD emoDoc)));return (CMdiDemoDoc*)m_pDocument;}#endif //_DEBUG/////////////////////////////////////////////////////////////////// //////////// CMdiDemoView message handlers6。
VC界面制作实例步骤
m_Edit2.SetWindowText(str); //通過變量 m_Edit2調用函數SetWindowText,將字符串變量”str”的
內容通過編輯框2顯示出來.
if(strcmp(str,"1234")==0) //將字符串變量”str”與”1234”比較,相等時則結果為0.不相等為1 MessageBox("welcome to aedd"); //結果為0時執行. else MessageBox("password is wrong"); //結果為1時執行 m_Edit1.SetWindowText(0); //將編輯框1的內容清零.
if(MessageBox("確定要退出應用程序嗎?","系統提示", MB_OKCANCEL|MB_ICONQUESTION)!=IDOK) //判斷是否按下確定按鈕 return; //用戶點击”取消”按鈕時不退出. CDialog::OnClose(); //關閉對話框
步驟4.進入工作台界面,如下圖示,並將編輯窗口已有 的一個靜態文本控件和兩個按鈕控件刪除.
工作區窗口
編輯窗口
輸出窗口
步驟5.如下圖所示,向步驟4所示的對話框界面 添加一個靜態文本控件,兩個編輯框控件,一個 按鈕控件.
靜態文本控件 編輯框控件 按鈕控件
步驟6.添加控件後的界面
步驟7.ctrl+w打開類向道為按鈕Button1建立 消息映射函數,如下圖,選擇Add Function…
消息映射 類名
工程名
資源ID 要處理的事件
vc使用模板怎么弄教程
vc使用模板怎么弄教程
要创建一个没有标题的Visual Composer (VC)模板,你可以按
照以下步骤进行操作:
1. 登录到WordPress的后台管理面板。
2. 在左侧导航栏中,找到并点击"页面"选项。
3. 在页面列表中,找到并点击要编辑的页面。
4. 在页面编辑器中,找到要添加VC模板的位置,并点击"+"
图标来添加一个新元素或模块。
5. 在关于要添加的模块对话框中,选择"Visual Composer"或"VC"选项。
这将打开VC的编辑器界面。
6. 在VC编辑器中,你可以选择适合你的页面的模板。
你可以
浏览并选择不同的模板,确保它们没有任何标题。
7. 一旦你选择了一个合适的模板,你可以将其拖放到页面编辑器的适当位置。
8. 继续根据你的需求编辑和自定义模板。
你可以更改模板中的文本、图像、布局等等。
9. 保存页面,预览并检查所做的更改。
需要注意的是,VC提供了许多默认模板,其中一些可能具有
标题。
你需要选择一个没有标题的模板进行编辑。
如果你在模板中添加了标题,确保每个标题都是唯一的,并不会重复出现在页面上。
这将有助于确保你的页面没有重复的标题。
希望这个简单的教程能够帮助你创建一个没有标题的VC模板!。
C可视化界面设计方案方法
C可视化界面设计方案方法例:模式对话框(通过菜单命令弹出)1)建一个单文档(SDI)应用程序2)创建对话框模板Insert→Resource→选中Dialog→单击New拖过一个静态文本,鼠标对准它,按右键点properties改标题为“新建模式对话框”。
3)鼠标右键对准对话框的任何位置单击,选择properties选项,设置ID为IDD_MYDIALOG4)给对话框创建类双击新建对话框的任何位置,单击OK,写类名为“CMyDlg”,保证”CDialog”作为该类的基类。
5)创建菜单命令:a)打开资源编辑器的菜单项Menub)双击IDR_MAINFRAMEc)双击右边空白菜单,点开pop_up(让它是空白),在名字处写”弹出对话框(&A)”,ID处写ID_PUPDIALOG6)将菜单命令连接到主框架程序中,完成ID_PUPDIALOG的消息映射:View→ClassWizard→保证Class name里是CMainFrame,在ObjectIDs里找到ID_PUPDIALOG点黑→Messages里(右边)点COMMAND建立主框架对象方法并加代码:void CMainFrame::OnPupdialog(){ CMyDlg MyDlg;MyDlg.DoModal(); //DoModal()是CDialog类成员函数,通过调用该//函数将显示对话框。
}7)在CMainFrame.cpp文件里加:#include “MyDlg.h”// 之后运行。
例2:无模式对话框(为175页附加举例)非模式对话框,弹出后,可一直保留在屏幕上,用户可继续在应用中进行其它操作或启动其它应用程序,当需要使用对话框时,只需象激活一般窗口一样激活对话框即可。
1)建一个SDI(单文档)应用程序2)创建对话框模板Insert→Resource→点黑Dialog→New拖过一个静态文本,鼠标对准它,按右键点properties改标题为“新建非模式对话框”。
VC界面编程25
VC界面编程总结[前言:]拥有美丽的外观,软件就成功了一半。
界面由控件、工具栏、菜单、窗体等元素组成,对他们进行美化就能得到一个美丽的界面。
我们经常会使用到组合框,而组合框是是有2种功能的--下拉和列表。
一般情况下,列表框的宽度和选择框是一样宽的,但是我们有些时候确实很需要把列表框的宽度变大,一便让我们能更好的看我们要选的东西。
为了能有这个功能,我写了下面的这个函数。
首先得在你的对话框中添加一个的WM_CTLCOLOR的消息句柄,或者使用CComboBox的继承类,而且在其中添加下面的代码:HBrush tvisualcombo::onctlcolor(CDC* pdc, CWND* pwnd, UINT nctlcolor) {HBrush hbr = ccombobox::onctlcolor(pdc, pwnd, nctlcolor);switch (nctlcolor) {case ctlcolor_edit:break;case ctlcolor_listbox:if (listwidth > 0) {// new width of a listbox is definedCRect rect;pwnd->GetWindowRect(&rect);if (rect.Width() != listwidth) {rect.right = rect.left + listwidth;pwnd->MoveWindow(&rect);}}break;}// todo: return a different brush if the default is not desired return hbr;}这样之后还没有完全好,你还得刷新一下列表框,那样才能随时根据列表框中的文本的长度,而改变列表框的宽度,要想这样的话,你还得这样,你必须扫描列表框中的条目,还得计算其中文本的长度(通过pdc),这样你如果再刷新列表框的话,才能一条目中比较长的来显示。
利用VC编写简单的绘图程序
利用VC编写简单的绘图程序上机实验环境亦可选择Microsoft Visual C++〔以下简称VC〕。
VC是美国微软公司生产的基于其Windows系统的软件开发工具。
它具有使用灵活,并与32位Windows内核〔使用于Windows 2000/Windows XP〕高度兼容的特点,从而被Windows程序员们广泛使用。
VC 在图形图像处理方面有着广泛的应用,MFC中提供了大量的图形图像函数,下面我们将对使用VC/MFC编写简单的绘图程序。
一、使用VC编写MFC单文档应用程序很简单,只需要按照下面几个步骤进行:1.翻开MSVC集成开发环境。
双击桌面或“开始〞菜单中的Microsoft VisualC++6.0,不久将看到VC的编辑窗口,如图3-5:图1 VC启动界面2.选择菜单“File | New〞,在弹出的对话框中1)单击上方的选项卡“Project〞,2)选择“MFC AppWizard(exe)〞,3)在“Project name〞一栏中填写工程名,例如draw,4)在“Location〞一栏中填写你想把文件存放的位置〔目录〕。
然后按“OK〞。
见图2。
注意:第4〕步中指定你自己的目录,不要使用系统的缺省目录或者随便放在根目录或者其他的目录下。
这样便于你找到自己编写的程序。
图2 应用程序向导主界面3.在MFC Appwizard-Step 1中选择“Single Document〞,即单文档应用程序,点击“Finish〞,如图3所示。
注意:对于下面的操作我们可以忽略,直接点Finish即可。
图3 应用程序向导中选择单文档视图4.系统弹出一个当前工程信息的对话框,如图4所示,直接点“OK〞即可。
图4 新建工程信息5.进入程序编写的主界面,屏幕左下方为工作区,如图5所示,工作区中共有三种视图,分别是:1)文件视图〔“FileView〞〕,主要包括头文件,cpp文件以及资源文件。
我们在头文件中一般添加类的定义,类的成员变量和函数的声明,而在cpp文件中具体实现函数。
轻松实现类VC界面
轻松实现类VC界面作者:浙江省温岭电信局王骏下图是一个类似VC的界面,左边、底下有两个可浮动、可变大小的控制窗口。
许多朋友都希望在自己的程序中实现类似的界面,因为此种类型的界面用途很广、通用性很强,所以笔者总结了一下实现的步骤,辑此一文,并提供源代码供大家参考!下载本文示例工程44.3K (最新更新:2004年2月8日)一、实现原理图中两个窗口的实现类是从CControlBar派生出来的,我们并不需要从头到尾实现该类,因为Cristi Posea先生已经为我们实现了一个称为CSizingControlBar的类,而且做得相当完美!我们所要做的便是好好地利用该类,为了尽可能地简洁,笔者将CSizingControlBar类修改了一下并命名为CCoolBar,接下来我们将详细介绍如何利用该类实现我们所需的界面。
二、实现步骤示例[1]前期准备新建一个名为BarDemo的MFC工程,SDI界面,去掉文档视图结构,其它选项默认。
将本文示例代码中的sizecbar.h sizecbar.cpp scbarg.h scbarg.cpp 四个文件复制到工程目录下。
在菜单Project->Add to project->Files将四个文件加入工程中,此时在ClassView中将出现了一个称为CCoolBar的类。
在stdafx.h文件中加上#include "sizecbar.h"#include "scbarg.h"[2]开始编码2.1 为CMainFrame增加成员变量CCoolBar m_wndMyBar1;///我们将它作为左边的窗口CCoolBar m_wndMyBar2;///停靠在下方的窗口以下代码需要添加到CMainFrame::OnCreate中,方法与普通工具条的创建没有太大的区别!2.2 创建ControlBarif (!m_wndMyBar1.Create(_T("我的控制条"),this,123)){ TRACE0("Failed to create mybar\n"); return -1; }if (!m_wndMyBar2.Create(_T("我的控制条2"),this,CSize(100,100),TRUE,124)){ TRACE0("Failed to create mybar\n"); return -1; }2.3 停靠控制m_wndMyBar1.SetBarStyle(m_wndMyBar1.GetBarStyle() | CBRS_TOOLTIPS | CBRS_FLYBY | CBRS_SIZE_DYNAMIC);m_wndMyBar2.SetBarStyle(m_wndMyBar2.GetBarStyle() | CBRS_TOOLTIPS | CBRS_FLYBY | CBRS_SIZE_DYNAMIC);m_wndMyBar1.EnableDocking(CBRS_ALIGN_ANY);m_wndMyBar2.EnableDocking(CBRS_ALIGN_ANY);DockControlBar(&m_wndMyBar1, AFX_IDW_DOCKBAR_LEFT);///停靠在左边DockControlBar(&m_wndMyBar2, AFX_IDW_DOCKBAR_BOTTOM);///停靠在右边此时我们已经生成了两个控制条窗口,但窗口中还没有任何东西!让我们来做最后一件事情:往窗口添加所需部件!2.4 添加我的控件这个问题看似有些麻烦其实相当简单:我们只要在创建这些控件时将控制条窗口指针作为父窗口指针赋值给这些控件即可!请看如下例子(需要注意的是以下列举的几种形式,你只能选择其一,同时往一个控制条窗口添加多个子窗口将导致失败!)(1)将编辑控件放入下面那个控制条窗口中在CMainFrame类中添加成员变量CEdit m_wndEdit;在创建ControlBar后创建编辑控件m_wndEdit.Create(WS_VSCROLL|WS_CHILD|WS_VISIBLE|ES_AUTOVSCROLL|ES_MULTILINE|ES_WANTRETURN,CRect(0,0,0,0),&m_wndMyBar2,101);m_wndEdit.ModifyStyleEx(0,WS_EX_CLIENTEDGE);(2)将树型控件放入左边那个控制条窗口中在CMainFrame类中添加成员变量CTreeCtrl m_wndTree;;在创建ControlBar后创建树型控件/////////////这一段代码创建树型控件////////////if (!m_wndTree.Create(WS_CHILD|WS_VISIBLE|TVS_HASLINES|TVS_HASBUTTONS|TVS_LINESATROOT,CRect(0, 0, 0, 0), &m_wndMyBar1, 100)){TRACE0("Failed to create instant bar child\n");return -1;}m_wndTree.ModifyStyleEx(0, WS_EX_CLIENTEDGE);////往树型控件添加内容///HTREEITEM hti = m_wndTree.InsertItem(_T("VC知识库在线杂志"));m_wndTree.InsertItem(_T("电子文档"));m_wndTree.InsertItem(_T("在线杂志第一期"), hti);m_wndTree.InsertItem(_T("在线杂志第二期"), hti);(3)将对话框放入控制条中首先在资源编辑器里制作一个CHILD类型的无BORDER对话框,ID为IDD_DIALOGBAR,并以此作为模板生成CVCKBASEDlg类,并在CMainFrame中添加成员变量CVCKBASEDlg m_wndVCKBASE;然后在创建ControlBar后用如下代码创建对话框m_wndVCKBASE.Create(IDD_DIALOGBAR,&m_wndMyBar1);m_wndVCKBASE.ShowWindow(SW_SHOW);(4)将TabCtrl放入左边的控制条本文的示例代码中提供了一个称为CCoolTabCtrl的封装类,我们用它可以简单地创建出TabCtrl,先请看如下代码m_TabCtrl.Create(TCS_DOWN|WS_CHILD|WS_VISIBLE,CRect(0,0,100,1 00),&m_wndMyBar1,125);/////////////这一段代码创建树型控件////////////if (!m_wndTree.Create(WS_CHILD|WS_VISIBLE|TVS_HASLINES|TVS_HASBUTTONS|TVS_LINESATROOT,CRect(0, 0, 0, 0), &m_TabCtrl, 100)) ///注意,这里是将m_TabCtrl作为m_wndTree的父窗口{TRACE0("Failed to create instant bar child\n");return -1;}m_wndTree.ModifyStyleEx(0, WS_EX_CLIENTEDGE);///往树型控件添加内容HTREEITEM hti = m_wndTree.InsertItem(_T("VC知识库在线杂志"));m_wndTree.InsertItem(_T("电子文档"));m_wndTree.InsertItem(_T("在线杂志第一期"), hti);m_wndTree.InsertItem(_T("在线杂志第二期"), hti);///将树型控件加入到TabCtrl中m_TabCtrl.AddPage(&m_wndTree,"VC知识库",IDI_ICON1); ///将树型控件添加到第一页m_TabCtrl.AddPage(RUNTIME_CLASS(CVCKBASEDlg),IDD_DIALOGBAR,"第二页",IDI_ICON2); ///将CVCKBASEDlg对话框添加到第二页m_TabCtrl.AddPage(RUNTIME_CLASS(CMyDlg),IDD_DIALOGBAR2,"第三页",IDI_ICON3); ///将CMyDlg对话框添加到第三页m_TabCtrl.UpdateWindow(); ///更新TabControl需要注意的是希望添加到TabControl中的对话框,在其类定义,类实现文件中必须添加如下信息:例如CVCKBASEDlg类,在VCKBASEDlg.h中添加DECLARE_DYNCREATE(CVCKBASEDlg)class CVCKBASEDlg : public CDialog{// Constructionpublic:CVCKBASEDlg(CWnd* pParent = NULL); // standard constructorDECLARE_DYNCREATE(CVCKBASEDlg)在.CPP中增加IMPLEMENT_DYNCREATE(CVCKBASEDlg, CDialog)至此我们已经大功告成!我们可以编译运行一下看看两个控制条有没有创建成功。
vc 软件框架窗口界面设计
vc++软件框架窗口界面设计.txt同志们:别炒股,风险太大了,还是做豆腐最安全!做硬了是豆腐干,做稀了是豆腐脑,做薄了是豆腐皮,做没了是豆浆,放臭了是臭豆腐!稳赚不亏呀!本文由zhoujc860206贡献ppt文档可能在WAP端浏览体验不佳。
建议您优先选择TXT,或下载源文件到本机查看。
第6章框架窗口界面设计章框架窗口界面设计6.1框架窗口 6.1框架窗口 6.2菜单 6.2菜单 6.3工具栏 6.3工具栏 6.4状态栏 6.4状态栏 6.5交互对象的动态更新 6.5交互对象的动态更新 6.6图标和光标 6.6图标和光标 6.1框架窗口 6.1框架窗口6.1.1单文档和多文档程序框架窗口单文档和多文档程序框架窗口文档应用程序的MFC类结构类结构文档应用程序的如图是单文档应用程序Ex_SDI和多文档应用程序Ex_MDI的MFC类结构。
CAboutDlg是每一个应用程序框架都有的,用来显示本程序的有关信息。
CEx_SDIApp 和CEx_MDIApp是应用程序类,是从CWinApp类派生而来,负责应用程序创建、运行和终止,每一个应用程序都需要这样的类。
CEx_SDIDoc和CEx_MDIDoc是文档类,它们是从CDocument 类派生而来,负责应用程序文档数据管理。
CEx_SDIView和CEx_MDIView是视图类,它们既可以从基类CView派生,也可以从CView派生类派生,负责数据的显示、绘制和其他用户交互。
CMainFrame类是用来负责主框架窗口的显示和管理,包括工具栏和状态栏等界面元素的初始化。
对于单文档应用程序来说,主框架窗口类是从CFrameWnd派生而来的,而对于多文档应用程序程序,主框架窗口是从CMDIFrameWnd派生的。
6.1框架窗口 6.1框架窗口CChildFrame类是从CMDIChildWnd派生而来,专门用来管理多文档应用程序中的文档窗口。
无论是 CMDIChildWnd 还是 CMDIFrameWnd 类,它们都是从 CFrameWnd 派生而来的。
VC++界面设计
位图处理
缓冲技术:即将需要展现的图形先绘制在缓存DC 中,待所有图形绘制完成再加载到界面。源码实 现:
pBoardWnd->UpdateWindow(); CDC MemDC; // 创建DC MemDC.CreateCompatibleDC( pboardDC); // 内存缓存DC m_BoardBmp.LoadBitmap(IDB_BOARD); // 加载位图 // 选择位图到缓存区 pOldBmp = MemDC.SelectObject(&m_BoardBmp);
void CGui_amazonsDlg::OnTbitem1() { MessageBox("工具栏按钮1, cnt-- ", NULL, MB_OK); mydata.subCnt(); this->DrawBoard(); }
运行结果
3Q
m_Queen.Create(IDB_CHESS, 40, 40, RGB(255,255,255));
(4) 绘制棋子:
pt.x = 60; pt.y = 60; m_Queen.Draw( &MemDC,1,pt,ILD_TRANSPARENT);
事件响应
类向导:右键->class wizard
接下来,就是往对话框中添加组件、绘制漂亮 的图形、添加消息处理、实现用户交互……
添加菜单
新建“菜单”: insert->resource->menu 可以选择new(新建)或import(导入)菜单 编辑“菜单”: 双击菜单项,弹出属性对话框后进行编辑。 注:a) ID的命名,保证唯一性以及规范性;b) 快捷键,如, 对文件选项添加快捷键为F,则Caption为:文件(&F) 加载“菜单”: 鼠标移动到当前对话框,右键属性,Menu项选中你所创建 的菜单的ID。
VC中四种程序启动画面的制作方法
Splash=new CSplashDlg(); Splash->Create(IDD_DIALOG1); Splash->ShowWindow(SW_SHOW); … } 4.制作基于对话框的应用程序启动画面 以上几种方法都不能给基于对话框的应用程序做启动画面,下面介绍一种方法给基于对话框的应用程 序做启动画面。基于对话框的应用程序没有主框架,因此不能采用前面几种方法制作启动画面。不过我们 可以把方法一建立起的启动画面文件移植过来,然后,对程序进行一些修改。 (1)参照方法一建立基于单文档的工程 Splash。 (2)建立基于对话框的工程 Cover。 (3)文件移植 ①将 Splash1.cpp 和 Splash1.h 两个文件从方法一建立的 Splash 工程拷贝到 Cover 工程中, 并且分别 加入到 Source Files 和 Header Files 中; ②导入位图文件到工程的资源中,改 ID 为 IDB_SPLASH。 (4)修改代码,实现启动画面的调用 ①添加 CCoverApp 的 InitInstance() 函数代码 #include "Splash1.h" //加在 Cover.cpp 文件的头文件调用部位 BOOL CCoverApp::InitInstance() { CCommandLineInfo cmdInfo; ParseCommandLine(cmdInfo); CSplashWnd::EnableSplashScreen(cmdInfo.m_bShowSplash); ... } ②使用 ClassWizard 添加 OnCreate() 函数到对话框类 CCoverDlg 中,并修改代码#include "Splash1.h" //加在 CoverDlg.cpp 文件的头文件调用部位 int CCoverDlg::OnCreate(LPCREATESTRUCT lpCreateStruct) { ... CSplashWnd::ShowSplashScreen(this); //显示启动画面 ... } 说明:启动画面停留时间的修改同方法一。 5.结束语
VC++6.0外挂界面的最详细的制作过程
VC++6.0外挂界面的最详细的制作过程来广海也有3个月了,在这里虽然还没有学到很多东西(主要是在看书学C++编程语言,从基础学起),目前还是菜鸟一个。
学写外挂也算是工作之余的一个兴趣,下面说一下我制作外挂界面的过程(重点哈,虽然这个再加上找CALL,写CALL,基本上就可以用了,但最好还是自己写几遍,把知识学到手才行):第一步:写一个名为GameDll.dll的动态连接库,并把它注入到指定窗口标题的进程当中去;(1) 建MFC DLL工程打开VC6.0,建立新工程->创建MFC(dll),文件名为GameDll,选择 Regular DLL using shared mfc DLL ,点OK;(2) 在左侧列表框里找到GameDll.cpp,双击进入,在最后面空白处编辑:输入一下代码//GameDll.cpp最尾部创建回调函数KeyboardProcLRESULT CALLBACK KeyboardProc(int code, // hook codeWPARAM wParam, // 实际的按键代码=VK_12 VK_HOMELPARAM lParam // 31位为0的,则表示被按下,用(lParam&(1<<31)==0)来表达){AFX_MANAGE_STATE(AfxGetStaticModuleState());//函数首部添加AFX的宏,防止一些不可预料错误的发生//(下面这行一定要一整行,不知道为什么,我分行后编译能通过,但是不能呼出外挂,你们有兴趣可以分行试下)if (gameform==NULL) { gameform=new CWGForm;gameform->Create(IDD_DIALOG_MAIN);}//分配一块内存,创建主对话框else {gameform->ShowWindow(gameform->IsWindowVisible() ? SW_HIDE : SW_SHOW); } //根据当前呼出窗口的状态来显示或隐藏呼出窗口(参看论坛淡水小C的代码加的这行)return CallNextHookEx(0,code,wParam,lParam);}#define GameCaption "GameTest" //预编译窗口标题,GameTest就是您要注入DLL的窗口标题,到时候修改这里就可以了/////安装勾子的函数void SetHook() //SetHook在GameDll.def里面套出后在能使用{AFX_MANAGE_STATE(AfxGetStaticModuleState());//函数首部添加AFX的宏,防止一些不可预料错误的发生//获取游戏主线程ID//FindWindowHWND gameh=FindWindow(NULL,GameCaption);if (gameh==0){AfxMessageBox("未找到游戏");}//加入是否找到游戏窗口的判断,可以不要//GetWindowThreadProcessIdDWORD tid=::GetWindowThreadProcessId(gameh,NULL);::SetWindowsHookEx(WH_KEYBOARD,&KeyboardProc,::GetModuleHandle("GameDll.dll"),tid);}///编译好之后建一个MFC的基本对话框调用GameDll.dll(3)新建一个MFC(exe)的基本对话框,名为Gamewg,点OK->在基本对话框里添加一个按钮->按钮上右键更改ID为IDC_BUTTON_SetHook,更改Caption为安装函数,双击刚才添加的按钮进入编辑:__declspec( dllimport ) void SetHook(); //声明SetHook()函数#pragma comment(lib,"GameDll.lib") //加入lib库的链接,并把“GameDll.dll,GameDll.lib”2个文件拷入Gamewg文件的根目录void CGamewgDlg::OnBUTTONSetHook(){// TODO: Add your control notification handler code here//调用GameDll.dll里的SetHook()SetHook();}//发布,并把Release目录下的Gamewg.exe复制到GameDll\Release和GameDll\Debug文件夹下面,接着打开GameDll.dsw //打开GameDll.dsw后先编译一次,一般会弹出对话框,要求输入Gamewg.exe的路径,如果有错误的话,在点击Project->Setting->Debug里面的第一个编辑框里重新设置一下Gamewg.exe的路径就好了(4).插入资源-->选DiaLog(更改窗口ID为IDD_DIALOG_MAIN)-->双击新建的DiaLog窗口,给DiaLog创建新类,名为CWGForm-->在GameDll.cpp的头部包含头文件"WGForm.h",创建指针类型的类变量CWGForm *gameform;if ((wParam==VK_HOME)&&(lParam&(1<<31)==0)){AfxMessageBox("按下HOME键");//测试用,可删除if (gameform==NULL){gameform=new CWGForm; //分配内存大小gameform->Create(IDD_DIALOG_MAIN);//创建类窗口}gameform->ShowWindow(true);//显示类的窗口}(5)///退出时清空内存在头文件GameDll.h中定义清空内存函数:int ExitInstance();//表示动态链接库退出的时候的动作在GameDll.cpp中构建ExitInstance函数int CGameDllApp::ExitInstance(){delete gameform;//释放相应的内存空间gameform=NULL;return CWinApp::ExitInstance();//WinApp基类函数}//编译一下,随便找个程序,把在源码中把那个程序的窗口标题找出来,把文中的GameTest替换掉,是不是按HOME键可以呼出一个界面了第二步:给上步中简单的界面添加TAB控件;//打开GameDll.dsw,给基本对话框添加TAB控件按钮//右键TAB控件按钮,选择Properties,修改ID为IDC_TABMAIN//右键TAB控件按钮->ClassWizard---->Member variables---->Add variables-->第一行m_tabmain,第二行control,第三行ctabctrl, 点OK(给TAB控件一个变量m_tabmain)//右键主窗口(除右键TAB控件按钮的其他地方)-->Events--->选择WM_InitDialog(初始化窗口)--双击WM_InitDialog进入编辑--输入:m_tabmain.InsertItem(0,"CALL测试");//创建名为“CALL测试”的TAB控件标签m_tabmain.InsertItem(1,"保护");/创建名为“保护”的TAB控件标签m_tabmain.InsertItem(2,"技能");/创建名为“技能”的TAB控件标签m_tabmain.InsertItem(3,"捡物");/创建名为“捡物”的TAB控件标签m_tabmain.InsertItem(4,"组队");/创建名为“组队”的TAB控件标签m_tabmain.InsertItem(5,"回城");/创建名为“回城”的TAB控件标签回到基本对话框--插入资源--Dialog 6个---修改6个Dialog的ID分别为://设置每个页面属性:右键对应页面,选择Styles-->Border-->NoneIDD_PAGE0IDD_PAGE1IDD_PAGE2IDD_PAGE3IDD_PAGE4IDD_PAGE5新创建头文件myVar--进入编译CDialog page0;CDialog page1;CDialog page2;CDialog page3;CDialog page4;CDialog page5;//右键主窗口(除右键TAB控件按钮的其他地方)-->Events--->选择WM_InitDialog(初始化窗口)--双击WM_InitDialog进入编辑--输入://最顶上输入#include "myVar.h",包含头文件myVar.h//右键控件窗口--事件---选择WM_InitDialog(初始化窗口)--双击进入编辑--输入://创建页面窗口page0.Create(IDD_PAGE0,GetDlgItem(IDC_TABMAIN));page1.Create(IDD_PAGE1,GetDlgItem(IDC_TABMAIN));page2.Create(IDD_PAGE2,GetDlgItem(IDC_TABMAIN));page3.Create(IDD_PAGE3,GetDlgItem(IDC_TABMAIN));page4.Create(IDD_PAGE4,GetDlgItem(IDC_TABMAIN));page5.Create(IDD_PAGE5,GetDlgItem(IDC_TABMAIN));//设置父窗口page0.SetParent(GetDlgItem(IDC_TABMAIN));page1.SetParent(GetDlgItem(IDC_TABMAIN));page2.SetParent(GetDlgItem(IDC_TABMAIN));page3.SetParent(GetDlgItem(IDC_TABMAIN));page4.SetParent(GetDlgItem(IDC_TABMAIN));page5.SetParent(GetDlgItem(IDC_TABMAIN));//定义窗口的大小范围RECT r1;GetDlgItem(IDC_TABMAIN)->GetClientRect(&r1);r1.left=8;r1.top=28;r1.bottom-=2;r1.right-=2;//设置窗口位置page0.MoveWindow(&r1);page1.MoveWindow(&r1);page2.MoveWindow(&r1);page3.MoveWindow(&r1);page4.MoveWindow(&r1);page5.MoveWindow(&r1);//默认page0page0.ShowWindow(true);//点击左侧目录Dialog下面的IDD_DIALOG_MAIN,双击TAB控件进入编辑://通过函数GetCurSel来获得当前鼠标所点击的选项卡switch(m_tabmain.GetCurSel()){case 0:{page0.ShowWindow(true);//显示page1.ShowWindow(false);page2.ShowWindow(false);page3.ShowWindow(false);page4.ShowWindow(false);page5.ShowWindow(false);break;}case 1:{page0.ShowWindow(false);page1.ShowWindow(true);//显示page2.ShowWindow(false);page3.ShowWindow(false);page4.ShowWindow(false);page5.ShowWindow(false);}case 2:{page0.ShowWindow(false); page1.ShowWindow(false); page2.ShowWindow(true);//显示page3.ShowWindow(false); page4.ShowWindow(false); page5.ShowWindow(false); break;}case 3:{page0.ShowWindow(false); page1.ShowWindow(false); page2.ShowWindow(false); page3.ShowWindow(true);//显示page4.ShowWindow(false); page5.ShowWindow(false); break;}case 4:{page0.ShowWindow(false); page1.ShowWindow(false); page2.ShowWindow(false); page3.ShowWindow(false); page4.ShowWindow(true);//显示page5.ShowWindow(false); break;}case 5:{page0.ShowWindow(false); page1.ShowWindow(false); page2.ShowWindow(false); page3.ShowWindow(false); page4.ShowWindow(false); page5.ShowWindow(true);//显示break;}default:{}}第三步:给上一步中新建的6个Dialog对话框添加类,双击对应窗口,新建类为CPAGE0,CPAGE1,CPAGE2,CPAGE3,CPAGE4,CPAGE5.然后你就可以尽情的发挥想象力,在6个对话框中添加各种外挂的编辑框,按钮等等,在主对话框中添加开始挂机,停止挂机,保存设置等等啦,注意要关联好变量(最好是用记事本记录下来,免的弄错了),再然后就是找CALL,写CALL了。
C语言编写一个计算器界面(可视化界面和多功能)
C语⾔编写⼀个计算器界⾯(可视化界⾯和多功能)⽬录引⾔计算器总结引⾔在⼤学期间,C 语⾔或者数据结构等课程,⽼师会要求学⽣编写⼀个⼩项⽬练⼿,或者期末编写⼀个⼩软件等课程设计。
今天在电脑看到⼤⼀学C语⾔时,实验课上写的计算器功能,挺有意思。
所以在此分享给学C语⾔的学弟学妹,记得收藏保留!计算器简单版本计算器,主要实现的是简单两个数的加法,减法,乘法,除法,求余功能。
⽤户可以在主菜单选择需要计算的功能,然后根据⽤户输⼊的数字,进⾏计算,输出结果。
⾸先,我们定义五个⽅法,实现两个数的加法,减法,乘法,除法,求余功能。
代码如下:// 加法float add(float a, float b) {return a + b;}// 减法float sub(float a, float b) {return a - b;}// 乘法float mul(float a, float b) {return a * b;}// 除法float mod(float a, float b) {return a / b;}// 求余int com(int a, int b) {return a % b;}然后定义⼀个打印主菜单界⾯的函数,使⽤简介美观的菜单界⾯,供⽤户选择要计算的功能,代码如下:// 打印主功能菜单void printMenu() {// 清屏// system("cls");printf("|----------------------- 计算器 -----------------------|\n");printf("| |\n");printf("| By -- 陈⽪的JavaLib |\n");printf("| |\n");printf("|---------------------- 1:加法 -----------------------|\n");printf("|---------------------- 2:减法 -----------------------|\n");printf("|---------------------- 3:乘法 -----------------------|\n");printf("|---------------------- 4:除法 -----------------------|\n");printf("|---------------------- 5:求余 -----------------------|\n");printf("|---------------------- 6:退出 -----------------------|\n");printf("| |\n");printf("|----------------------- 计算器 -----------------------|\n");}最后,我们在主函数 main 中,定义⼀个 while 循环代码块,不断读取⽤户输⼊的内容,进⾏数字计算,代码如下:int main() {// 选择的功能int select = 0;// 定义算术的两个数float a, b;while (select != 6){select = 0;// 打印主菜单printMenu();// 只允许选择菜单栏内的数字,不是则重新选择while (select < 1 || select > 6) {printf("请输⼊菜单功能(1-6):");scanf("%d", &select);}if (6 == select) {printf("\n|----------------- 欢迎使⽤计算器!再见!-----------------|\n"); return 0;}printf("\n请输⼊两个数(⽤空格隔开两个数):");scanf("%f %f", &a, &b);switch (select) {case 1:printf("%f+%f=%f\n\n", a, b, add(a, b));break;case 2:printf("%f-%f=%f\n\n", a, b, sub(a, b));break;case 3:printf("%f*%f=%f\n\n", a, b, mul(a, b));break;case 4:printf("%f/%f=%f\n\n", a, b, mod(a, b));break;case 5:printf("%f/%f=%d\n\n", a, b, com((int)a, (int)b));break;case 6:default:break;}}}下⾯我们演⽰⼏个例⼦,能更加直观体验计算器的功能:菜单功能选择错误,会提⽰重新选择加法除法退出简单版本计算器,完整代码如下:#include <stdio.h>#include <stdlib.h>// 加法float add(float a, float b) {return a + b;}// 减法float sub(float a, float b) {return a - b;}// 乘法float mul(float a, float b) {return a * b;}// 除法float mod(float a, float b) {return a / b;}// 求余int com(int a, int b) {return a % b;}// 打印主功能菜单void printMenu() {// 清屏// system("cls");printf("|----------------------- 计算器 -----------------------|\n");printf("| |\n");printf("| By -- 陈⽪的JavaLib |\n"); printf("| |\n");printf("|---------------------- 1:加法 -----------------------|\n");printf("|---------------------- 2:减法 -----------------------|\n");printf("|---------------------- 3:乘法 -----------------------|\n");printf("|---------------------- 4:除法 -----------------------|\n");printf("|---------------------- 5:求余 -----------------------|\n");printf("|---------------------- 6:退出 -----------------------|\n");printf("| |\n");printf("|----------------------- 计算器 -----------------------|\n");}/*** 简单版本计算器功能 By -- 陈⽪的JavaLib* @return*/int main() {// 选择的功能int select = 0;// 定义算术的两个数float a, b;while (select != 6){select = 0;// 打印主菜单printMenu();// 只允许选择菜单栏内的数字,不是则重新选择while (select < 1 || select > 6) {printf("请输⼊菜单功能(1-6):");scanf("%d", &select);}if (6 == select) {printf("\n|----------------- 欢迎使⽤计算器!再见!-----------------|\n");return 0;}printf("\n请输⼊两个数(⽤空格隔开两个数):");scanf("%f %f", &a, &b);switch (select) {case 1:printf("%f+%f=%f\n\n", a, b, add(a, b));break;case 2:printf("%f-%f=%f\n\n", a, b, sub(a, b));break;case 3:printf("%f*%f=%f\n\n", a, b, mul(a, b));break;case 4:printf("%f/%f=%f\n\n", a, b, mod(a, b));break;case 5:printf("%f/%f=%d\n\n", a, b, com((int)a, (int)b));break;case 6:default:break;}}}总结在⼤学期间,如果是计算机类的专业,⼀般都会学习 C 语⾔,作为编程⼊门语⾔,⼤家⼀定要学习好此门语⾔,⽽且如果学好了,其实学习其他编程语⾔就很容器上⼿的,不同语⾔其实⼤同⼩异,只要你编程思维提升了,基础语法掌握了,才能学习更加深⼊的知识。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
m_Edit2.SetWindowText(str); //通過變量 m_Edit2調用函數SetWindowText,將字符串變量”str”的
內容通過編輯框2顯示出來.
if(strcmp(str,"1234")==0) //將字符串變量”str”與”1234”比較,相等時則結果為0.不相等為1 MessageBox("welcome to aedd"); //結果為0時執行. else MessageBox("password is wrong"); //結果為1時執行 m_Edit1.SetWindowText(0); //將編輯框1的內容清零.
if(MessageBox("確定要退出應用程序嗎?","系統提示", MB_OKCANCEL|MB_ICONQUESTION)!=IDOK) //判斷是否按下確定按鈕 return; //用戶點击”取消”按鈕時不退出. CDialog::OnClose(); //關閉對話框
工作區窗口
編輯窗口
輸出窗口
步驟5.如下圖所示,向步驟4所示的對話框界面 添加一個靜態文本控件,兩個編輯框控件,一個 按鈕控件.
靜態文本控件 編輯框控件 按鈕控件
步驟6.添加控件後的界面
步驟7.ctrl+w打開類向道為按鈕Button1建立 消息映射函數,如下圖,選擇Add Function…
消息映射 類名
步驟14.為關閉對話框事件建立函數,ctrl+w打 開類向導,如下圖,選擇并雙击WM_CLOSE事 件.
事件
步驟14.點击Edit Code為函數添加代碼
編輯代碼
建立的窗口關閉函數
步驟14.點击Edit Code為函數添加代碼
沒添加代碼前
步驟14.點击Edit Code為函數添加代碼
步驟14. 代碼詳解
VC界面製作實例步驟
步驟1.運行VC應用程序,按下圖示操作
步驟2.選擇PROJECTS下面的MFC AppWizard[exe],并輸入工程名.
步驟3.如下圖所示,選擇Dialog based,點击 Finish.
步驟4.進入工作台界面,如下圖示,並將編輯窗口已有 的一個靜態文本控件和兩個按鈕控件刪除.
步驟12.將Caption項改為”確認”
輸入標題處
步驟13.同樣方法將靜態文本的標題改為”請 輸入密碼”.最後如下圖示.雙击”確認”按鈕, 跳到其建立得函數的代碼編輯段.
步驟13.為函數添加代碼
類名 函數名
添加功能代碼處 添加代碼前
步驟13.添加代碼後
步驟13.代碼詳解
- str; //聲明一個字符串變量”str” m_Edit1.GetWindowText(str);
工程名
資源ID 要處理的事件
已建立的成員數
步驟8.彈出下圖所示窗口,點击OK按鈕
映射
步驟9.此時就為按鈕Button1建立了消息函數, 再選擇成員變量選項卡.為編輯框控件關連變 量
成員變量
Button1消息函數
步驟10.彈出下圖示界面,點击Add Variable為 編輯框IDC_EDIT1關聯變量.
添加變量
步驟11.輸入變量名,Category下拉菜單選 Control,點击OK.重複步驟10和11為編輯框 IDC_EDIT2關聯變量.
變量名 Control形式
步驟11.此為關聯變量後的狀態.點击OK完成 變量的關聯.
步驟12.右击按鈕Button1,選擇Properties,為 按鈕修改標題.