![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Как менять фокус ввода при открытии формы разными клавишами ? [D7, XP]
smaller © (2007-06-28 20:00:00)Здравствуте. Помогите, пожалуйста разобраться.
Мне нужно, чтоб при нажатии на разные клавиши открылось одна и та
же форма, но фокус ввода устанавливался на разные контроли.
Для чего при нажатии клавиши открываю форму
Form.ShowModal и запоминаю код клавиши в переменной PushedKey
В onShow формы помещаю
case PushedKey of
Form.ActiveControl:=
....
Однако такая конструкция не срабатывает -фокус устанавливается правильно, только если закрыть форму и второй раз нажать на ту же клавишу
smaller (2007-06-28 20:54:00) [1]Понял, спасибо.
Anatoly Podgoretsky (2007-06-28 20:45:00) [2]> smaller (28.06.2007 20:27:02) [2]
Ну и чего ты хотел, раз делаешь это после ShoWModal
smaller (2007-06-28 20:27:00) [3]procedure TMainW.ApplicationEvents1ShortCut(var Msg: TWMKey;
var Handled: Boolean);
begin
with CommentW do
case Msg.CharCode of
49 : begin
ShoWModal;
KeyCode_:= 49;
end;
50: begin
ShoWModal;
KeyCode_:= 50;
end;
end;
end;
procedure TCommentW.FormShow(Sender: TObject);
begin
if KeyCode_= 49 then ActiveControl:= ComboBox_1;
if KeyCode_= 50 then ActiveControl:= ComboBox_2;
end;
Правильный Вася (2007-06-28 20:10:00) [4]код покажи