DELPHI程序能不能在IMAGE控件上让鼠标拉的范围内也有一个框框区域?而且在画的时候不能消失,且可以看到画的内容
QQ截图时有一个框框区域,知道截的图有多大,比较直观,那DELPHI程序能不能在IMAGE控件上让鼠标拉的范围内也有一个框框区域?而且在画的时候不能消失,且可以看到画的内容
[解决办法]
到盒子,DELPHI源代码,园地看看,有你要的源代码。
[解决办法]
此例中,image1中需要加载bmp类型图片
unit Unit1;interfaceuses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, ExtCtrls, jpeg;type TForm1 = class(TForm) Image1: TImage; procedure Image1MouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer); procedure Image1MouseUp(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer); procedure Image1MouseMove(Sender: TObject; Shift: TShiftState; X, Y: Integer); private { Private declarations } x1,y1,x2,y2:Integer; isdrawing: Boolean; public { Public declarations } end;var Form1: TForm1;implementation{$R *.dfm}procedure TForm1.Image1MouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer);begin x1 := X; y1 := Y; x2 := X; y2 := Y; isdrawing := True;end;procedure TForm1.Image1MouseUp(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer);begin isdrawing := False;end;procedure TForm1.Image1MouseMove(Sender: TObject; Shift: TShiftState; X, Y: Integer);begin if not isdrawing then Exit; Image1.Canvas.Brush.Style := bsClear; Image1.Canvas.Pen.Mode := pmNotXor; Image1.Canvas.Rectangle(x1,y1,x2,y2); x2 := X; y2 := Y; Image1.Canvas.Rectangle(x1,y1,x2,y2);end;end.
[解决办法]