![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Как двигать объект стрелками клавиатуры? [D4, WinME]
UDS © (2002-04-06 00:37:00)Конкурс на самый простой способ. Шутка. А если серьезно -
могу двигать панельку кнопками с символами, а стрелками не-а.. Жду ответа...
Lego (2002-04-06 02:22:00) [1]>>Вот этого (case key of) у меня и не хватало
а они здесть и непричем... это для облегчения жизни так написано...
можно было и так сделать:
procedure TForm1.FormKeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
begin
if Key = VK_LEFT then Panel1.Left := Panel1.Left-10;
if Key = VK_RIGHT then Panel1.Left := Panel1.Left+10;
if Key = VK_UP then Panel1.Top := Panel1.Top-10;
if Key = VK_DOWN then Panel1.Top := Panel1.Top+10;
end;
UDS (2002-04-06 01:31:00) [2]Спасибочки! Вот этого (case key of) у меня и не хватало...
lipskiy (2002-04-06 01:20:00) [3]Да вроде как на OnKeyDown любого визуального объекта вешаешь обработчик и сравниваешь входной параметр Key с ентими константами.
Вася Пупкин (2002-04-06 01:20:00) [4]
procedure TForm1.FormKeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
begin
case key of
VK_LEFT:Panel1.Left:=Panel1.Left-10;
VK_RIGHT:Panel1.Left:=Panel1.Left+10;
VK_UP:Panel1.Top:=Panel1.Top-10;
VK_DOWN:Panel1.Top:=Panel1.Top+10;
end;
end;
Только если на форме есть компоненты со свойством TabStop (Button например), надо им всем установить TabStop:=False;
UDS (2002-04-06 01:16:00) [5]???
UDS (2002-04-06 01:02:00) [6]Где-то я уже видел эту VK и тогда ни фига не понял куда её втыкать. И щас не понимаю как этот програмный текст привязать к какому-либо объекту?
lipskiy (2002-04-06 00:54:00) [7]Не-а, не надо.
Это я из исходников кусок выкопировал :)
UDS (2002-04-06 00:46:00) [8]Могет быть и то, а в фигурных скобках это что? Для записи програмного кода это надо?
lipskiy (2002-04-06 00:41:00) [9]Не то?
{$EXTERNALSYM VK_LEFT}
VK_LEFT = 37;
{$EXTERNALSYM VK_UP}
VK_UP = 38;
{$EXTERNALSYM VK_RIGHT}
VK_RIGHT = 39;
{$EXTERNALSYM VK_DOWN}
VK_DOWN = 40;