|
#16
|
|||
|
|||
При нажатии левой кнопки мыши на форме должна рисоваться красная горизонтальная линия, перемещающаяся при нажатии клавиш y (вверх),g(влево) ,h (вниз),j (вправо) с зажатой клавишей ctrl. Клавиша z — очистка формы.
Сбросьте, пожалуйста, код полученного у Вас приложения. Последний раз редактировалось Delphi_Source, 06.10.2013 в 22:44. |
#17
|
||||
|
||||
Получился такой код
Код:
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; Я не понял Вашего вопроса, но всё же Вам на него отвечу! |
Этот пользователь сказал Спасибо Alegun за это полезное сообщение: | ||
Delphi_Source (06.10.2013)
|
#18
|
|||
|
|||
Кроме вставки кода необходимо еще что-нибудь изменять в параметрах?
|
#19
|
||||
|
||||
Да, о KeyPreview уже говорилось, ну и присвоить процедуры жима кнопок мышки и клавы. Всё
Я не понял Вашего вопроса, но всё же Вам на него отвечу! |
Этот пользователь сказал Спасибо Alegun за это полезное сообщение: | ||
Delphi_Source (06.10.2013)
|
#20
|
|||
|
|||
Огромное спасибо за то, что выручили. Все работает!
Тему можно закрывать! |