- 1、本文档共42页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
画笔-指导手册
目录
基础知识: 4
1.新建一个工程 4
2 .单文档简介 5
3 .添加消息响应函数 6
4 .资源 7
一.绘制简单的图形 8
1.设备环境 8
2 .绘制基本图形 8
3 .用鼠标拖曳确定画基本图形的位置 9
4 .随手画 10
5 .利用菜单选择画图类型 10
6 .设置画笔的风格 12
7 .调色板的使用 13
8 .橡皮筋技术 13
9 .在OnDraw中画图 16
二.创建自己的图元 17
1.图形基类CShape 17
2 .直线类CLine 19
3 .使用链表管理图元 21
三.串行化 (只需要记录相应的接口) 25
四.图元的操作 31
1.图元的选中 31
2. 图元的移动 33
3. 图元的删除 35
4. 图元层次的变换 37
五.保存和打开位图 38
基础知识:
1.新建一个工程
打开Microsoft Visual C++ 6.0 — 点击File — New
在Projects 中选择 MFC AppWizard (exe) ;
在 Project name 中输入工程的名字,在 Location 中选择工程存放的路径。
填完后点击OK 按钮。
在弹出来的对话框中我们可以选择生成三种不同类型的应用程序:单文档、多文
档、对话框。
单文档程序如记事本,在一个应用程序中只能对一个文档进行操作,降低了编程
的复杂度并减少了运行程序时所需的资源。对某些小型应用(比如文本编辑器或小
型图像编辑器)可以采用这种类型的窗口应用程序。
多文档程序如PhotoShop,在一个应用程序中可以同时对多个文档进行操作;
对话框程序如QQ,应用程序的界面是对话框形式的。现对话框版本的程序更小一些。
除了节省资源外,对话框版本的应用程序的加载速度也更快些。基于对话框的应用程
序比完成相同功能的基于窗口的应用程序更简单有效。
这里我们选第一个:单文档。
选择完后点击Finish,完成工程的创建。
2 .单文档简介
生成单文档程序后,进行编译,在运行,我们可以看到以下的结果。
在ClassView 中,我们可以看到系统自动为我们生成了五个类:CApp , CDoc , CView ,
CAboutDlg , CMainFrame。
CApp 相当于C 语言中的main()函数。是程序的起始。
CDoc 是用于处理程序中文档的类。
CView 主要是处理客户区的可视化的操作的类。
CAboutDlg 是处理关于对话框的类。
CMainFrame 是非客户区的一些资源的类。
我们主要是对CView 类进行操作。
3.添加消息响应函数
系统为我们生成了一个程序的框架,但是这个框架完成不了什么具体的功能。为
了使程序程序完成我们想要做的事,我们要向这个框架中加入一些代码。
VC++程序的运行并不像C 语言是按照顺序运行下来的。每当我们完成一个事件,
系统就会发出特定的消息,程序就会跳到相应的消息响应函数中执行里面的代码。
单击菜单中的View-Class Wizard(或按快捷键Ctrl+W ),将会弹出MFC Class Wizard
对话框。
在Class Name 中选择CView,在Messages 中选择WM_LBUTTONDBLCLK ,点击右边
的Add Function 按键。这样我们就为程序添加了鼠标左键双击的消息响应函数,函数名
为OnLButtonDblClk(UINT nFlags, CPoint point)。
我们点击Edit Code 按键就可以进入消息响应函数中。
我们在消息响应函数中添加如下代码:
AfxMessageBox(“Hello Word!”);
运行程序!
当我们在客户区中双击鼠标左键时,我们可以看到效果。
我们在完成双击鼠标左键这个事件后,Windows 便会发出WM_LBUTTONDBLCLK 这
条消息。我们的程序收到这个消息后,就会跳转到鼠标左键双击的消息响应函数内,
执行里面的代码。
同样的,我们可以添加其他的消息响应函数,如鼠标左键按下,抬起,鼠标移动
等(WM_LBUTTONUP、WM_LBUTTONDOWN
文档评论(0)