VC++编程技术:让你的软件界面更漂亮
小职 2018-07-05 来源 : 阅读 1156 评论 0

摘要:本文主要向大家介绍了VC++编程技术:让你的软件界面更漂亮,通过具体的内容向大家展示,希望对大家学习VC++编程技术有所帮助。

本文主要向大家介绍了VC++编程技术:让你的软件界面更漂亮,通过具体的内容向大家展示,希望对大家学习VC++编程技术有所帮助。

我们使用过很多的软件, 给我们留下印象很深的是那些界面漂亮且迷人的软件, 国外的软件象QickTime,国产的象金山词霸等,它们的软件界面设计风格都有独特之处。本人跟据自已的经验和大家探讨一下软件的漂亮界面实现的原理并提供DEMO程序。

  一、漂亮界面实现的原理

  用图象元素自绘窗口标题样栏,边框,系统按钮(最大化、最小化、关闭按钮)还有按窗口中的控件。图象当然是美工画的,但要你教美工怎么去画,是不是不能理解? ,呆会我会告诉你你如何去教美工画.请先仔细看下图。


VC++编程技术:让你的软件界面更漂亮

  明白了吧,被红线抱括的部分都是要画的图象。画得好不好会直接影响你的软件界面。
 二、原理说玩了,来说一下实现的基本知识

  1、VC软件绘图技术: 

CBitmap* pBitmap = new CBitmap;
BITMAP BmpInfo;
CBitmap* pOldBitmap;
CDC* pDisplayMemDC=new CDC;
pDisplayMemDC->CreateCompatibleDC(pDC);

pBitmap->LoadBitmap(IDB_TITLE_LEFT);
pOldBitmap=(CBitmap*)pDisplayMemDC->SelectObject(pBitmap);
pBitmap->GetBitmap(&BmpInfo);

// x,y为绘图位置 ,必要时此语句要有For(..;..;..)控制
pDC->BitBlt(x,y, BmpInfo.bmWidth, BmpInfo.bmHeight, pDisplayMemDC, 0, 0, SRCCOPY); 

pDisplayMemDC->SelectObject(pOldBitmap);
pBitmap->DeleteObject();

ReleaseDC(pDisplayMemDC);//记得执行以下的语句
delete pDisplayMemDC;
delete pBitmap;

 

  2、坐标的概念:点、窗口坐标和屏幕坐标及转换,很重要!如不清楚请先复习相关知识。 

  下图是我写在一个界面,就是基于上述原理实现的:
VC++编程技术:让你的软件界面更漂亮
下面介绍软件如何实现的:

  ①、重载对话框的消息函数:

 void OnNcLButtonDown(UINT nHitTest, CPoint point);

//单击标题栏时是响应 void OnNcMouseMove(UINT nHitTest, CPoint point);

//Mous 在标题移动时响应 LRESULT DefWindowProc(UINT message, WPARAM wParam, LPARAM lParam) 

  ②、添加关键成员函数为:BOOL DrawTitleBar(CDC *pDC) 

  ③、添加完消息涵数后,在.cpp中实现它们的代码(点击查看代码附件): 

  好了运行你的序程,即可出现漂亮的界面。说明在设计对话框时最好只选上Title Bars,其它不要.消息函数要手动添加。只本程序是在VC++6.0 +WinXP环境下完成的。

  经过实践证明,仅仅画一个窗口很容易,多窗口程序软件实现统一风格很难。如若有机会的话,我会和大家继续探讨如何将设计好的漂亮窗口子类化,让程序所有的窗口有统一风格,美化窗口的其它控件并可自动随窗口改变而调整大小。我想那才是我们大家关心的。对不?

本文由职坐标整理并发布,希望对同学们有所帮助。了解更多详情请关注职坐标编程语言VC/MFC频道!

本文由 @小职 发布于职坐标。未经许可,禁止转载。
喜欢 | 1 不喜欢 | 0
看完这篇文章有何感觉?已经有1人表态,100%的人喜欢 快给朋友分享吧~
评论(0)
后参与评论

您输入的评论内容中包含违禁敏感词

我知道了

助您圆梦职场 匹配合适岗位
验证码手机号,获得海同独家IT培训资料
选择就业方向:
人工智能物联网
大数据开发/分析
人工智能Python
Java全栈开发
WEB前端+H5

请输入正确的手机号码

请输入正确的验证码

获取验证码

您今天的短信下发次数太多了,明天再试试吧!

提交

我们会在第一时间安排职业规划师联系您!

您也可以联系我们的职业规划师咨询:

小职老师的微信号:z_zhizuobiao
小职老师的微信号:z_zhizuobiao

版权所有 职坐标-一站式IT培训就业服务领导者 沪ICP备13042190号-4
上海海同信息科技有限公司 Copyright ©2015 www.zhizuobiao.com,All Rights Reserved.
 沪公网安备 31011502005948号    

©2015 www.zhizuobiao.com All Rights Reserved

208小时内训课程