![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Табуляция через Enter [D5, D6, D7]
4x4 © (2002-12-02 11:22:00)У меня на форме много компонентов и надо осуществить навигацию через Enter, т.е. сымитировать нажатие TAB клавиши, но без SetFocus метода!Следующий код onKeyPress- не помогает!
if Key = vk_TAB then
Key:=vk_Tab;
sniknik (2002-12-02 15:08:00) [1]в фаге есть такая хрень
Ставите у формы KeyPreview = true и создаете событие KeyPress следующего вида:
procedure TForm1.FormKeyPress(Sender: TObject; var Key: Char);
begin
if (Key = #13) then begin
Key:=#0;
Perform(WM_NEXTDLGCTL,0,0);
end;
end;
Кот Бегемот © (02.12.02 14:55)
это наживка делай засаду! :-))
Кот Бегемот (2002-12-02 14:55:00) [2]Еще один ламер - ловите пока не убежал - знаете какое у них мясо вкусное :)))
4x4 (2002-12-02 14:19:00) [3]Всё работает прекрасно!!! :)
Song (2002-12-02 13:16:00) [4]Ага, а потом попробуй кнопочки понажимать ярлычки покликать...
4x4 (2002-12-02 13:07:00) [5]Попробовал один раз keybd_event - работает!!! :)
Song (2002-12-02 13:04:00) [6]Да, вот так захотелось мне просто.
Что пришло первое в голову, то и написал. Какая разница, если эффект достигнут?
Игорь Шевченко (2002-12-02 12:56:00) [7]Song © (02.12.02 12:54)
А зачем так ? Через keybd_event?
Song (2002-12-02 12:54:00) [8]2to Song: а зачем 2 раза keybd_event вызывать?
Ну, а ты попробуй один раз :)
Andryk (2002-12-02 11:56:00) [9]Можно еще переписать обработчик сообщения CM_DialogKey у формы, и там все разрулить, а потом все формы наследовать от нее
FreeLancer (2002-12-02 11:46:00) [10]Упал - > Отжался
4x4 (2002-12-02 11:45:00) [11]to Song: а зачем 2 раза keybd_event вызывать?
4x4 (2002-12-02 11:38:00) [12]vk_Return- извиняюсь ещё раз! :)
Song (2002-12-02 11:36:00) [13]Извиняйся ещё раз: VK_ENTER нет такого.
4x4 (2002-12-02 11:33:00) [14]if Key = vk_ENTER then
Key:=vk_Tab;
Я извиняюсь! :)
Song (2002-12-02 11:27:00) [15]2FreeLancer © (02.12.02 11:25)
Он наверно имел ввиду
if Key = vk_return then
Key:=vk_Tab;
Song (2002-12-02 11:26:00) [16]procedure TForm1.Memo1KeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
begin
IF Key=VK_RETURN then
Begin
keybd_event(VK_TAB,0,0,0);
keybd_event(VK_TAB,0,KEYEVENTF_KEYUP,0);
Key:=0;
End;
end;
FreeLancer (2002-12-02 11:25:00) [17]
if Key = vk_TAB then
Key:=vk_Tab;
То есть если Key = TAB, то Key := TAB? Что за фигня?