具体而微的绘图程式-c++ Borland 入门
日期:2008年3月2日 作者: 查看:[大字体 中字体 小字体]-
}
此程式的意义即在於将滑鼠所经过的每个点,以线条连接起来,在加上OnMouseMove 事件处理函式之後,它的执行结果会变成图XX-02:

图XX-02
XX-02-03 滑鼠的处理的加强
前面的程式对於滑鼠的移动处理有部份考虑的不够周详,因为它在滑鼠移动时不分青红皂白就将线画在萤慕上,造成萤幕上的线条混乱,这并不是正规的处理方法,正确的处理方法应该如下:
(1) 滑鼠键按下时,将记录滑鼠按下的旗标设为True.同时将该点记录下来,谓之原点。
- 滑鼠移动时,判断滑鼠按下的旗标是否设为 True,若为 True,则移动至原点,并画一条由原点至目前所在点的线。同时更新原点位置至目前所在之点。
- 滑鼠放开时,将记录滑鼠按下的旗标设为False。
以下就是关於叁个滑鼠事件的处理程式码。
// 滑鼠按下的事件处理函式
// 1. 将旗标设为True
// 2. 记录原点位置
void __fastcall TForm1::FormMouseDown(TObject *Sender, TMouseButton Button,
TShiftState Shift, int X, int Y)
{
m_bDraw = TRUE;
m_nOrgX=X;
m_nOrgY=Y;
}
// 滑鼠移动的事件处理函式
// 1. 判断旗标是否为True。若是则进行以下动作。
// 2. 移动至原点。
// 3. 画一条由原点至目前所在点的线条。
// 4. 更改原点位置。
void __fastcall TForm1::FormMouseMove(TObject *Sender, TShiftState Shift,
int X, int Y)
{
if (m_bDraw)
{
Canvas->MoveTo(m_nOrgX,m_nOrgY);
Canvas->LineTo(X,Y);
m_nOrgX = X;
m_nOrgY = Y;
}
}
// 滑鼠放开的事件处理函式
// 1. 判断旗标是否为True。若是则进行以下动作。
// 1. 将旗标设为 False。
// 2. 画线并记录原点位置(非必要)。
void __fastcall TForm1::FormMouseUp(TObject *Sender, TMouseButton Button,
TShiftState Shift, int X, int Y)
{
if (m_bDraw)
{
m_bDraw=FALSE;
Canvas->MoveTo(m_nOrgX,m_nOrgY);
Canvas->LineTo(X,Y);
m_nOrgX = X;
m_nOrgY = Y;
}
}
将滑鼠事件处理函式做以上的修改之後,我们就完成了一个基本的涂鸦程式的雏形了。我将此表格的背景设为黑色,笔的状态设为2单位宽度的红色笔,就得到以下的输出结果:
- 上一页 [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12] 下一页
-
- 具体而微的绘图程式-c++ Borland 入门 相关文章:
- ·Vista精简工具vLite 1.1RC版下载
- ·3GP手机视频转换工具WinAVI
- ·轻松把任何网页工具放进Vista侧边栏
- ·Word 2007里就能算算式 内置工具使用更方便
- ·网管秘籍 审核网络安全的十大必备工具
- ·考拉宝工具条 帮你轻松下载优酷、土豆视频
- ·解析Leopard的备份工具:Time Machine
- ·常用图片请入WPS 2007工具栏
- ·XP系统精简工具nLite 1.4.1正式版
- ·用Photoshop加深减淡工具巧抠婚纱
- 具体而微的绘图程式-c++ Borland 入门 相关软件
- ·《古墓丽影十周年纪念版》正式版地图任我游工具
- ·SwiftDog GameHike 游戏速度优化工具
- ·《反恐精英》著名的贴图包制作工具下载
- ·《实况足球9》实用工具集
- ·PS游戏转PSP工具 PSX2PSP下载
- ·DOS模拟工具《DosBox》0.70 版
- ·游戏加速工具PGWARE GameBoost
- ·图片欣赏-茶具图秀
- ·《生化危机4》色彩优化工具
- ·《生化危机4》鼠标模拟工具简繁体双语v2.0版
- 特别声明:本站除部分特别声明禁止转载的专稿外的其他文章可以自由转载,但请务必注明出处和原始作
- 者.文章版权归文章原始作者所有.对于被本站转载文章的个人和网站,我们表示深深的谢意。如果本站转
- 载的文章有版权问题请联系编辑人员,我们尽快予以更正. 转载请注明来源:http://www.hackhome.com
上一篇:恺撒的规化
精品推荐
热点TOP10
- ·飞机订票系统设计
- ·用c#监控网络流量
- ·C语言库函数 (D类字母)
- ·C#使用WIN32API来遍历文件和目录
- ·socket编程原理
- ·Beej的网络socket编程指南
- ·将程序从托管扩展 C++ 迁移到 C++/CLI(1)
- ·具体而微的绘图程式-c++ Borland 入门
- ·再现C#导出Excel源码
- ·C/C++笔试、面试题目大汇总
- ·C语言库函数(S类字母) - 3
- ·C++ STL编程轻松入门
- ·TCPIP完整的一套基础介绍
- ·简单的画笔
- ·学生成绩管理系统实习
- ·C语言的常用库函数使用方法分析及用途
- ·C++运算符重载转换运算符
- ·C语言教程第五章:函数
- ·数据结构学习(C++)之图
- ·Windows编程基础 - 概述
特别推荐
- ·Beej的网络socket编程指南
- ·socket编程原理
- ·C语言库函数 (D类字母)
- ·C#程序开发中的常用函数汇总
- ·C#数据库操作的三种经典用法
- ·C/C++笔试、面试题目大汇总
- ·C语言的常用库函数使用方法分析及用途
- ·在C语言中如何处理时间和日期
- ·C++设计模式之Singleton
- ·VC++动态链接库编程之MFC扩展 DLL
- ·TCP/IP网络重复型服务器通信软件的设计
- ·DirectX游戏开发入门
- ·经典与现代的结合:在MFC中集成RAD .NET框架
- ·Windows API-GDI入门基础知识详解(2)
- ·Visual C++ 入门精解
- ·C#基础概念二十五问
- ·用C#实现pdf文件的完整性验证
- ·成为嵌入式程序员应知道的0x10个问题
- ·TCP/IP编程实现远程文件传输
- ·几个C#编程的小技巧
