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

Помогите решить проблему   Найти похожие ветки 

 
Andrews ©   (2002-01-24 12:08) [0]

Привет всем!

Есть такой фрагмент кода

procedure TMainForm.FormShow(Sender: TObject);
var
CDBEditorIni : TIniFile;
begin
MainForm.DBGrid1.Options := MainForm.DBGrid1.Options + [dgColumnResize];
MainForm.StatusBar1.Panels[3].Text := "Фильтр : НЕТ";
Problems := FALSE;
try
MainForm.Table2.Open;
MainForm.Table1.Open;
except
MessageBox(Application.Handle, PChar("Не могу открыть одну из баз! Пожалуйста, проверьте настройки пути."), AppTitle, mb_OK + mb_SetForeground + mb_IconError);
Problems := TRUE;
OptForm.ShowModal;
end;


Суть проблемы

OptForm содержит компонент Edit, так вот при срабатывании приведенного выше эксепшена, когда OPTFORM отображается до появления главной формы, в поле Edit`e начинаю срабатывать все горячии клавиши главного меню(Например: Ctrl+C не вставляет текст из буфера, а вызывает еще одну модальную форму и т.п.),
когда же OPTFORM вызывается уже из меню главной формы все нормально.

Вопрос: как на время заблокировать реакцию на горячии клавиши?

Спасибо всем.

P.S. Вариант присвоения горячих клавиш в Run-time после отработки указанной части программы решает проблемму, но хотелось бы чего-нибудь поиязящней :o)



 
DMN ©   (2002-01-24 12:16) [1]

type
TMainForm = class(TForm)
private
procedure WMUSER(var Message:TMessage); message WM_USER;
//........................................................
end;


procedure TMainForm.FormShow(Sender: TObject);
begin
//..................................
PostMessage(Handle,WM_USER,0,0);
end;

procedure TMainForm.WMUser;
begin
OptForm.ShowModal;
end;



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

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



Память: 0.45 MB
Время: 0.012 c
14-18977
neodiX
2001-12-19 11:49
2002.02.07
Darova. A voobsce, kakoi samyi bystryi sposob sohranenija desktop a (izobrazenija) v TBitMap?


6-18926
Михаил
2001-11-14 10:33
2002.02.07
Авторизация в сети


14-18952
p@s
2001-12-18 12:17
2002.02.07
Пропали хинты


7-19008
Poroh
2001-10-24 02:57
2002.02.07
Подскажите, пожалуйста, как перехватить сообщение о том, что программа выполнила недопустимую операцию и будет закрыта.


3-18784
Стас
2002-01-14 13:54
2002.02.07
Чирканите подсказку




   Наверх