如何动态的画一矩形 我学习delphi不久,有个问题请教:如何实现拖动鼠标来选择图像上的一块区域,如矩形区域就是拖动鼠标,动态的画一矩形 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 在mousedown里记录一下鼠标的坐标为全局变量bx,by在Mousemove里//重绘原画布canvas.Rectangle(bx,by,x,y); implementationvar BeginX,BeginY:integer;//全局变量 记录鼠标按下时的X,Y坐标{$R *.dfm}procedure TForm1.FormMouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer);begin BeginX:=X;BeginY:=Y;//记录鼠标按下时的X,Y坐标end;procedure TForm1.FormMouseMove(Sender: TObject; Shift: TShiftState; X, Y: Integer);begin//下面代码演示的是背景为纯色时的选取框.//选取的范围可记录在一个TRECT变量里.具体情况视要求而定.//当背影为图形时..可以把注释1之间的代码替换为重绘背景的代码 if ssLeft in shift then//判断鼠标左键是下按着. begin //1 Canvas.Brush.Color:=RGB(255,255,255); Canvas.Brush.Style:=bsSolid; Canvas.FillRect(RECT(0,0,width,height)); //1 Canvas.Brush.Style:=bsClear; Canvas.Pen.Style:=psDot; Canvas.Rectangle(BeginX,BeginY,X,Y); end;end;end. 如何通过双击dbgrid组件指定列弹出新的窗口? delphi中调用vc写的dll的问题 串口问题 寻找免费的功能强大的dbgrid 得到自已的外网IP? 我的ActiveForm如何获得当前网页的socket.(网页还在读取中) 简单的类型转换,在线等待。 请教……还是进来看看看吧! 知者不难 求职?? 对ADO组件的动态控制问题 关于用Delphi把指定文件夹下的jpg图片存储到Oracle中(在线等候)! Delphi 连接 SqlServer 2000
在Mousemove里//重绘原画布
canvas.Rectangle(bx,by,x,y);
var
BeginX,BeginY:integer;//全局变量 记录鼠标按下时的X,Y坐标
{$R *.dfm}procedure TForm1.FormMouseDown(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
begin
BeginX:=X;BeginY:=Y;//记录鼠标按下时的X,Y坐标
end;
procedure TForm1.FormMouseMove(Sender: TObject; Shift: TShiftState; X,
Y: Integer);
begin
//下面代码演示的是背景为纯色时的选取框.
//选取的范围可记录在一个TRECT变量里.具体情况视要求而定.
//当背影为图形时..可以把注释1之间的代码替换为重绘背景的代码
if ssLeft in shift then//判断鼠标左键是下按着.
begin
//1
Canvas.Brush.Color:=RGB(255,255,255);
Canvas.Brush.Style:=bsSolid;
Canvas.FillRect(RECT(0,0,width,height));
//1
Canvas.Brush.Style:=bsClear;
Canvas.Pen.Style:=psDot;
Canvas.Rectangle(BeginX,BeginY,X,Y);
end;
end;
end.