delphi画矩形后,使其能随鼠标拖动而变化大小 也就是说在窗体或者,可话图形的组件上画一矩形,并且这一矩形可以随着鼠标的拖动而改变大小 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 unit Unit1;interfaceuses 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 FormMouseUp(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer); procedure FormMouseMove(Sender: TObject; Shift: TShiftState; X, Y: Integer); private { Private declarations } public { Public declarations } end;var Form1: TForm1;implementation{$R *.dfm}var cx, cy: Integer; md: Boolean;procedure TForm1.FormCreate(Sender: TObject);begin Form1.DoubleBuffered := true; md := false;end;procedure TForm1.FormMouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer);begin md := true; cx := x; cy := y;end;procedure TForm1.FormMouseUp(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer);begin md := false;end;procedure TForm1.FormMouseMove(Sender: TObject; Shift: TShiftState; X, Y: Integer);begin if md then begin Form1.Canvas.Rectangle(cx, cy, X, Y); end;end;end. 在mousemove事件内,首先擦除以前的矩形(FOldRect),然后画当前的矩形(FCRect),最后把当前的矩形赋给以前的矩形(FOldRect=FCRect),擦除就用背景颜色画矩形就行了canvas.rectangle(rect:TRect); 看到你的留言了,那个是很早的时候做的,现在不见了,留下email,晚上做个例子给你。 就是动态改变控件大小那样的东东呗这方面的文章坛子里挺多的情搜索 Delphi 截取图片 如何获取 Microsoft Web Browser 控件里的网页内容? 网络数据库连接 求助!!!如何将某年中的第几天,转化为日期格式! 無.................................................題 如何将当前日期变成指定的格式? 如何在dll中放一个框架(Frame),在应用程序中调用???? 200分求助Dll调用问题 请大家帮帮我,键盘 多线程与数据库问题。 TechnoFantasy(www.applevb.com)!快来!把你的资料寄给我! 如何使非可用的文本框变为可用 请教一下获取网络数据的问题
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 FormMouseUp(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
procedure FormMouseMove(Sender: TObject; Shift: TShiftState; X,
Y: Integer);
private
{ Private declarations }
public
{ Public declarations }
end;var
Form1: TForm1;implementation{$R *.dfm}var
cx, cy: Integer;
md: Boolean;procedure TForm1.FormCreate(Sender: TObject);
begin
Form1.DoubleBuffered := true;
md := false;
end;procedure TForm1.FormMouseDown(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
begin
md := true;
cx := x;
cy := y;
end;procedure TForm1.FormMouseUp(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
begin
md := false;
end;procedure TForm1.FormMouseMove(Sender: TObject; Shift: TShiftState; X,
Y: Integer);
begin
if md then
begin
Form1.Canvas.Rectangle(cx, cy, X, Y);
end;
end;end.
canvas.rectangle(rect:TRect);
这方面的文章坛子里挺多的
情搜索 Delphi 截取图片