预览加载中,请您耐心等待几秒...
1/2
2/2

在线预览结束,喜欢就下载吧,查找使用更方便

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

让你的软件界面更漂亮[VC] 让你的软件界面更漂亮[VC] 让你的软件界面更漂亮[VC] 让你的软件界面更漂亮[VC] 让你的软件界面更漂亮【VC】 我们使用过很多的软件,给我们留下印象很深的是那些界面漂亮且迷人的软件,国外的软件象QickTime,国产的象金山词霸等,它们的软件界面设计风格都有独特之处。本人跟据自已的经验和大家探讨一下软件的漂亮界面实现的原理并提供DEMO程序。 一、漂亮界面实现的原理用图象元素自绘窗口标题样栏,边框,系统按钮(最大化、最小化、关闭按钮)还有按窗口中的控件。图象当然是美工画的,但要你教美工怎么去画,是不是不能理解?,呆会我会告诉你你如何去教美工画.请先仔细看下图。明白了吧,被红线抱括的部分都是要画的图象。画得好不好会直接影响你的软件界面。二、原理说玩了,来说一下实现的基本知识1、VC软件绘图技术: CBitmap*pBitmap=newCBitmap;BITMAPBmpInfo;CBitmap*pOldBitmap;CDC*pDisplayMemDC=newCDC;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);//记得执行以下的语句deletepDisplayMemDC;deletepBitmap; 2、坐标的概念:点、窗口坐标和屏幕坐标及转换,很重要!如不清楚请先复习相关知识。下图是我写在一个界面,就是基于上述原理实现的: 下面介绍软件如何实现的:①、重载对话框的消息函数: voidOnNcLButtonDown(UINTnHitTest,CPointpoint);//单击标题栏时是响应voidOnNcMouseMove(UINTnHitTest,CPointpoint);//Mous在标题移动时响应LRESULTDefWindowProc(UINTmessage,WPARAMwParam,LPARAMlParam)②、添加关键成员函数为:BOOLDrawTitleBar(CDC*pDC)③、添加完消息涵数后,在.cpp中实现它们的代码(点击查看代码HYPERLINK"http://www.pconline.com.cn/pcedu/empolder/gj/vc/0508/acc/05-09-VC.txt"附件):好了运行你的序程,即可出现漂亮的界面。说明在设计对话框时最好只选上TitleBars,其它不要.消息函数要手动添加。只本程序是在VC++6.0+WinXP环境下完成的。 经过实践证明,仅仅画一个窗口很容易,多窗口程序软件实现统一风格很难。如若有机会的话,我会和大家继续探讨如何将设计好的漂亮窗口子类化,让程序所有的窗口有统一风格,美化窗口的其它控件并可自动随窗口改变而调整大小。我想那才是我们大家关心的。对不?