VC++界面设计.ppt

上传人:仙人指路1688 文档编号:2877650 上传时间:2023-02-28 格式:PPT 页数:17 大小:245.50KB
返回 下载 相关 举报
VC++界面设计.ppt_第1页
第1页 / 共17页
VC++界面设计.ppt_第2页
第2页 / 共17页
VC++界面设计.ppt_第3页
第3页 / 共17页
VC++界面设计.ppt_第4页
第4页 / 共17页
VC++界面设计.ppt_第5页
第5页 / 共17页
点击查看更多>>
资源描述

《VC++界面设计.ppt》由会员分享,可在线阅读,更多相关《VC++界面设计.ppt(17页珍藏版)》请在三一办公上搜索。

1、VC+6.0 界面设计,2011-05-18,主要内容,创建Dialog工程添加菜单添加工具条常用组件的使用位图处理事件响应数据结合,创建Dialog工程,在vc+6.0中,可以创建许多不同类型的工程。其中MFC AppWizard(exe)工程可以帮助程序员快速编写界面程序。通过MFC AppWizard(exe)可以创建单文档、多文档和对话框三种类型的应用程序。如何创建一个基于“对话框”的应用程序呢?,创建Dialog工程,创建MFC AppWizard(exe)工程应用程序类型:选择dialog based一如既往地next,直到finish出现点击finish就OK啦。运行一下,看看成

2、果吧函数说明:OnInitDialog 对话框的初始化OnPaint 绘图,获取DC,绘制文本、图片等接下来,就是往对话框中添加组件、绘制漂亮的图形、添加消息处理、实现用户交互,添加菜单,新建“菜单”:insert-resource-menu可以选择new(新建)或import(导入)菜单编辑“菜单”:双击菜单项,弹出属性对话框后进行编辑。注:a)ID的命名,保证唯一性以及规范性;b)快捷键,如,对文件选项添加快捷键为F,则Caption为:文件(&F)加载“菜单”:鼠标移动到当前对话框,右键属性,Menu项选中你所创建的菜单的ID。,添加工具条,工具栏是神马?创建、编辑工具条:insert-

3、resource-toolbar-new,编辑加载工具条(1)创建CToolBar对象实例,如:tbar(2)在OnInitDialog函数中初始化并加载:CRect rect(10,10,0,0);if(!tbar.CreateEx(this,TBSTYLE_FLAT,WS_CHILD|WS_VISIBLE|CBRS_ALIGN_TOP|CBRS_GRIPPER|CBRS_TOOLTIPS,rect)|!tbar.LoadToolBar(IDR_TOOLBAR)TRACE0(failed);return FALSE;tbar.ShowWindow(SW_SHOW);RepositionBar

4、s(AFX_IDW_CONTROLBAR_FIRST,AFX_IDW_CONTROLBAR_LAST,0);编译,运行。看看效果吧!,常用组件的使用,一些简单的常用组件:Static Text:展示静态文本&画板Edit BoxButtonCheck boxRadio buttonGroup boxAnd so on,位图处理,Static Text作为“画板”怎样在对话框绘制一个棋盘?,位图处理,添加static text组件,调整位置与大小修改属性:ID(IDC_BOARD),caption,style选中notify(消息响应)导入位图:insert-resource-bitmap-im

5、port.ID修改为IDB_BOARD创建CWnd、CDC对象实例:CDC*pboardDC;CWnd*pBoardWnd;5.初始化,CWnd与Static text ID关联,并获取设备上下文pBoardWnd=GetDlgItem(IDC_BOARD);pboardDC=pBoardWnd-GetDC();6.加载位图(棋盘):防止屏幕闪烁,缓冲技术,位图处理,缓冲技术:即将需要展现的图形先绘制在缓存DC中,待所有图形绘制完成再加载到界面。源码实现:pBoardWnd-UpdateWindow();CDC MemDC;/创建DCMemDC.CreateCompatibleDC(pboar

6、dDC);/内存缓存DCm_BoardBmp.LoadBitmap(IDB_BOARD);/加载位图/选择位图到缓存区pOldBmp=MemDC.SelectObject(/删除位图对象,位图处理,在位图(棋盘)上绘制其他图形打印字符串:MemDC.TextOut(200,200,Hello World!);但字串会有白色的背景,把下面语句添加到上面语句之前,设置透明背景。MemDC.SetBkMode(TRANSPARENT);绘制棋子:(1)导入图片:insert-resource-bitmap-import(ID:IDB_CHESS)(2)创建CImageList对象实例:CImageL

7、ist m_Queen;(3)m_Queen关联位图:m_Queen.Create(IDB_CHESS,40,40,RGB(255,255,255);(4)绘制棋子:pt.x=60;pt.y=60;m_Queen.Draw(,事件响应,类向导:右键-class wizardMessage MapsMember variables,事件响应,Message Maps:ProjectClass nameObject IDs:组件ID列表Messages:消息响应Member functions:对应的成员函数选中一个Object IDs后,在Messages中是其对应的消息响应,双击某messag

8、e(如:COMMAND)添加相应的成员函数。双击该函数,调整至该函数体就可编辑代码了。,事件响应,Member variables:ProjectClass nameControl IDs:可添加变量的控件ID列表对某一控件添加一个变量:选中该控件ID-Add Variable-编辑如,对IDC_TEXT添加成员变量m_stext,数据处理,数据层:处理数据图形界面层:根据数据显示图形化界面CMyData类,数据处理类public:void setCnt(int cnt);int getCnt();void addCnt();void subCnt();/m_icnt减1private:int m_icnt;在CGui_amazonsDlg类中结合数据显示相关图形,并且根据交互信息(用户操作)完成对数据层数据的处理。(1)创建对象实例:CMyData mydata;(2)操作:按下工具条按钮1,调用subCnt(),并重画棋盘void CGui_amazonsDlg:OnTbitem1()MessageBox(工具栏按钮1,cnt-,NULL,MB_OK);mydata.subCnt();this-DrawBoard();,运行结果,3Q,

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 建筑/施工/环境 > 项目建议


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号