版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、第十三讲:应用程序外观设计,杨章伟 e-mail:,课程内容安排,修改Windows应用程序外观 制作动画图标 设置图片背景 综合练习 思考和习题,修改应用程序外观样式,可以通过不同的方法来修改应用程序的背景、标题、光标、图标以及框架是否具有最大、最小对话框等信息。由于视图类覆盖在框架窗口上,因此通常在MainFrame中修改图标、标题及是否具有最大、最小框的属性;而背景及光标等信息就需要在View类中修改 。,Visual C+应用程序中的序列化是通过CArchive类来实现的。CArchive类总是与一个CFile对象相关联,CArchive类是作为CFile对象的输入输出流而设计的,如图
2、12-2所示,其使用经过重载的C+流入()操作符,从存储应用程序数据的文件中实现读取和写入数据,而将这些数据保存到磁盘文件中的工作由CArchive对象指示CFile对象来完成。,在框架类中修改程序外观,在框架类中修改程序外观 ,主要是在MainFrame中修改图标、标题及是否具有最大、最小框的属性等实现。事实上,框架类中包含了许多定义应用程序框架的成员函数,新建一个工程后打开工作区的框架类,可看到如图13-1所示的成员函数。,例如,去掉应用程序窗口最大化按钮,添加用户自定义标题。 BOOL CMainFrame:PreCreateWindow(CREATESTRUCT ,利用GetClass
3、Info函数修改应用程序外观样式,BOOL CMainFrame:PreCreateWindow(CREATESTRUCT ,在CMainFrame: OnCreate中修改,利用SetWindowLong函数实现去掉窗口的最大化按钮。 int CMainFrame:OnCreate(LPCREATESTRUCT lpCreateStruct) SetWindowLong(m_hWnd,GWL_STYLE, :GetWindowLong(m_hWnd,GWL_STYLE) ,在视图类中修改程序外观,视图类CxxxView类是显示应用程序框架的主体部分,在视图类中修程序外观可通过成员函数PreC
4、reateWindow、AfxRegisterWndClass函数和OnCreate函数实现。,修改应用程序背景及光标样式。在CMyView:PreCreateWindow中利用AfxRegisterWndClass函数可以修改应用程序的背景和光标样式。 BOOL CMyView:PreCreateWindow(CREATESTRUCT ,制作动画图标,Visual C+除了能够修改应用程序的外观样式,还能够制作动画图标。 该实例将使应用程序框架上的图标不断的变化,当然,用到的图标是事先复制到文件夹,存储图标的文件夹为工程名res文件夹。读者在该工程的资源面板中只要导入这些图标就可以了,不需要
5、自己再动手画一些图标了。,代码清单,int CMainFrame:OnCreate(LPCREATESTRUCT lpCreateStruct) m_hIcon0=AfxGetApp()-LoadIcon(IDI_ICON1); /加载图标资源 m_hIcon1=AfxGetApp()-LoadIcon(IDI_ICON2); m_hIcon2=AfxGetApp()-LoadIcon(IDI_ICON3); m_hIcon3=LoadIcon(AfxGetApp()-m_hInstance,MAKEINTRESOURCE(IDI_ICON4); m_hIcon4=LoadIcon(AfxGe
6、tInstanceHandle(),MAKEINTRESOURCE(IDI_ICON5); SetClassLong(m_hWnd,GCL_HICON,(LONG)m_hIcon0); /改变框架的图标 SetTimer(1,500,NULL);/设立计时器 return 0; void CMainFrame:OnTimer(UINT nIDEvent) / TODO: Add your message handler code here and/or call default static int iIndex=0; iIndex=+iIndex%5;/设置变换时间 SetClassLong
7、(m_hWnd,GCL_HICON,(LONG)m_hIconiIndex); CFrameWnd:OnTimer(nIDEvent);/执行事件 CFrameWnd:OnTimer(nIDEvent); ,设置图片背景,本节将介绍如何将一幅位图(.bmp文件)作为窗口显示的背景。一般来说,将一幅位图选做窗口背景都经过以下几个步骤: (1)创建一个兼容设备描述表。 (2)创建及装入位图资源。 (3)将位图选入兼容设备描述表。 (4)将兼容设备描述表上的内容复制到当前设备描述表上。,代码清单,为应用程序设置背景图片 void CMyView:OnDraw(CDC* pDC) CMyDoc* pD
8、oc = GetDocument(); ASSERT_VALID(pDoc); / TODO: add draw code for native data here CDC dcCompatible; /产生一个兼容DC dcCompatible.CreateCompatibleDC(pDC);/创建及装入位图资源 CBitmap bmp; bmp.LoadBitmap(IDB_BITMAP1); dcCompatible.SelectObject( ,综合练习,设计一个应用程序界面,要求该界面使用用户自定义的图标,去掉最大化按钮,并设置程序标题为“应用程序外观设计”,其背景为蓝色,如图13-18所示。,思考和习题,为什么要修改应用程序的外观? Visual C+的应用程序中
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 人工智能通识 学习情境5 智能语音技术
- 心理健康:学会表达情绪小学主题班会课件
- 智能硬件设计开发指导书
- 通信行业5G技术项目经理绩效考评表
- 医生门诊接诊效率绩效考评表
- 矿井维修钳工技能鉴定考试题库及答案
- 矿井调度员考试题库含答案
- 长期采访项目阶段性总结制度
- 促进假期阶段消费市场健康发展
- 2026下半年《小学道德与法治》教师资格证面试真题及答案【完整版】
- 眉山市2026年医务社会工作服务岗招募(26人)笔试模拟试题及答案详解
- 十堰竹溪县事业单位招聘笔试真题2025
- 2026年三级安全教育考试试题及答案(公司级+部门级+班组级 完整版)
- 2023版静脉治疗护理技术操作标准临床应用指南解读课件
- 2026学年部编版新教材语文五年级上册全册教案设计(含教学计划)
- 2026 年监理工程师《建设工程目标控制(土建)》冲关速记
- 华为任职资格体系(6版)
- 财务付款审批权限制度
- 印刷行业工艺流程与质量控制手册
- 2026年移动式压力容器充装R2作业证考试练习题库含答案
- 2025广东江门市江海区绿信再生资源有限公司拟聘人员笔试历年难易错考点试卷带答案解析
评论
0/150
提交评论