在Canvas上画出来的。 给你一段没有头尾的代码,今天有点累,懒的整理。看你也是猩猩,看懂应该没有问题,自己看吧,不难。 curPoint:TPoint; oldPoint:TPoint; Canvas:TCanvas;procedure TPosBaseForm.FormMouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer); var p :TPoint; begin
if (ssLeft in Shift) then begin if WindowState = wsMaximized then begin CanMove := False; exit; end else canmove:=true; Canvas:=TCanvas.Create; with Canvas do begin pen.Style :=psdot; brush.Style :=bsClear; pen.Width :=2; Pen.Mode :=pmNotXor; Handle :=GetDC(0); p := ClientToScreen(Point(Left,Top)); Rectangle(P.x-Left,P.Y-Top,P.X-Left+width,P.Y-Top+height); curPoint.X :=X; curPoint.Y :=Y; oldPoint.X :=P.x-Left; oldPoint.Y :=P.Y-Top ; end; end end;
给你一段没有头尾的代码,今天有点累,懒的整理。看你也是猩猩,看懂应该没有问题,自己看吧,不难。
curPoint:TPoint;
oldPoint:TPoint;
Canvas:TCanvas;procedure TPosBaseForm.FormMouseDown(Sender: TObject;
Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
var
p :TPoint;
begin
if (ssLeft in Shift) then
begin
if WindowState = wsMaximized then
begin
CanMove := False;
exit;
end
else canmove:=true;
Canvas:=TCanvas.Create;
with Canvas do
begin
pen.Style :=psdot;
brush.Style :=bsClear;
pen.Width :=2;
Pen.Mode :=pmNotXor;
Handle :=GetDC(0);
p := ClientToScreen(Point(Left,Top));
Rectangle(P.x-Left,P.Y-Top,P.X-Left+width,P.Y-Top+height);
curPoint.X :=X;
curPoint.Y :=Y;
oldPoint.X :=P.x-Left;
oldPoint.Y :=P.Y-Top ;
end;
end
end;