用Delphi编写涂鸦桌面的小程序

DelphiXE10.3_FMX画图程序.rar FMX 的 Canvas 在不同的系统上会分别使用: WinVista、Win7: D2D (FMX.Canvas.D2D.pas) WinXP: GDI+ (FMX.Canvas.GDIP.pas) Mac 系列: Core Graphics (FMX.Canvas.Mac.pas) 和 HTML5 中的 Canvas 非常类似, 现在的 Canvas 模糊了 Pen 的概念: 之前的 Canvas.Pen 对应: Canvas.Stroke; 之前的 Canvas.Brush 对应: Canvas.Fill. 在 FMX 中, Canvas 无处不在, 其 Canvas.Stroke、Canvas.Fill 的状态也各不相同, 一般要先初始化它们. 立即下载

有很多的关于涂鸦桌面的小软件,确实很好玩,现在来用Delphi实现之。我建议使用Delphi,因为他做这个简直太

Easy了!

首先,新建一个Application,将Form1的WindowState设为wsMaximized,BorderStyle设为bsNone。这样做的目的就是

可以使窗口的Client区域充满整个屏幕,那么我们就可以在上面随意的画画了。

接下来,在Form的OnCreate事件中写入使窗口的客户区域显示屏幕画面的代码(关键步骤)

procedure TForm1.FormCreate(Sender: TObject);
begin
Brush.Style :=bsClear;//这里的实现方法用Delphi是最简单的了
end;

好了,以后加入画图的程序就可以了。下面是全部的Delphi代码,本程序在Win2000 + Delphi6中调试通过!


unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs;

type
  TForm1 = class(TForm)
    procedure FormCreate(Sender: TObject);
    procedure FormMouseDown(Sender: TObject; Button: TMouseButton;
      Shift: TShiftState; X, Y: Integer);
    procedure FormMouseMove(Sender: TObject; Shift: TShiftState; X,
      Y: Integer);
    procedure FormMouseUp(Sender: TObject; Button: TMouseButton;
      Shift: TShiftState; X, Y: Integer);
    procedure FormKeyDown(Sender: TObject; var Key: Word;
      Shift: TShiftState);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;
implementation

{$R *.dfm}
//上面都是Delphi自动生成的代码
procedure TForm1.FormCreate(Sender: TObject);
begin
Brush.Style :=bsClear;
Tag:=0;  //使用Form的Tag属性作标志位
end;

procedure TForm1.FormMouseDown(Sender: TObject; Button: TMouseButton;
  Shift: TShiftState; X, Y: Integer);
begin
Tag:=1; //置位
Canvas.MoveTo(X,Y); //将Pen的位置移到当前
//取随机数
Randomize;
Canvas.Pen.Width := Random(30);//设置画笔的宽度
Canvas.Pen.Color :=RGB(Random(255),Random(255),Random(255));//设置画笔的颜色
end;

procedure TForm1.FormMouseMove(Sender: TObject; Shift: TShiftState; X,
  Y: Integer);
begin
if Tag=1 then
begin
   Canvas.LineTo(x,y);//画线
end;
end;

procedure TForm1.FormMouseUp(Sender: TObject; Button: TMouseButton;
  Shift: TShiftState; X, Y: Integer);
begin
Tag:=0; //标志位
end;

procedure TForm1.FormKeyDown(Sender: TObject; var Key: Word;
  Shift: TShiftState);
begin
if key=27 then Close();//判断如果按下ESC键就退出程序
end;

end.

Delphi编写涂鸦桌面的小程序 Delphi编写涂鸦桌面的小程序 Project1.cfg Project1.dof Project1.dpr Project1.exe Project1.res Unit1.dcu Unit1.dfm Unit1.pas 立即下载

相关推荐

delphi 绘图笔触源代码

delphi 绘图笔触源代码

Delphi绘图功能[1] —— 入门(绘制直线和矩形)

使用圆角矩形绘制一个圆角矩形使用钢笔和填充它与画笔。矩形的边缘由点(X1,Y1) ,(X2,Y1) ,(X2,Y2) ,(X1,Y2)定义,但是角落将被修剪以创建一个圆形的外观。此函数绘制的矩形无法滚动。要滚动包含 DrawFocusRect 绘制的矩形的区域,请调用 DrawFocusRect 从屏幕上移除该矩形,滚动该区域,然后调用 DrawFocusRect 在新位置绘制该矩形。因为 DrawFocusRect 使用了一个 XOR 函数,所以在指定相同的矩形时第二次调用它会从屏幕中移除该矩形。

兴趣使然的编程菜鸟 4224

delphi做的画图程序(加源码)

软件够小,内容够少。

delphi releasecapture 禁止窗体移动_敬业签桌面便签软件电脑版怎么锁定位置无法移动...

敬业签是电脑商务办公便签软件,其Windows桌面版支持锁定的功能,可将便签程序窗口锁定在电脑桌面的某一位置上无法移动,这篇文章的主要内容,小编就为大家演示下这个功能的使用方法,带大家了解下如何开启便签窗口锁定状态。1.打开电脑桌面上的敬业签软件,登录会员账号后进入便签程序窗口,点击程序左上角的头像图标打开系统设置窗口;2.在软件基本设置中找到“桌面嵌入”项,勾选此项前方的空白方块;3....

weixin_39788960的博客 339

方便实用的桌面小便笺

找了好久没找到合适的桌面帖,就自己写了一个. 可以在桌面上半透明显示. 记录自己日常的一些事情.作为提醒.基本功能都有了,欢迎完善.

Delphi画图程序源码,可调节颜色与笔触..rar

Delphi画图程序,可调节颜色与笔触..rar

用Delphi编写涂鸦桌面的小程序 (转)

用Delphi编写涂鸦桌面的小程序 (转)[@more@]有很多的关于涂鸦桌面的小软件,确实很好玩,现在来用Delphi实现之。我建议使用Delphi,因为他做这个简直太 Easy了! 首先,新建一个Application,...

csd3176的博客 323

桌面涂鸦,可以把桌面当平板电脑一样用,桌面涂鸦,特别适合课堂上课时把桌面当黑板

可以把棹面当平板电脑一样用,桌面涂鸦,特别适合课堂上课上老师用。

想在桌面上涂鸦吗

我曾经说过一句致理名言:涂鸦是人生一大乐趣。 只要你懂得涂鸦之道,涂鸦是非常好玩的。在窗口上画多了,不爽了,想不想在桌面上画? 不要惊讶,这是可以的。 Graphics类可以用一个静态方法FromHwnd来创建实例,如果想在桌面上涂鸦,只要得到桌面的句柄就可以了。那么如何得到桌面的句柄呢?要用到一个非托管API,即 [csharp]view plaincopy ...

weixin_30641999的博客 135

TMS320F280039 CMD文件配置避坑指南:从.map文件看懂内存分配与溢出排查

本文详细解析了TMS320F280039芯片的CMD文件配置问题,通过.map文件分析内存分配与溢出排查。文章提供了实用的诊断技巧和解决方案,帮助开发者有效应对段溢出、地址重叠和栈堆冲突等常见问题,优化DSP程序的内存管理。

weixin_29168813的博客 443

IDEA 导入 jbolt项目(实验室非公开项目)

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录准备一、准备数据库二、IDEA导入jbolt项目 准备 在实验室群文件中下载jbolt.zip和mysql.sql两个文件 将其解压到自己的目录下 一、准备数据库 打开Navicat新建一个jbolt数据库(字符集为utf8) 导入mysql.sql文件 数据库导入完毕 二、IDEA导入jbolt项目 点击打开一个项目 选择jbolt文件夹 以Maven形式打开 打开pom.xml 在里面添加jetty-server依赖

weixin_44094842的博客 973

042_《Delphi深度历险》

《Delphi深度历险》 Delphi 教程 系列书籍 (042) 《Delphi深度历险》 网友(邦)整理 EMail: shuaihj@163.com 下载地址: Part1 Part2 附书源码 作者: 陈宽达 丛书名: 其他 出版社:科学出版社 ISBN:7030094484 上架时间:2001-10-11 出版日期:2001 年7月 页码:422 ...

v5qqcom 181

vos如何对接okcc(保姆级教程)

1.添加账户 点击 系统->账户管理 [图片] 2.创建费率 系统->费率管理 点击添加

qq_46333281的博客 3453

以前在杂志发表的一些文章

 1. 用Basic编的打字练习游戏《学生计算机世界》,大概是1998年发表的,中专时,算是接触计算机比较早的了,现在还没啥成就,汗颜。。。 2.实战CMOS SETUPhttp://www.cnki.com.cn/Article/CJFDTotal-DNZS199912002.htm 3.用Delphi编写桌面涂鸦程序   http://epub.cnki.net

byteh的专栏 817

Java开发者的福音:Aspose 25.10全系列(Cells/Words/PDF/Slides)最新版破解与集成保姆级教程

本文为Java开发者提供了Aspose 25.10全系列组件(Cells/Words/PDF/Slides)的最新版破解与集成保姆级教程。通过详细的Maven依赖配置、字节码修改技术绕过限制,以及Spring Boot项目中的实战集成指南,帮助开发者高效实现Office文档处理功能,提升开发效率。

weixin_30919429的博客 346

大模型产品Deepseek(七)、可视化本地知识库搭建详细教程(Cherry Studio)

Cherry Studio 为智能体的开发提供了一个强大的可视化平台,结合大模型和嵌入式知识库,它可以在多个应用场景中提供智能化的支持。如果你有进一步的需求或问题,可以继续在 Cherry Studio 中进行更多自定义配置,或者通过 API 调用集成到你的应用中。现在,知识库已经搭建并与 DeepSeek 模型连接好,接下来,我们将使用 Cherry Studio 提供的可视化界面进行智能提问。为了让智能体能够通过大模型查询到知识库中的信息,你需要为知识库配置索引和匹配模型。

xiaoqi270620903的专栏 1333

视频捕获:预览、截图、录像(MP4 软/硬编码)、推流,一网打尽

问题来由: 公司项目要对接很多厂家的视频采集卡,每个厂家都提供了 SDK。 这些 SDK 基本上都是 VC 封装的。VC2008 、VC2010、 VC2012,都有。还有的竟然用 .Net 来封装。 麻烦的是同一个 VC 运行库,版本还不一样。比如 VC2008 有好几个版本。SDK 中,就使用了不同的版本。 VC 编写的程序都是这个尿性。看看 QQ(PC版) 就知道了。VC2008 、VC2010、 VC2012,都用到了。 这些设备厂家为什么就不能提供 MT 版...

dbyoung的Delphi专栏 2571

Altium Designer(AD24/25)导出DXF或DWG结构文件的方法

DXF(Drawing Exchange Format)和DWG(Drawing)是两种常见的CAD(计算机辅助设计)文件格式,常用于结构和硬件之间的沟通。本文介绍Altium Designer(AD24/25)导出DXF或DWG结构文件的方法。

fydar的博客 2325

dbVideoSDK v2.0 高速视频处理

视频捕获、截图、MP4编码、RTMP 推流、视频涂鸦

dbyoung的Delphi专栏 724

RT-Thread GD32F4xx HWTIMER驱动

GD32F4xx RT-Thread 硬件定时器驱动调试使用记录

madao1234的博客 1482

14、PostgreSQL日志文件、系统统计与查询优化全解析

本文全面解析了PostgreSQL数据库中的系统统计、日志文件配置与查询优化技巧。详细介绍了如何利用pg_stat_statements模块进行性能监控,配置日志记录以发现潜在问题,并深入探讨了查询优化器的工作原理和优化策略。通过实际案例分析,展示了如何综合应用这些技术提升数据库性能。适合希望提升PostgreSQL性能与稳定性的数据库管理员和开发人员阅读。

efc123456的博客 94
上一篇: 调用系统屏幕保护
下一篇: 使用Windows消息控制Winamp(VB)
40Star
博客等级 码龄25年 1粉丝 32原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值