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
[7607] Re:[질문] 생성 윈도우를 차일드로 넣고 싶을때
박지훈.임프 [cbuilder] 1762 읽음    2001-05-19 17:57
임펠리테리입니다.

차일드로 폼에 포함시킬 윈도우가 VCL 폼이라면 아주 간단한데요, 그냥 차일드가 될 폼의 Parent를 패어런트 측
폼으로 설정하면 됩니다.

만약 차일드가 될 폼이 CreateWindow()로 만든 폼이라면 API 함수인 SetParent()를 쓰면 됩니다.
이 함수의 첫번째 인자는 차일드가 될 윈도우 핸들, 두번째 인자는 패어런트가 될 윈도우 핸들입니다.
이 함수를 빌더에서 사용할 때는 약간 주의를 해야 하는데, TForm의 멤버인 SetParent() 함수와 혼동해서
컴파일에러가 납니다. 그래서 이걸 빌더에서 사용할 때는 앞에 ::를 붙여주어서 객체의 멤버가 아니라고
지정해주어야 합니다.

조금 재밌는 장난을 쳐봅시다.
새 프로젝트의 빈 폼에 버튼을 두개 놓고, 다음과 같이 핸들러를 작성합니다.
HANDLE BcbHandle;
void __fastcall TForm1::Button1Click(TObject *Sender)
{
    BcbHandle = FindWindow("TAppBuilder", NULL);
    ::SetParent(BcbHandle, Handle);
}

void __fastcall TForm1::Button2Click(TObject *Sender)
{
    ::SetParent(BcbHandle, NULL);
}

그럼 이만...


왕초보 님이 쓰신 글 :
: Form에 삽입된 차일드 윈도우를 만들고 싶습니다.
:
: Form의 핸들을 CreateWindow()로 넘겨주어서 생성하는 방법을 알고 싶습니다.
:
: 윈도우가 생성되는 CreateWindow()에서 윈도우 스타일을 차일드로
: 하고, 윈도우 핸들을 Parent Window인 this->Handle이나 Form1->Handle 등의
: 값을 넘겨주어도 윈도우가 생성이 되질 않네여.
: 제가 뭔가 잘못한건가여??

+ -

관련 글 리스트
7591 [질문] 생성 윈도우를 차일드로 넣고 싶을때 왕초보 1352 2001/05/18
7607     Re:[질문] 생성 윈도우를 차일드로 넣고 싶을때 박지훈.임프 1762 2001/05/19
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.