Как я могу применить скины Delphi XE2 для формирования в DLL?

Использование Delphi XE2, у вас есть возможность встроить пользовательские стили (скины) в проект VCL.
Все работает нормально. Теперь у меня есть некоторые формы в отделенную DLL, которую я показываю динамически.
Конечно, те, кто не скинут. Как я могу исправить это?

Я думаю, я должен сделать некоторое призыв к TVisualStyle как-то, но не повезло.

Хост:

procedure TForm1.Button1Click(Sender: TObject); 
var   
  l: THandle;   
  p: procedure (const h: THandle); stdcall; 
begin   
 l:= LoadLibrary('project1.dll');   
 if l > 0 then   
 begin
        @p:= GetProcAddress(l,'ShowIt');
        p(Application.Handle);
        FreeLibrary(l);   
  end; 
end;

DLL:

procedure ShowIt(const h: THandle);stdcall;
var
  form: TForm;
  b: TButton;
  han: THandle;
begin
  han:= Application.Handle;
  Application.Handle:= h;
  form :=Tform.Create(Application);
  b:= TButton.Create(form);
  b.Parent:= form;
  b.Caption:= 'ytes';
  b.Left:= 2;
  b.Top:= 2;
  form.ShowModal;
  form.Release;
  Application.Handle:= han;
end;

exports ShowIt ;
begin
end.

Довольно стандартные материалы. Теперь, что именно нужно сделать, чтобы сделать форму DLL использовать тему стиля хоста?

5
задан RRUZ 12 January 2012 в 19:31
поделиться