《应用程序外观设计》PPT课件.ppt_第1页
《应用程序外观设计》PPT课件.ppt_第2页
《应用程序外观设计》PPT课件.ppt_第3页
《应用程序外观设计》PPT课件.ppt_第4页
《应用程序外观设计》PPT课件.ppt_第5页
已阅读5页,还剩16页未读 继续免费阅读

VIP免费下载

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第十三讲:应用程序外观设计,杨章伟 e-mail:,课程内容安排,修改Windows应用程序外观 制作动画图标 设置图片背景 综合练习 思考和习题,修改应用程序外观样式,可以通过不同的方法来修改应用程序的背景、标题、光标、图标以及框架是否具有最大、最小对话框等信息。由于视图类覆盖在框架窗口上,因此通常在MainFrame中修改图标、标题及是否具有最大、最小框的属性;而背景及光标等信息就需要在View类中修改 。,Visual C+应用程序中的序列化是通过CArchive类来实现的。CArchive类总是与一个CFile对象相关联,CArchive类是作为CFile对象的输入输出流而设计的,如图12-2所示,其使用经过重载的C+流入()操作符,从存储应用程序数据的文件中实现读取和写入数据,而将这些数据保存到磁盘文件中的工作由CArchive对象指示CFile对象来完成。,在框架类中修改程序外观,在框架类中修改程序外观 ,主要是在MainFrame中修改图标、标题及是否具有最大、最小框的属性等实现。事实上,框架类中包含了许多定义应用程序框架的成员函数,新建一个工程后打开工作区的框架类,可看到如图13-1所示的成员函数。,例如,去掉应用程序窗口最大化按钮,添加用户自定义标题。 BOOL CMainFrame:PreCreateWindow(CREATESTRUCT ,利用GetClassInfo函数修改应用程序外观样式,BOOL CMainFrame:PreCreateWindow(CREATESTRUCT ,在CMainFrame: OnCreate中修改,利用SetWindowLong函数实现去掉窗口的最大化按钮。 int CMainFrame:OnCreate(LPCREATESTRUCT lpCreateStruct) SetWindowLong(m_hWnd,GWL_STYLE, :GetWindowLong(m_hWnd,GWL_STYLE) ,在视图类中修改程序外观,视图类CxxxView类是显示应用程序框架的主体部分,在视图类中修程序外观可通过成员函数PreCreateWindow、AfxRegisterWndClass函数和OnCreate函数实现。,修改应用程序背景及光标样式。在CMyView:PreCreateWindow中利用AfxRegisterWndClass函数可以修改应用程序的背景和光标样式。 BOOL CMyView:PreCreateWindow(CREATESTRUCT ,制作动画图标,Visual C+除了能够修改应用程序的外观样式,还能够制作动画图标。 该实例将使应用程序框架上的图标不断的变化,当然,用到的图标是事先复制到文件夹,存储图标的文件夹为工程名res文件夹。读者在该工程的资源面板中只要导入这些图标就可以了,不需要自己再动手画一些图标了。,代码清单,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(AfxGetInstanceHandle(),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(m_hWnd,GCL_HICON,(LONG)m_hIconiIndex); CFrameWnd:OnTimer(nIDEvent); /执行事件 CFrameWnd:OnTimer(nIDEvent); ,设置图片背景,本节将介绍如何将一幅位图(.bmp文件)作为窗口显示的背景。一般来说,将一幅位图选做窗口背景都经过以下几个步骤: (1)创建一个兼容设备描述表。 (2)创建及装入位图资源。 (3)将位图选入兼容设备描述表。 (4)将兼容设备描述表上的内容复制到当前设备描述表上。,代码清单,为应用程序设置背景图片 void CMyView:OnDraw(CDC* pDC) CMyDoc* pDoc = 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. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论