Q&A

  • DLL의 폼을 패널에 삽입하기
여기 게시판에서 위와 같은 내용을 검색해서

똑같이 해 보았는데요..

// hPanel : 판넬의 Handle
procedure ShowDllForm( hPanel, hApplication : THandle );
begin
      if FormDll = nil then
      begin
           Application.Handle := hApplication;
           FormDll := TFormDll.Create( Application );
           Windows.SetParent( FormDll.Handle , hPanel );  // 이것이 중요^^
           FormDll.Align := alClient;
    end;
    FormDll.Show();
end;

위의 것을 이용해서 해 보았는데요..

FormDll.Align:=alClient 를 실행하게 되면..

패널의 크기에 맞춰져야 하는 것 아닌가요?

슬프게도.. ㅠ.ㅠ 화면 전체 크기에 맞춰집니다.. ㅠ.ㅠ

쉽게 설명을 하자면 패널의 크기가 (500,500)이고,

화면의 크기가 (1000,1000)이라면,

FormDll.Align:=alClient를 하게 되면 FormDll의 크기가 (500,500)이 되는게 아니라

(1000,1000)이 되어버립니다.. ㅠ.ㅠ

무슨 문제인지 도저히 모르겠습니다.
0  COMMENTS