社区
Delphi
帖子详情
■■■如何跨越多个窗体画一条线?■■■
goomoo
2003-02-17 09:49:59
如何跨越多个窗体画一条线?就象DreamWeaver中的拖动target标志到目标文件时画出的一条直线。
注意这些窗体有可能不是同一个应用程序的。
...全文
76
7
打赏
收藏
■■■如何跨越多个窗体画一条线?■■■
如何跨越多个窗体画一条线?就象DreamWeaver中的拖动target标志到目标文件时画出的一条直线。 注意这些窗体有可能不是同一个应用程序的。
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
7 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
goomoo
2003-02-17
打赏
举报
回复
送给大家一段源码:
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, ExtCtrls;
type
TForm1 = class(TForm)
Button1: TButton;
Timer1: TTimer;
procedure Button1MouseDown(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
procedure Button1MouseUp(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
procedure Timer1Timer(Sender: TObject);
private
{ Private declarations }
opx,opy,lpx,lpy:integer; //opx:origion point x lpx:last piont x
startDraw:boolean;
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
procedure TForm1.Button1MouseDown(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
begin
opx:=mouse.CursorPos.X;
opy:=mouse.CursorPos.Y;
lpx:=mouse.CursorPos.x;
lpy:=mouse.CursorPos.Y;
startDraw:=true;
timer1.Enabled:=true;
end;
procedure TForm1.Button1MouseUp(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
begin
startDraw:=false;
timer1.Enabled:=false;
end;
procedure TForm1.Timer1Timer(Sender: TObject);
var
dc:hdc;
c:TCanvas;
begin
dc:=getDC(0);
c:=TCanvas.Create;
try
c.Handle:=dc;
c.Pen.Mode:=pmNotXor;
c.MoveTo(opx,opy);
c.LineTo(lpx,lpy);
//c.MoveTo(opx,opy); //这句注释掉和不注释调效果不同
c.LineTo(mouse.CursorPos.x,mouse.CursorPos.Y);
lpx:=mouse.CursorPos.x;
lpy:=mouse.CursorPos.Y;
finally
c.free;
end;
end;
end.
sysu
2003-02-17
打赏
举报
回复
是了,应该是GetDC(0)。;)
zwjchina
2003-02-17
打赏
举报
回复
把dc:=getdc(getDeskTopWindow)改为
dc := GetDC(0)
goomoo
2003-02-17
打赏
举报
回复
我已搞定了。 :)
goomoo
2003-02-17
打赏
举报
回复
好像不行,我是这样写的:
procedure TForm1.Button1Click(Sender: TObject);
var
dc:hdc;
c:TCanvas;
begin
dc:=getdc(getDeskTopWindow); //将getDesktopWindow改成form1.handle则可以在窗体上画线。
c:=TCanvas.Create;
try
c.Handle:=dc;
c.MoveTo(0,0);
c.LineTo(600,400);
finally
c.free;
end;
end;
goomoo
2003-02-17
打赏
举报
回复
谢谢! 我试试先。
sysu
2003-02-17
打赏
举报
回复
GetDC(GetDesktopWindow)
2024职工群体户外交友拓展“躺进春天 趣野人生”活动策划方案ss.pptx
2024职工群体户外交友拓展“躺进春天 趣野人生”活动策划方案ss.pptx
pypy3.7-v7.3.4-osx64.tar.bz2
Python库是一组预先编写的代码模块,旨在帮助开发者实现特定的编程任务,无需从零开始编写代码。这些库可以包括各种功能,如数学运算、文件操作、数据分析和网络编程等。Python社区提供了大量的第三方库,如NumPy、Pandas和Requests,极大地丰富了Python的应用领域,从数据科学到Web开发。Python库的丰富性是Python成为最受欢迎的编程语言之一的关键原因之一。这些库不仅为初学者提供了快速入门的途径,而且为经验丰富的开发者提供了强大的工具,以高效率、高质量地完成复杂任务。例如,Matplotlib和Seaborn库在数据可视化领域内非常受欢迎,它们提供了广泛的工具和技术,可以创建高度定制化的图表和图形,帮助数据科学家和分析师在数据探索和结果展示中更有效地传达信息。
腾讯&阿里&携程面试题汇总(精华版).pdf
腾讯&阿里&携程面试题汇总(精华版)
pypy2-v6.0.0-s390x.tar.bz2
Python库是一组预先编写的代码模块,旨在帮助开发者实现特定的编程任务,无需从零开始编写代码。这些库可以包括各种功能,如数学运算、文件操作、数据分析和网络编程等。Python社区提供了大量的第三方库,如NumPy、Pandas和Requests,极大地丰富了Python的应用领域,从数据科学到Web开发。Python库的丰富性是Python成为最受欢迎的编程语言之一的关键原因之一。这些库不仅为初学者提供了快速入门的途径,而且为经验丰富的开发者提供了强大的工具,以高效率、高质量地完成复杂任务。例如,Matplotlib和Seaborn库在数据可视化领域内非常受欢迎,它们提供了广泛的工具和技术,可以创建高度定制化的图表和图形,帮助数据科学家和分析师在数据探索和结果展示中更有效地传达信息。
基于C语言实现列车车厢重排问题(源码)
列车车厢重排问题是经典的组合优化问题,也称为车厢调度问题或车厢排序问题。它的问题描述如下:有一列火车,列车由多节车厢组成,每个车厢上都有一个唯一的标识号。现在需要将这些车厢按照指定的顺序重新排列,使得满足一定的条件,例如车厢编号的升序或降序排列,或者满足某些车厢之间的关系等。
Delphi
5,379
社区成员
262,722
社区内容
发帖
与我相关
我的任务
Delphi
Delphi 开发及应用
复制链接
扫一扫
分享
社区描述
Delphi 开发及应用
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章