Показать сообщение отдельно
  #12  
Старый 06.10.2013, 23:14
Аватар для Alegun
Alegun Alegun вне форума
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;
поробуйте, вроде работает
Ответить с цитированием