
06.10.2013, 23:14
|
 |
LMD-DML
|
|
Регистрация: 12.07.2009
Адрес: Богородское
Сообщения: 3,025
Версия Delphi: D7E
Репутация: 1834
|
|
Получился такой код
Код:
procedure rs(lLeft, lWidth, lTop : integer; ds: boolean);
begin
Form1.Canvas.Brush.Style:=bsSolid;
Form1.Canvas.Brush.Color:=clBtnFace;
Form1.Canvas.FillRect(Rect(0,0,Form1.ClientWidth,Form1.ClientHeight));
if ds then
begin
Form1.Canvas.Pen.Color:= clRed;
Form1.Canvas.MoveTo(lWidth, lTop);
Form1.Canvas.LineTo(lLeft, lTop);
end;
end;
var
lLeft, lWidth, lTop: integer;
procedure TForm1.FormMouseDown(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
begin
lLeft:= 100;
lWidth:= 500;
lTop:= Y;
rs (lLeft, lWidth, lTop, true);
end;
procedure TForm1.FormKeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
var
flg: boolean;
begin
flg:= false;
if Shift = [ssCtrl] then
case Key of
90: rs (lLeft, lWidth, lTop, false);
71: begin Dec(lLeft); Dec(lWidth); flg:= true; end;
89: begin Dec(lTop); flg:= true; end;
74: begin Inc(lLeft); Inc(lWidth); flg:= true; end;
72: begin Inc(lTop); flg:= true; end;
end;
if flg then rs (lLeft, lWidth, lTop, true);
end;
поробуйте, вроде работает
|