Форум: "Основная";
Текущий архив: 2002.02.07;
Скачать: [xml.tar.bz2];
ВнизПомогите решить проблему Найти похожие ветки
← →
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 вся ветка
Форум: "Основная";
Текущий архив: 2002.02.07;
Скачать: [xml.tar.bz2];
Память: 0.44 MB
Время: 0.005 c