Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Как менять фокус ввода при открытии формы разными клавишами ? [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]

код покажи


Наверх

Титульная страница Поиск, карта сайта Написать письмо