C++Builder Programming Forum
C++Builder  |  Delphi  |  FireMonkey  |  C/C++  |  Free Pascal  |  Firebird
볼랜드포럼 BorlandForum
 경고! 게시물 작성자의 사전 허락없는 메일주소 추출행위 절대 금지
C++빌더 포럼
Q & A
FAQ
팁&트릭
강좌/문서
자료실
컴포넌트/라이브러리
메신저 프로젝트
볼랜드포럼 홈
헤드라인 뉴스
IT 뉴스
공지사항
자유게시판
해피 브레이크
공동 프로젝트
구인/구직
회원 장터
건의사항
운영진 게시판
회원 메뉴
북마크
볼랜드포럼 광고 모집

C++빌더 Q&A
C++Builder Programming Q&A
[47005] Re:폼을 폼 안에 불러넣었을때의 문제...자답...
마제 [poporone] 1128 읽음    2006-11-07 15:57
원래는 빌더에서 만든 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에 포커스가 가지 않도록 하는 방법이 있을까요?

+ -

관련 글 리스트
46987 폼을 폼 안에 불러넣었을때의 문제... 마제 1047 2006/11/06
47005     Re:폼을 폼 안에 불러넣었을때의 문제...자답... 마제 1128 2006/11/07
47000     Re:폼을 폼 안에 불러넣었을때의 문제... 마술감자.명국진 954 2006/11/07
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.