|
원래는 빌더에서 만든 DLL을 VC의 폼 속에 갖다 붙일려고 하는 것이었는데....
VC 폼 속에 갖다 붙이는 것까지는 별 문제가 없었지만 VC폼을 띄우면 첨부한 파일처럼
빌더로 만든 DLL폼이 액티브 되는 문제가 생겼습니다.
DLL폼은 절대로 액티브되면 안되는건데....-_-;;;
pForm->Parent를 쓰고 싶은데 VC에서 넘어오는 값은 핸들뿐이니....
::SetParent(pForm->Handle, handle);
이렇게 해버리면 안되고...
결국 찾은 것이...
//---------------------------------------------------------------------------
extern "C" __declspec(dllexport) void* __stdcall OpenTokTok(void *pParent)
{
TTokTokMain *pTokTokMain = new TTokTokMain(NULL);
pTokTokMain->ParentWindow = pParent;
이렇게 하니까 되는군요....ㅜ.ㅡ
무식이 죕니다....
저같은 삽질 하지 마세요...ㅜ.ㅡ
마제 님이 쓰신 글 :
: TForm1 이라는 폼이 있을때
:
: 1 ----------------------------------
: TForm2 *pForm = new TForm2(NULL);
: ::SetParent(pForm->Handle, this->Handle);
: pForm->Show();
:
: 2 ----------------------------------
: TForm2 *pForm = new TForm2(NULL);
: pForm->Parent = this;
: pForm->Show();
:
:
: 두가지 방법은 거의 비슷한 효과를 냅니다만 한가지 틀린것이
:
: 1번째 TForm2에는 마우스로 클릭을 해도 포커스가 가지 않습니다.
: 2번째는 TForm2를 클릭하면 포커스가 Form2로 갑니다.
:
: 첫번째와 같이 API로 Form2에 포커스가 가지 않도록 하는 방법이 있을까요?
|