用MFC编写界面的几个技巧

用MFC编写界面的几个技巧
用MFC编写界面的几个技巧

修改PE壁纸以及启动界面_最简单的WINPE_DIY美化教程_文库首发

最简单的WINPE DIY美化教程 –制作你自己的个性U盘系统 注:本教程以老毛桃WinPE系统为例您还在为WINPE那难看的界面发愁吗? 您还在为网上找不到全面的DIYPE教程发愁吗? 您还在为找到DIY教程以后看不懂而发愁吗? ………… 今天让我以最通俗的、最简单的、最易学的方式带着你美化属于你自己的PE系统。让你在日常使用PE维护的过程中个性十足。 在教程开始之前小生特此声明:本人并非专业认识,只是对电脑有着浓厚兴趣,喜欢DIY电脑界面,如果在教程中如有遗漏或者错误,希望友友们指出。本人不胜感激! 教程: 预处理: 1.打开资源管理器——工具——文件夹选项——打开隐藏所有文件(如图) 2.插入你的U盘并打开,你会发现有名字为MiniPE的文件夹,在本教程中需要修

改其中的:BJ2008.XPM(包含启动界面)以及OP.WIM(包含桌面壁纸) 3.复制BJ2008.XPM,OP.WIM到你自己硬盘里面任意位置(如D:\),修改的时候 起到备份的作用。 4.下载需要的工具:WimTool,WinGZip,XnView。(教程最后附有下载地址) 修改WINPE界面&启动界面(需要软件WimTool) 1.打开wimtool(),界面如图所示 2.将从U盘里面复制出的OP.WIM解开映像 注:* 在这部可能出现解开失败,如果你是WIN7用户可以尝试修改UAC为如图

同WIMTOOL同目录即可(教程最后附有WIMGAPI.DLL) 3.然后解开映像(如:存放位置D:\OP文件夹中如图)

4.然后替换同名图片为你自己喜欢的壁纸名字必须一致哟 成美化

VCmfc编计算器源代码

用C++编写计算器程序 搞要本课程设计是在基于对话框的应用程序中模拟一个计算器,本计算器可以进行十进制下的四则运算(加、减、乘、除)和四则混合运算,可以把十进制转化为二进制或十六进制,可以进行一些常用的函数运算(比如sin、cos、tan、cot、sqrt、ln等),还可以支持带“(”,“)”符号的表达式的计算。系统开发平台为Windows XP,程序设计设计语言采用Visual C++6.0,程序运行平台为Windows 98/2000/XP。程序通过调试运行,初步实现了设计目标。 关键词程序设计;计算器;C++; 1 引言 在现代社会中,计算器已经进入了每一个家庭,人们在生活和学习中经常需要使用到计算器,它的出现大大减少了人们在计算方面的工作量,可以说它在人们生活和学习中是不可缺少的。 1.1C++介绍 C++语言的主要特点表现在两个方面,一是全面兼容C语言,二是支持面向对象的程序设计方法[1]。 (1) C++是一个更好的C,它保持了C语言的优点,大多数的C程序代码略作修改或不作修改就可在C++的集成环境下调试和运行。这对于继承和开发当前已在广泛的软件是非常重要的,可以节省大量的人力和物力。 (2) C++是一种面向对象的程序设计语言它使得程序的各个模块的独立性更强,程序的可读性和可移植性更强,程序代码的结构更加合理,程序的扩充性更强。这对于设计、编制和调试一些大型的软件尤为重要。 (3) C++集成环境不仅支持C++程序的编译和调试,而且也支持C程序的编译和调试。

通常,C++程序环境约定:当源程序文件的扩展名为c.时,则为C程序;而当源程序文件的扩展名为cpp.时,则为C++程序。 (4) C++语句非常简练,对语法限制比较宽松,因此C++语法非常灵活。其优点是给用户编程带来书写上的方便。其缺点是由于编译时对语法限制比较宽松,许多逻辑上的错误不容易发现,给用户编程增加了难度。 1.2计算器的介绍 (1)在运行程序后,系统会弹出一个基于对话框的计算器界面,如下图所示: 图1.1 计算器界面 (2)在计算器程序中,主要通过一个编辑框来获取表达式和显示计算结果,表达式可以通过键盘和单击按钮2种方式输入,输入后的结果如下图所示:

MFC用户界面设计

MFC用户界面设计 (2007-07-03 14:08:02) 转载 MFC用户界面设计一 (创建一个MFC工程的框架) 打开VC++6.0选择New,出现如下界面: 然后选中MFC AppWizard[exe] ,即我们将创建一个MFC的可执行文件,然后在Project Name下面的框中写入这个工程的名字,注意: 工程的名字不要是中文的,且不要太过于长(到底多长是长我也不知道),最好使用英语的单词来定义你所要实现的工程项目的名字。 Location你可以自定义你的创建的这个工程的存放地方。个人建议不要存放在C盘。以防病毒感染之后C盘打不开,你的工作就全没有了。并且最好建一个专用的C++工程的存放文件夹。不推荐使用中文文件夹和存储路路径较长的文件

夹。如:D:\xx\xxx\xxx\xxx\xxx\xxx\xxxx\xxxxxxx\xxx(这样至少自己找的时候都要烦死了)。 Platform只有选择Win32了。在完成了这些之后就可以点击OK了。已开始创建的6小步中的第一步。如下图所示。 可以看见。上面的标题栏显示的是 MFC AppWizard Step 1,这一步是规划一个MFC程序框架的最重要的一部,我们可以选择 1:Single Document(单文档)即创建的程序能在某个时间内装入和编辑一个文档,使用了所有四个基类(C WinApp CFrameWnd CDocument Cview,至于四个基类都是什么作用参考第二章中所述)。典型的对话框应用程序包括配置硬件设备的应用程序、屏幕保护程序和游戏程序等。 2:Multiple Documents (多文档)一次可以装载和编辑多个文档,并且不但使用了所有四个基类,还使用了CFrameWnd的两个派生类,即CMDIFrameWnd和CMDIChildWnd。

labview界面美化问题(自动保存的)

labview界面美化问题(自动保存的) 部门: xxx 时间: xxx 整理范文,仅供参考,可下载自行编辑

LABVIEW前面板加工美化问题 2018-09-14 14:17xuanxi2005 | 分类:其他编程语言| 浏览5702次 我设计了一个LABVIEW程序,生成EXE可执行文件后,觉得前面板很难看,主要是因为操作页面也就是前面板和网页一样,虽然菜单栏什么的都可以去掉,但界面上有很多没有控件的版面,我的所有控件都集中在一个矩形框内,能否打开仅仅显示有用的部分呢? b5E2RGbCAP 忘了图。。 分享到: 2018-09-15 15:30 提问者采纳 当然可以了!剔除矩形框以外的部分对吧!VI属性》类别“窗口大小”,设置为你矩形框的大小即可。运行后,只显示,你输入的大小。试一下哈,可以的。p1EanqFDPw

在labview中怎样实现界面切换 ------解决方案-------------------- 1.可以使用选项卡 2.可以使用sub面板 3.适当加一些控件隐藏,显示功能 ytclimbsky | 二级 不是很明白你的问题,可否贴下图。如果只是要在程序面板中使用不需要在前面板显示,那可以在前面板中右击不用的控件,高级-->隐藏显示控件,这样就不会在前面板出现了DXDiTa9E3d labview前面板怎么插入图片,还有去掉网格 2018-11-06 13:49u3434u | 分类:其他编程语言| 浏览2344次

分享到: 2018-11-06 14:13网友采纳 仅仅是美化的话,在前面板中粘贴进来就行了; 网格嘛,你说的是图中的这个选项所指代的网格不?这个网格在运行的时候是不显示的呀,你把圈出来的勾选去掉,编辑时也不显示了RTCrpUDGiT labview怎么隐藏前面板的菜单栏和工具栏? 2018-08-26 16:53wlfry2009 | 分类:Windows | 浏览748次分享到: 2018-08-27 21:08 提问者采纳

c面向对象程序设计MFC简单计算器实验报告

计算机与信息工程学院 《程序设计基础》课程设计报告 题目名称:60.编写一个能实现简单功能的计算器学生姓名:刘沛东 学生学号:2011508154 专业班级:电子信息工程(1)班 指导教师:高攀

1 课程设计的题目 编写一个能实现简单功能的计算器 2 题目要求 1. 有一个计算器图形。 2. 能实现加、减、乘、除及乘方的运算。 3. 当输入题目时,屏幕上要在指定位置上显示出相应的题目内容,且相应的数字键要改变颜色 例如:输入数字1 时,在计算器图形上的1键变为红色。 4. 屏幕、图形颜色、形状自定 3 总体设计 3.1 总体框架 图1 系统框架

3.2 系统功能说明 在VC++6.0中绘制计算器界面,各控件的设置 对0~9控件设定相应的ID和其他属性: 图2 “1”控件设置 对“+、-、*、\”控件设定相应的ID和其他属性: 图2 “+”控件设置 对其它控件设定相应的ID和其他属性: 图3 其它控件设置

主要使用到Layout菜单中的Align功能对各个按钮进行对其,使界面更加整洁。拖出的控件有上面的一个Edit控件用于显示数字,Button控件用于处理鼠标的消息。 4 程序详细设计 4.1系统主调模块 图5 程序流程图

4.2各模块详细设计 4.2.1 建立的变量,控件的命名,对应的消息处理函数对应表 double poz; //保存小数点的位置,初始化为1,表示poz-1个小数点。 double m_Dis; //Edit控件上需要显示的数字 BOOL point_flag; //小数点表示位,判定是否是小数,是小数为1,不是小数为0。 double numfirst; //保存计算过程中的前一个数字, double numsecond;//保存计算过程中的第二个数字 char op;//记录当前的计算符号,可以为’+’,’-’,’*’,’/’,’=’,’c’,’n’ 变量初始化: poz=1; m_Dis = 0.0; numfirst=0; numsecond=0; op=0;

mfc界面图书管理系统

目录 1.设计目的 (1) 2.问题描述 (2) 3.需求分析 (2) 3.1 数据需求 (2) 3.2 基本功能需求 (2) 3.3 非功能性需求 (3) 4.概要设计 (3) 5.详细设计 (5) 5.4.1增加书籍 (20) 5.4.2 删除书籍 (21) 5.4.3 查询书籍 (21) 6.调试分析 (22) 7.使用说明 (23) 8.设计总结 (26) 9.参考文献 (27)

《数据结构》课程设计 图书管理 1.设计目的 “数据结构”是计算机科学与技术专业一门十分重要的专业技术基础课,计算机科学各领域及有关的应用软件都要使用到各种数据结构。对于从事计算机科学及其应用的科技工作者来说,数据结构与算法是必须透彻地掌握的重要基础。 学习数据结构与算法的最终目的是解决实际的应用问题,特别是非数值计算类型的应用问题。课程设计是加强学生实践能力的一个强有力手段。课程设计所安排的题目,在难度和深度方面都大于平时的上机训练,要求同学在完成设计和编写中小型软件的过程中,深化对数据结构与算法课程中基本概念、理论和方法的理解;训练综合运用所学知识处理实际问题的能力,强化面向对象的程序设计理念;使同学的程序设计与调试水平有一个明显的提高。 课程设计要求学生在完成程序设计的同时能够撰写比较规范的设计报告。严格实施课程设计这一环节,对于学生基本程序设计素养的培养和软件工作者工作作风的训练,将起到显著的促进作用。

2.问题描述 采用Visual C++编程语言开发工具和MFC,设计并实现图书管理系统。该系统实现了图书管理中的添加,查询,删除,全部查询,退出等功能,以及汇总图书清单,包括对书籍各项信息的汇总。 3.需求分析 3.1 数据需求 图书信息:书名,所属类型,作者,定价,出版日期以及ISBN。 3.2 基本功能需求 1.汇总图书清单,包括对书籍各项信息的汇总;(各项信息包括书名,所属类型,作者,定价,出版日期以及ISBN。) 2.对书籍信息的增、删、查、全部查询等功能。其中删除功能主要依靠第一无二的ISBN,查询功能可以依靠任何一种图书信息(即书名,所属类型,作者,定价,出版日期以及ISBN任意一种)。

网站界面如何美化的几种方法

武汉网页设计培训:网站界面如何美化的几种方法 网站的界面是网站给来访者留下第一印象的直接窗口。网站界面的漂亮与否直接影响到访客对网站的兴趣以及停留时间!所以网站的界面美化工作是应该引起足够重视的。那到底该如何美化网站界面使他容易被访客所接受呢?今天我们就跟大家一起来探讨一下网站界面的美化的几个原则以及具体的方法。 一、网页设计界面优化原则 武汉网页设计界面优化原则一、行业特征 网站就像你的穿着打扮,要有自己的风格自己的个性。但是这种个性要与自己的身份职务相搭配。也就是说你的网站要根据你的行业特点进行美化,比如说科技类网站善用蓝色,娱乐类网站善用橙色,政府门户类网站大多用红色调。 总结下就是你的网站界面要符合行业特征! 武汉网页设计界面优化原则二、访客喜好 如果你的访客是年轻人充满活力个性十足的,那你的网站配色以及LOGO就要符合这个定位符合你受众的喜好。你的网站色调也要表现的充满活力动感十足!举个例子说太平洋女性网主色调就是紫色,因为紫色代表的就是时尚浪漫。试问哪些女性朋友们不渴望一份浪漫与时尚呢? 总结下就是作访客喜欢的! 武汉网页设计界面优化原则三、统一性原则 你的网站一定色调要统一,最好属于同一个色系。至多不要超过三个颜色!如果颜色过多会导致人们审美疲劳!慢慢的离开你的网站!从而失去一定访客,导致PV下降! 总结下就是统一色调效果佳! 武汉网页设计界面优化原则四、细致入微 俗话说细节决定成败,一个网站的界面就是一个个小像素块组成的,做网站的美化要尽量细致到每一个小细节,不要觉得一个点一个图片的小角不重要。其实不然,一个人穿的邋里邋遢就可以看出这人性格如何了。一个人非常漂亮就是嘴角戴着一粒米,这严重影响自己的形象。网站也是一样的你不注意界面的小细节访客就有理由认为你这网站内容不怎么样!

用MFC编写的计算器程序源代码

// JiSuanQiDlg.cpp : 实害?现?文?件t // #include"stdafx.h" #include"JiSuanQi.h" #include"JiSuanQiDlg.h" #include"afxdialogex.h" #ifdef _DEBUG #define new DEBUG_NEW #endif // 用?于 ?应畖用?程ì序?“°关?于 ?”±菜?单蹋?项?的? CAboutDlg 对?话°框? class CAboutDlg : public CDialogEx { public: CAboutDlg(); // 对?话°框?数簓据Y enum { IDD = IDD_ABOUTBOX }; protected: virtual void DoDataExchange(CDataExchange* pDX); // DDX/DDV 支§持? // 实害?现? protected: DECLARE_MESSAGE_MAP() }; CAboutDlg::CAboutDlg() : CDialogEx(CAboutDlg::IDD) { } void CAboutDlg::DoDataExchange(CDataExchange* pDX) { CDialogEx::DoDataExchange(pDX); } BEGIN_MESSAGE_MAP(CAboutDlg, CDialogEx) END_MESSAGE_MAP()

// CJiSuanQiDlg 对?话°框? CJiSuanQiDlg::CJiSuanQiDlg(CWnd* pParent /*=NULL*/) : CDialogEx(CJiSuanQiDlg::IDD, pParent) , m_num(0) , m_1(0) , m_2(_T("")) , m_two(0) { m_hIcon = AfxGetApp()->LoadIcon(IDR_MAINFRAME); } void CJiSuanQiDlg::DoDataExchange(CDataExchange* pDX) { CDialogEx::DoDataExchange(pDX); DDX_Text(pDX, IDC_EDIT1, m_num); DDX_Text(pDX, IDC_EDIT2, m_1); DDX_Text(pDX, IDC_EDIT3, m_2); DDX_Text(pDX, IDC_EDIT4, m_two); } BEGIN_MESSAGE_MAP(CJiSuanQiDlg, CDialogEx) ON_WM_SYSCOMMAND() ON_WM_PAINT() ON_WM_QUERYDRAGICON() ON_BN_CLICKED(IDC_BUTTON2, &CJiSuanQiDlg::OnBnClickedButton2) ON_BN_CLICKED(IDC_BUTTON1, &CJiSuanQiDlg::OnBnClickedButton1) ON_BN_CLICKED(IDC_BUTTON3, &CJiSuanQiDlg::OnBnClickedButton3) ON_BN_CLICKED(IDC_BUTTON4, &CJiSuanQiDlg::OnBnClickedButton4) ON_BN_CLICKED(IDC_BUTTON5, &CJiSuanQiDlg::OnBnClickedButton5) ON_BN_CLICKED(IDC_BUTTON6, &CJiSuanQiDlg::OnBnClickedButton6) ON_BN_CLICKED(IDC_BUTTON7, &CJiSuanQiDlg::OnBnClickedButton7) ON_BN_CLICKED(IDC_BUTTON8, &CJiSuanQiDlg::OnBnClickedButton8) ON_BN_CLICKED(IDC_BUTTON9, &CJiSuanQiDlg::OnBnClickedButton9) ON_BN_CLICKED(IDC_BUTTON10, &CJiSuanQiDlg::OnBnClickedButton10) ON_BN_CLICKED(IDC_BUTTON11, &CJiSuanQiDlg::OnBnClickedButton11) ON_BN_CLICKED(IDC_BUTTON13, &CJiSuanQiDlg::OnBnClickedButton13) ON_BN_CLICKED(IDC_BUTTON14, &CJiSuanQiDlg::OnBnClickedButton14) ON_BN_CLICKED(IDC_BUTTON15, &CJiSuanQiDlg::OnBnClickedButton15) ON_BN_CLICKED(IDC_BUTTON16, &CJiSuanQiDlg::OnBnClickedButton16) ON_BN_CLICKED(IDC_BUTTON12, &CJiSuanQiDlg::OnBnClickedButton12)

MFC启动画面设计

MFC启动画面设计 玩过微软的Office的人都知道,每当打开Office软件,在它初始化的那段时间里,都会出现一个画面,这个画面就是启动画面。 所谓启动画面也就是Splash Screen,你也可以说它是“炫耀画面”。它常常用以显示公司的标志和版权等信息。 目标 用一张位图来作为启动画面,在进入程序时显示。 策略 在应用程序类的I n i t I n s t a n c e ()函数中,在最早时刻创建启动窗口。启动窗口用一个位图类显示在普通窗口中。 步骤 1.创建一个启动窗口类 1)用ClassWizard创建一个从一般CWnd类(当然也可以是CFrameWnd类)派 生的普通窗口类。如图所示:

2)添加Create()成员函数到该类,在该函数中装入启动窗口中显示的位图,以及 在屏幕中央创建该窗口。 void CWzdSplash::Create(UINT nBitmapID) { m_bitmap.LoadBitmap(nBitmapID); BITMAP bitmap; m_bitmap.GetBitmap(&bitmap); int x=(::GetSystemMetrics(SM_CXSCREEN)-bitmap.bmWidth)/2; int y=(::GetSystemMetrics(SM_CYSCREEN)-bitmap.bmHeight)/2; CRect rect(x,y,x+bitmap.bmWidth,y+bitmap.bmHeight); CreateEx(0,AfxRegisterWndClass(0),"",WS_POPUP|WS_VISIBLE|WS_BORDE R,rect,NULL,0); } 3)用ClassWizard添加一个WM_PAINT消息处理函数到该窗口类中,在这里用 BitBlt()把位图绘制到屏幕上。

java中界面的美化

JAVA软件界面美化 JAVA软件界面美化 使用过JAVA软件的人,很多人会对JAVA软件界面的美观不满意,尽管JAVA Swing 推出了JAVA Look And Feel 机制,但这些JAVA可更换机制的外观目前数量实在太有现(网络上可供下载使用的目前大概有30个),开发、定制也不是很容易,难以满足用户快速多变的个性化需求。(据我所知国人当中目前基本没有开发JAVA Look And Feel 的,前段时间本人使用了 SkinLookAndFeel这个皮肤化的JAVA Look And Feel ,l以为日子会好过,不过最终我失望了:(),毕竟同时是专家级的JAVA程序员又是美术大师的人太少了! 总之,Java Look And Feel 虽然好,但开发不易,难以个性化,根本上来说还是没有代码和视图分离。最理想的状态是什么?应该美术设计师设计图形,程序员开发程序,各不相关,互不牵扯,那才是完美的结果。SkinLookAndFee 在某种程度上其实已经做到,但它在代码的机制上实在不怎么样,可移植性差,皮肤配置不容易。。。等等。(哎,本人刚开始对她是很期望了,不过还是验证了“期望大失望大”这句话) 不过SUN就是这么牛X,其JAVA 5.0已经给了我一个很好的答案,使用Synth吧, Custom UIs are a breeze with the newest Swing look and feel,让你不用写JAVA代码也可以轻松创建漂亮的JAVA界面。 还等什么,让我们开始Synth时尚之旅行,让你的JAVA软件外观更漂亮吧!注意:本文假定你是个已经入门的JAVA开发者,有基本的JAVA GUI开发经历.如果你现在什么都不懂,也想体验Synth,那就留言吧,我会帮你的.:)。 本文的开发环境是Eclipse3.1+JDK5.0,请记得:如果想使用Syth,那么你必须使用jdk5.0。首先,让我们美化一个基本JDK组件:按钮(JButton)的外观。 1、在Eclipse开发环境中,建立一个JAVA工程,添加一个一个名为MyButton.java类 2、MyButton.java类的代码如下: package demo.synth; import java.awt.FlowLayout; import javax.swing.JButton; import javax.swing.JFrame; public class MyButton { JFrame frame = new JFrame("Test Buttons"); JButton jButton = new JButton("JButton"); // 按钮 public MyButton() { frame.setLayout(new FlowLayout()); frame.getContentPane().add(jButton); } public void show() { frame.pack(); frame.show(); } public static void main(String[] args) { MyButton tb = new MyButton(); tb.show(); } } 该类可直接运行,运行后效果如下图:

MFC简单计算器设计正文

实用计算器程序1.基本功能描述 计算器是人们日常生活中非常实用的计算工具。预期设计目标与实际计算器为标准,Windows10系统提供的计算器为范例进行设计。 实用计算器要实现单目运算和双目运算。单目运算主要包括阶乘、正弦、余弦; 双目运算主要包括加、减、乘、除、乘幂等。计算器要能够对输入的各种数据进行处理,包括小数、整数、负数等数据进行操作。实际过程中要能够对不同的数据灵活判 断执行。同时要能够对不满足运算符的操作数,提示出错信息以方便用户进行处理。 用户的修改包括清屏和退格。程序设计的重点和难点在于:第一,能够对于不同的操 作数和操作符进行连续运算,运算过程中要有优先级的判断,根据优先级执行不同的 运算顺序;第二,能够用一个编辑框实现运算表达式的显示和结果的输出。 编程环境采用VisualStudio2017提供的MFC建立对话框应用程序,设计界面要简 单大方,并提供程序所有功能的接口。 2.设计思路 表1操作符优先级设计 优先级操作符 1 阶乘、正弦、余弦 2 乘幂 3 乘、除 4 加、减 对对话框编辑框关联一个变量从中读取数据,按下数字键时对数据数组num[]进行更新,其中num[0]表示的是当前已经存储变量的个数。由于算法设计为四层优先级, 且单目运算的优先级最高。当按下相应单目运算符,首先将当前数据数组的最后一个 存储(防止按下Backspace退格发生错误),并将此位数据执行运算后重新赋值。但按下双目运算符相应按键后,将计数num[0]++,同时将运算符的类型和位置记录。当按下等于之前,这样就将一个单目双目混合的运算表达式转化为双目运算。如果没有按 下等号键,则继续执行循环。在按下等号按钮之后,按照先乘幂、再乘除、后加减的 运算顺序执行运算,将最后结果保存并显示。(在实际的计算器中,执行完运算之后,按下运算符的操作键,最终结果将按照左操作数的形式出现,故需要保存变量。)如果用户没有结束程序,在运行初始化程序,进行下一次运算,否则直接退出。 图1程序流程图 3.软件设计 设计步骤 1)创建基于对话框的程序 利用AppWizard建立应用程序框架,创建一个基于对话框的MFC工程,命名为“fengwanjincalculator”,如图2所示。在图3显示的应用程序类型中选择基于对话框。创建成功后,系统自动生成相应程序文件。 图2创建MFC工程图 图3应用程序类型选择图

MFC简单计算器

信息科学与技术学院 《程序设计基础》课程设计报告 题目名称:60.编写一个能实现简单功能的计算器学生姓名:李海东 学生学号:2011508154 专业班级:电子信息工程(1)班 指导教师:高攀

1

1 课程设计的题目 编写一个能实现简单功能的计算器 2 题目要求 1. 有一个计算器图形。 2. 能实现加、减、乘、除及乘方的运算。 3. 当输入题目时,屏幕上要在指定位置上显示出相应的题目内容,且相应的数字键要改变颜色 例如:输入数字1 时,在计算器图形上的1键变为红色。 4. 屏幕、图形颜色、形状自定 3 总体设计 3.1 总体框架 图1 系统框架 开始 结束 键入第一个按钮 键入第二个按钮 显 示 结 果 加 法 减 法 乘 法 除 法 乘 方 清 零

3.2 系统功能说明 在VC++6.0中绘制计算器界面,各控件的设置 对0~9控件设定相应的ID和其他属性: 图2 “1”控件设置 对“+、-、*、\”控件设定相应的ID和其他属性: 图2 “+”控件设置 对其它控件设定相应的ID和其他属性: 图3 其它控件设置 1

2 主要使用到Layout 菜单中的Align 功能对各个按钮进行对其,使界面更加整洁。拖出的控件有上面的一个Edit 控件用于显示数字,Button 控件用于处理鼠标的消息。 4 程序详细设计 4.1系统主调模块 图5 程序流程图 实现文件.cpp 显示计算器界面 开始执行 工程全局对象 资源文件.rc 模块定义文件.def 头文件.h 执行_twinmain() Afxmain() 创建窗口 实现窗口类注册 Set window V oid clc::onpaint() V oid cal::onCE() 点击鼠标发出消息 V oid clce::onmouse() 等待消息处理 V oid clc::onMum0() V oid clc::onAdd() 文本框中显示结果 程序运行结

VC之美化界面篇

VC之美化界面篇 作者:白乔 链接:https://www.360docs.net/doc/582358741.html,/1046595482643.html 本文专题讨论VC中的界面美化,适用于具有中等VC水平的读者。读者最好具有以下VC基础: 1.大致了解MFC框架的基本运作原理; 2.熟悉Windows消息机制,熟悉MFC的消息映射和反射机制; 3.熟悉OOP理论和技术; 本文根据笔者多年的开发经验,并结合简单的例子一一展开,希望对读者有所帮助。 1 美化界面之开题篇 相信使用过《金山毒霸》、《瑞星杀毒》软件的读者应该还记得它们的精美界面: 图1 瑞星杀毒软件的精美界面 程序的功能如何如何强大是一回事,它的用户界面则是另一回事。千万不要忽视程序的用户界面,因为它是给用户最初最直接的印象,丑陋的界面、不友好的风格肯定会影响用户对软件程序的使用。 “受之以鱼,不若授之以渔”,本教程并不会向你推荐《瑞星杀毒软件》精美界面的具体实现,而只是向你推荐一些常用的美化方法。

2 美化界面之基础篇 美化界面需要先熟悉Windows下的绘图操作,并明白Windows的幕后绘图操作,才能有的放矢,知道哪些可以使用,知道哪些可以避免…… 2.1Windows下的绘图操作 熟悉DOS的读者可能就知道:DOS下面的图形操作很方便,进入图形模式,整个屏幕就是你的了,你希望在哪画个点,那个地方就会出现一个点,红的、或者黄的,随你的便。你也可以花点时间画个按钮,画个你自己的菜单,等等…… Windows本身就是图形界面,所以Windows下面的绘图操作功能更丰富、简单。要了解Windows下的绘图操作,要实现Windows界面的美化,就必须了解MFC封装的设备环境类和图形对象类。 2.1.1设备环境类 Windows下的绘图操作说到底就是DC操作。DC(Device Context设备环境)对象是一个抽象的作图环境,可能是对应屏幕,也可能是对应打印机或其它。这个环境是设备无关的,所以你在对不同的设备输出时只需要使用不同的设备环境就行了,而作图方式可以完全不变。这也就是Windows的设备无关性。 MFC的CDC类封装了Windows API 中大部分的画图函数。CDC的常见操作函数包括: Drawing-Attribute Functions:绘图属性操作,如:设置透明模式 Mapping Functions:映射操作 Coordinate Functions:坐标操作 Clipping Functions:剪切操作 Line-Output Functions:画线操作 Simple Drawing Functions:简单绘图操作,如:绘制矩形框 Ellipse and Polygon Functions:椭圆/多边形操作 Text Functions:文字输出操作 Printer Escape Functions:打印操作 Scrolling Functions:滚动操作 *Bitmap Functions:位图操作 *Region Functions:区域操作 *Font Functions:字体操作 *Color and Color Palette Functions:颜色/调色板操作 其中,标注*项会用到相应的图形对象类,参见2.1.2内容。 2.1.2图形对象类 设备环境不足以包含绘图功能所需的所有绘图特征,除了设备环境外, Windows还有

使用SkinMagic美化界面

使用SkinMagic美化界面 网络上的SkinMagic版本繁多,而且试用版,破解版并存,各版本之间支持的皮肤文件也不尽相同,因此经常有人在网上询问为何添加了SkinMagic没有效果甚至导致程序崩溃之类的问题、这里有一个可用的破解版本(包含VC6使用的库和支持的常用皮肤文件)SkinMagicToolkitV2.2.31、请注意这个包的大小为1.31M,如果小于1.31M说明下载不完全,则无法使用,建议使用迅雷下载、 一:文件说明 SkinMagicLib.h 必须的头文件,请添加到工程中、 SkinMagic.lib + SkinMagic.dll 动态链接库配套使用 编译时需要在工程中添加SkinMagic.dll,程序运行时需要SkinMagic.dll 以下版本的编译出来的程序运行时不再依赖SkinMagic.dll SkinMagicLibMD6.lib 静态链接库,用于VC6的Release版编译 SkinMagicLibMT6.lib 静态链接库,用于VC6的Debug版编译 二:使用步骤 1、把SkinMagicLib.h, SkinMagicLibMT6.lib, SkinMagicLibMD6.lib放到你的VC6工程目录下 2、在StdAfx.h中添加 #include "SkinMagicLib.h" 3、在工程设置中添加对应的库 Win32 Release中填上SkinMagicLibMD6.lib Win32 Debug中填上SkinMagicLibMT6.lib 4、在InitInstance()函数的开始处添加初始化SkinMagic资源的代码、 VERIFY(1 == InitSkinMagicLib(AfxGetInstanceHandle(), NULL, NULL, NULL)); 5、在InitInstance()函数中加载皮肤文件并设置程序皮肤、 你可以选择添加皮肤文件到资源中,并编译到程序中、或者程序在运行时动态加载皮肤文件a. 比如添加corona.smf,设置资源类型为"SKINMAGIC", 资源ID为IDR_SKIN_CORONA CBossKeyDlg dlg; m_pMainWnd = &dlg; //加载SkinMagic皮肤 VERIFY(1 == LoadSkinFromResource(NULL, (LPSTR)IDR_SKIN_CORONA, "SKINMAGIC")); VERIFY(1 == SetWindowSkin(m_pMainWnd->m_hWnd, "MainFrame")); VERIFY(1 == SetDialogSkin("Dialog")); int nResponse = dlg.DoModalEx(bStartShow); if (nResponse == IDOK) { } else if (nResponse == IDCANCEL) { } b. 程序在运行时动态加载皮肤文件 CBossKeyDlg dlg;

我的MFC计算器程序

江苏师范大学城环学院 《面向对象的程序设计》课程设计 设计题目:简易计算器设计 姓名:朱立珍 学号:12253013 院系:城市与环境学院 年级: 12城31 指导教师:李保杰 江苏师范大学城环学院

《面向对象的程序设计》课程设计任务书 课程名称c++面向对象课程设计 设计题目计算器设计 指导教师李保杰时间2014.12.24-2015.1.5 一、教学要求 1. 巩固和加深学生对c++面向对象课程的基本知识的理解和掌握 2. 掌握c++面向对象编程和程序调试的基本技能 3. 利用c++面向对象进行基本的软件设计 4. 掌握书写程序设计说明文档的能力 5. 提高运用c++面向对象解决实际问题的能力 二、设计资料及参数 每个学生在教师提供的课程设计题目中任意选择一题,独立完成,题目选定后不可更换。 计算器系统设计 对计算器系统进行如下设计使之能提供下列服务: 加法运算 减法运算 乘法运算 除法运算 立即显示运算结果 三、设计要求及成果 1. 分析课程设计题目的功能需求(可选用数组或链表实现) 2. 写出详细设计说明(至少包括功能实现分析和模块流程图) 3. 编写程序代码,调试程序使其能正确运行(代码书写要规范,标示符要见名知意,要有必要的注释至少200行代码,不包括注释和花括号) 4. 设计完成的软件要便于操作和使用 5. 设计完成后提交课程设计报告(请严格按照模板进行排版) 四、进度安排 第一天选择课程设计题目,分析课题的要求 第二-六天编程 第七-八天编程及调试 第九天写编程报告 第十天提交课程设计报告与源程序(打印稿及电子稿) 五、评分标准 1. 根据平时上机考勤、表现和进度,教师将每天点名和检查 2. 根据课程设计完成情况,必须有可运行的软件。 3. 根据课程设计报告的质量,如有雷同,则所有雷同的所有人均判为不及格。 六、建议参考资料 《C++面向对象程序设计》清华大学出版社

CommonBox之美化界面

Visual C#组件技巧之ComboBox美容 2002-07-29 09:28作者:张伟出处:yesky责任编辑:方舟 组合框是组成Windows窗口常见的控件之一,Windows程序员在应用软件开发中经常要用到组合框。但随微软开发工具语言(如C/C++/C#/VB/VF)提供的标准组合框都是同一面孔:组合框中每一项都是字符串,看起来有点灰头土脸,不那么赏心悦目(如图1)。 图1 今天我们就来给组合框美容一下,使组合框中每一项都带有个性,组合框中每一项即可以让字符串格式变化多样,也可以使每一项都带有各种图形,同样也可以让每一项都带有图像等等。 例1:本例中我们在一个表单上创建三个组合框,从上到下名字分别为 comboBox1~comboBox3,通过编程分别让它们的组合框条目字符串格式发生变化、每项前都有图形、每项前都有图像。 第一步:建立项目 建立一名为TestComboBox的Windows应用程序(注:应用程序名可以随意)。 第二步:界面设计 本例界面比较简单,三个label,三个组合框(如图2所示,从上到上组合框名依次为comboBox1、comboBox2、comboBox3),一个imageList控件(当然表单上看不到,在表单设计图的下方)请按照如图2排列。

图2 第三步:控件属性设置 (1)把三个label的Text属性按图2设置; (2)三个comboBox的属性进行如下设置: DrawMode:OwnerDrawFixed; DropDownStyle:DropDownList; 注:这两个属性只有如此设置才能保证我们对组合框进行个性化改造,否则的话无论 你的程序写得多么好,同样还是"灰头土脸,不是那么赏心悦目。 (3)通过imageList1的Item属性向imageList增添几个图像。 第四步:编程 说明:当我们通过组合框的Add方法向组合框添加item时,都会发生组合框的DrawItem 事件处理函数来画组合框item,因此如果我们想创建个性化的组合框只有在DrawItem事件处理函数中做文章了。在编程之前我们需要了解如下的基础知识。 (1)在组合框条目中显示文本时都是利用grphics类的DrawString函数,此函数有多个变体,现把此函数各种形式简介如下: ①public void DrawString(string, Font, Brush, PointF); 在指定位置并且用指定的Brush 和Font 对象绘制指定的文本字符串。 ②public void DrawString(string, Font, Brush, RectangleF);

MFC计算器主要代码(C)

// Calculator_17483Dlg.cpp : implementation file // #include"stdafx.h" #include"Calculator_17483.h" #include"Calculator_17483Dlg.h" #include"afxdialogex.h" #ifdef _DEBUG #define new DEBUG_NEW #endif // CAboutDlg dialog used for App About class CAboutDlg : public CDialogEx { public: CAboutDlg(); // Dialog Data enum { IDD = IDD_ABOUTBOX }; protected: virtual void DoDataExchange(CDataExchange* pDX); // DDX/DDV support // Implementation protected: DECLARE_MESSAGE_MAP() }; CAboutDlg::CAboutDlg() : CDialogEx(CAboutDlg::IDD) { }

void CAboutDlg::DoDataExchange(CDataExchange* pDX) { CDialogEx::DoDataExchange(pDX); } BEGIN_MESSAGE_MAP(CAboutDlg, CDialogEx) END_MESSAGE_MAP() // CCalculator_17483Dlg dialog CCalculator_17483Dlg::CCalculator_17483Dlg(CWnd* pParent /*=NULL*/) : CDialogEx(CCalculator_17483Dlg::IDD, pParent) { num1=0; num2=0; operation=0; point=0; nump_1=0; nump_2=0; m_hIcon = AfxGetApp()->LoadIcon(IDR_MAINFRAME); } void CCalculator_17483Dlg::DoDataExchange(CDataExchange* pDX) { CDialogEx::DoDataExchange(pDX); } BEGIN_MESSAGE_MAP(CCalculator_17483Dlg, CDialogEx) ON_WM_SYSCOMMAND() ON_WM_PAINT() ON_WM_QUERYDRAGICON()

VC++界面美化

VC++界面美化 VC开发程序单调的界面相信大家都是深有感触,提到界面美化编程,人们都会说做界面不要用VC写,太难了。 一句俗语:难者不会,会者不难。VC的美化界面编程并没有人们想像的那么难。这篇文章是我写的一个用户登录界面,但界面被我美化了,下面将一步一步的来讲解它的美化界面的实现步骤。相信有了这篇文章,你的VC界面从此也能绚丽多彩。 实现步骤: 第一步:美化界面的非客户区(重绘标题栏和界面边框)。 关键代码如下: // 函数名:DrawTitleBar // 功能描述:绘制标题栏、边框颜色,绘制标题内容、图标和按钮// 输入参数:pDC:设备指针 // 输出参数:void // 创建日期:2006-2-20 // 修改日期:2006-2-20 // 作者:joinclear // 附加说明:无 void CTitleBarColorDlg::DrawTitleBar(CDC *pDC) { if (m_hWnd)

{ CBrush Brush(RGB(187,200,143)); CBrush* pOldBrush = pDC->SelectObject(&Brush); CRect rtWnd, rtTitle, rtButtons; GetWindowRect(&rtWnd); //取得标题栏的位置 //SM_CXFRAME 窗口边框的边缘宽度 //SM_CYFRAME 窗口边框的边缘高度 //SM_CXSIZE 窗口标题栏宽度 //SM_CYSIZE 窗口标题栏高度 rtTitle.left = GetSystemMetrics(SM_CXFRAME); rtTitle.top = GetSystemMetrics(SM_CYFRAME); rtTitle.right = rtWnd.right - rtWnd.left - GetSystemMetrics(SM_CXFRAME); rtTitle.bottom = rtTitle.top + GetSystemMetrics(SM_CYSIZE); CPoint point; //填充顶部框架 point.x = rtWnd.Width(); point.y = GetSystemMetrics(SM_CYSIZE) +

相关文档
最新文档