Вниз
Скачать: CL | DM;

HotKey в ActionList   Найти похожие ветки 

 
autootvetchik   (2003-06-24 11:28) [0]

В FAQ`ах не нашел, а вопрос такой:
Почему в НЕмодальной форме (Form.Show) не работают "горячие клавиши".
Подробнее:
- на главной форме есть SpeebButton`ы и Panel (Dock)
- при нажатии кнопок другие формы (на которых есть ActionList)помещаются в Panel (ManualDock) и показываются (FormShow).
Так вот, при ShowModal клавиши работают, а при Show нет, хотя сами Action работают нормально.

------------
procedure TForm1.SpeedButtonClick(Sender: TObject);
begin
if Form2=nil then Form2 := TForm2.Create(Self);
Form2.ManualDock(Form1.Panel1, nil);
Form2.Show;
end;
------------

ЗАРАНЕЕ СПАСИБО ЗА ОТВЕТ :-)


 
titnn ©   (2003-06-24 11:53) [1]

зарегистрируй HotKey , и форма будет ловить сочетание в любом состоянии , даже не активном...


 
autootvetchik   (2003-06-25 08:07) [2]

SORRY за некорректный вопрос - проблемма оказалась немного глубже: причина не в "модальности" формы, а в Dock. Т.е. пока форма свободна, все работает нормально. Как только она помещается в Dock-контейнер (например, TPanel) на другой форме (программно или мышкой) все - на ней можно ставить крест. Перестают работать HotKey в Action, хотя сами Action работают нормально, перестает работать PostMessage(Handle, WM_NEXTDLGCTL, 0, 0), а попытка установить ActiveCOntrol := Form2.Edit1 вообще вызывает ошибку. Есть ли лекарство чтобы форма работала и самостоятельно и в Dock`е ???



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

Скачать: CL | DM;



Память: 0.45 MB
Время: 0.011 c
1-20052
Edvard
2003-06-25 15:24
2003.07.07
Как сохранить содержимое ListBox


6-20182
Snap
2003-04-21 23:38
2003.07.07
Пакеты


4-20358
cult
2003-05-08 11:02
2003.07.07
Сообщения EM_FORMATRANGE и EM_DISPLAYBAND


14-20244
Sergey128
2003-06-19 17:16
2003.07.07
dll-ки


14-20267
Lamer111
2003-06-19 22:45
2003.07.07
чат для локалки




   Наверх