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

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

Помогите решить проблему [D5, Win95/98, WinME, Win2k]


Andrews ©   (2002-01-24 12:08:00) 

Привет всем!

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

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:00) [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;


Наверх

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