Форум: "KOL";
Текущий архив: 2006.03.26;
Скачать: [xml.tar.bz2];
ВнизСнова модальные формы KOL в DLL Найти похожие ветки
← →
BelchonokH (2005-08-03 19:43) [0]Доброго вам! Основная программа пишется на VCL, плагин на KOL, в нём содержится форма, которую я создаю: NewForm1(Form1,Applet); и вызываю модально: Form1.Form.ShowModalEx; Она отображается, но совершенно не модальна, что сделать что бы она стала модальной для приложения?
← →
Денис (2005-08-04 08:14) [1]Скорее всего надо создать апплет: applet:=NewApplet(""); кроме того, надо присвоить ему родителя из основного приложения, типа вот так:
SetParent(Applet.GetWindowHandle,hWindow); где hWindow - Handle окна основного приложения.
← →
Vladimir Kladov (2005-08-04 19:29) [2]Нет такого понятия как модальность, кроме DialogBox"ов. В Delphi (VCL) модальность имитируется запрещением (Enabled := False) для всех прочих форм. Примерно так же и в KOL. Чтобы форма, запущенная из DLL, могла стать модальной, она должна найти и запретить все прочие формы приложения. Если запустить KOL-форму как главную из DLL, она не будет пытаться ничего запрещать. Как в VCL происходит с формой запускаемой из DLL, я не знаю, но предполагаю, что так же.
← →
BelchonokH (2005-08-04 20:05) [3]2 Денис
Спасибо большое! Работает почти как надо!
2 Vladimir Kladov
Модальная форма получилась по рецепту в [1], но видимо потому что она не совсем относит себя к приложению при шелчке на кнопке в таскбаре активизируется главная форма, только она не доступна, а модальную из-под неё не вытащить, ибо не видно... :(
← →
Денис (2005-08-05 06:55) [4]Это я все проходил, SetParent(Applet.GetWindowHandle,hWindow);
hWindow - должен быть хендлом текущего окна приложения. Т.е. если есть MDI-окно, а мы папашей взяли главное окно приложения, то будет такой эффект.
← →
BelchonokH (2005-08-05 07:31) [5]ааа, вот в чём дело... просто параметр hWindow в моем случае передается плагин при инициализации в FormCreate главной формы в VCL, в это время как я понял окно ещё не создано, пришлось передавать Application.Handle, наверное поэтому такой эффект... Придётся передавать хендл активного окна при создании из плагина... Спасибо, попробую!
← →
BelchonokH (2005-08-05 17:56) [6]2 Денис
Большое спасибо, всё работает как надо!
Страницы: 1 вся ветка
Форум: "KOL";
Текущий архив: 2006.03.26;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.05 c