怎样才能实现在Form上当鼠标按下后能够画出虚线框 自己画吧在画上之前先把原先画上的用背景色画一遍如有问题,请GoOn 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 OnMouseDown,OnMouseMove,OnMouseUp 我写了代码你看看unit Unit1;interfaceuses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs;type TForm1 = class(TForm) procedure FormMouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer); procedure FormMouseMove(Sender: TObject; Shift: TShiftState; X, Y: Integer); procedure FormCreate(Sender: TObject); procedure FormMouseUp(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer); private { Private declarations } public { Public declarations } end;var Form1: TForm1; StX,StY,OldX,OldY:integer; MD:boolean;implementation{$R *.dfm}procedure TForm1.FormMouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer);begin StX:=x; Sty:=y; OldX:=x; OldY:=y; MD:=True;end;procedure TForm1.FormMouseMove(Sender: TObject; Shift: TShiftState; X, Y: Integer);begin if MD then begin Form1.Canvas.Pen.Color:=clBtnFace; Form1.Canvas.Rectangle(Stx,sty,Oldx,Oldy); Form1.Canvas.Pen.Color:=clBlack; Form1.Canvas.Rectangle(Stx,sty,x,y); Oldx:=x; Oldy:=y; end;end;procedure TForm1.FormCreate(Sender: TObject);begin MD:=False; Form1.Canvas.Pen.Style:=psDash;end;procedure TForm1.FormMouseUp(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer);begin MD:=False;end;end. 用OnMouseDown and OnMouseMove 事件处理,注意在画虚线的时候要先抹掉先前画的虚线。 sql字符字段排序问题 用INDY中TIdMappedPortTCP做PROXY,请帮忙解决问题。 研究心得----个人最喜欢的Delphi2006的功能.记录类型操作符重载 Delphi7界面乱码问题 全网请教adoquery多表关联查询,单表更新的问题? delphi调用移动的企信通DLL怎么调用? 文件操作 会DelphiX的进来看下 ****自制组件,请帮忙!**** 如何将FRAMEMAKER MIF 格式的文件转化成rtf格式? 如何控制控件F1Book的可视单元 在stringgird 中能否用颜色区分每个小格
unit Unit1;interfaceuses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs;type
TForm1 = class(TForm)
procedure FormMouseDown(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
procedure FormMouseMove(Sender: TObject; Shift: TShiftState; X,
Y: Integer);
procedure FormCreate(Sender: TObject);
procedure FormMouseUp(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
private
{ Private declarations }
public
{ Public declarations }
end;var
Form1: TForm1;
StX,StY,OldX,OldY:integer;
MD:boolean;implementation{$R *.dfm}procedure TForm1.FormMouseDown(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
begin
StX:=x;
Sty:=y;
OldX:=x;
OldY:=y;
MD:=True;
end;procedure TForm1.FormMouseMove(Sender: TObject; Shift: TShiftState; X,
Y: Integer);
begin
if MD then
begin
Form1.Canvas.Pen.Color:=clBtnFace;
Form1.Canvas.Rectangle(Stx,sty,Oldx,Oldy);
Form1.Canvas.Pen.Color:=clBlack;
Form1.Canvas.Rectangle(Stx,sty,x,y);
Oldx:=x;
Oldy:=y;
end;
end;procedure TForm1.FormCreate(Sender: TObject);
begin
MD:=False;
Form1.Canvas.Pen.Style:=psDash;
end;procedure TForm1.FormMouseUp(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
begin
MD:=False;
end;end.