Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2003.10.13;
Скачать: CL | DM;

Вниз

Включение формы из DLL в форму приложения   Найти похожие ветки 

 
Евгыш   (2003-10-01 08:37) [0]

Нужно включить форму из DLL в форму приложения, а точнее в TTabSheet (TForm->TPageControl->TTabSheet). C фреймом не получилось. Реализовал по своему (см. Реализация). Все хорошо, но при работе с TEdit на включенной форме, постоянно теряется фокус и переходит к компонентам формы приложения.
Как сдеать так чтобы фокус не терялся? Помогите советом.

Реализация в DLL:

TMyFrame = (TForm)
...
public
...
procedure CreateParams(var Params: TCreateParams);
end;

var MyFrame: TMyFrame;

...

// Установка параметров для включения формы в другую форму (подобие фрейма)
procedure TMyFrame.CreateParams(var Params: TCreateParams);
begin
inherited CreateParams(Params);
Params.Style := WS_CHILD or WS_DLGFRAME or WS_VISIBLE or DS_CONTROL;
end;

В приложение экспортируется процедура:

// AOwner-владелец формы(TTabSheet), AAppHandle-Application.Handle приложения
procedure AddControl(AOwner: TWinControl; AAppHandle: THandle)
begin
Application.Handle := AAppHandle;
MyFrame := TMyForm.Create(AOwner);
MyFrame.Parent := AOwner;
MyFrame.Left := 0;
MyFrame.Top := 0;
MyFrame.Show;
end;


 
me   (2003-10-01 12:40) [1]

Проблема в том, что в хост-приложении и DLL имеется свой отдельный класс TForm. Поможет только сборка хост-приложения и DLL с run-time packages. Иначе куча проблем с обработкой клавиши TAB, с активацией внедренных форм и пр.



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

Текущий архив: 2003.10.13;
Скачать: CL | DM;

Наверх




Память: 0.46 MB
Время: 0.029 c
9-40227
Sword-Fish
2003-04-09 22:37
2003.10.13
Приколы с DirectX !!!


3-40272
Aleksey V.P.
2003-09-22 10:34
2003.10.13
Null значения в поля таблицы


14-40668
GiGiPage
2003-09-23 13:58
2003.10.13
Билет по физике


14-40653
DProg
2003-09-24 11:20
2003.10.13
Как просто и быстро передать список строк от прогр. к программе?


1-40398
kanych
2003-10-01 03:23
2003.10.13
Ошибка при чтении содержимого файла в буффер