Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2002.04.18;
Скачать: CL | DM;

Вниз

Как двигать объект стрелками клавиатуры?   Найти похожие ветки 

 
UDS ©   (2002-04-06 00:37) [0]

Конкурс на самый простой способ. Шутка. А если серьезно -
могу двигать панельку кнопками с символами, а стрелками не-а.. Жду ответа...


 
lipskiy ©   (2002-04-06 00:41) [1]

Не то?
{$EXTERNALSYM VK_LEFT}
VK_LEFT = 37;
{$EXTERNALSYM VK_UP}
VK_UP = 38;
{$EXTERNALSYM VK_RIGHT}
VK_RIGHT = 39;
{$EXTERNALSYM VK_DOWN}
VK_DOWN = 40;


 
UDS ©   (2002-04-06 00:46) [2]

Могет быть и то, а в фигурных скобках это что? Для записи програмного кода это надо?


 
lipskiy ©   (2002-04-06 00:54) [3]

Не-а, не надо.
Это я из исходников кусок выкопировал :)


 
UDS ©   (2002-04-06 01:02) [4]

Где-то я уже видел эту VK и тогда ни фига не понял куда её втыкать. И щас не понимаю как этот програмный текст привязать к какому-либо объекту?


 
UDS ©   (2002-04-06 01:16) [5]

???


 
lipskiy ©   (2002-04-06 01:20) [6]

Да вроде как на OnKeyDown любого визуального объекта вешаешь обработчик и сравниваешь входной параметр Key с ентими константами.


 
Вася Пупкин ©   (2002-04-06 01:20) [7]

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:31) [8]

Спасибочки! Вот этого (case key of) у меня и не хватало...


 
Lego ©   (2002-04-06 02:22) [9]

>>Вот этого (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;



Страницы: 1 вся ветка

Текущий архив: 2002.04.18;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.012 c
3-57637
Oleon
2002-03-28 12:05
2002.04.18
Добрый день. Вопрос по базе InterBase.


6-57831
Василий Свиридов
2002-01-31 05:28
2002.04.18
Подскажите пожалуйста...


3-57650
GreySerg
2002-03-28 19:49
2002.04.18
Как послать сообщение из одной формы в другую?


3-57661
KVT2000
2002-03-29 08:53
2002.04.18
DBGrid, последовательность событий


1-57793
новенький в Делфи
2002-04-06 00:25
2002.04.18
как прогу к часикам затолкать?