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
[18004] [질문] TTabSheet에 컨트롤 붙이기...
위성류 [] 1129 읽음    2002-04-29 09:56
페이지 컨트롤 컴포넌트를 만들고 그 위에 TabSheet을 올려 놓았습니다.
그 다음 TabSheet에다가 에디터 컨트롤을 올리려고 합니다.

프로그램 수행시, 폼에 만든 TabSheet와 에디터 컨트롤이 개별적으로 수행하는 것은 가능한데,
에디터 컨트롤을 TabSheet에 붙이는 것은 되지 않네요..

이 에디터 컨트롤은 CreateWindow()를 사용해서 실행시킬 수 있습니다.


소스를 보면, 아래와 같이 코딩해 주면, Form과 Scintilla라는 에디터 컨트롤이 독립적으로 뜹니다.

void __fastcall TForm1::FormCreate(TObject *Sender)
{
   TTabSheet *pTabSheet = new TTabSheet(PageControl2);  // Initial TabSheet Component
   pTabSheet->PageControl = PageControl2;    // Initial TabSheet Component

   // Initial Scintilla
   LoadLibrary("SciLexer.DLL");

   HWND wMain;
   wMain = CreateWindow(
                "Scintilla",
                "Source",
                 WS_OVERLAPPED,
                //WS_CHILD | WS_VISIBLE | WS_CLIPCHILDREN,
                0, 0,
                100, 100,
                //pTabSheet->Parent,
                0,
                0,
                0,
                0);

   ::ShowWindow(wMain, SW_SHOW);  //Scintilla runs indendent to Form Window.
}

이 Scintilla라는 에디터 컨트롤을 TabSheet에 붙이기 위해서, WS_CHILD 로 설정하고,pTabSheet->Parent 혹은 pTabSheet->Handle을 사용해서 해봤지만 되지 않더군요.

질문이 이해가 가실지 모르겠습니다. ^^

요점을 말하자면,
C++ Builder 자체의 컴포넌트에 win32로 만든 컨트롤을 붙이려는 것입니다.
win32로 만든 컨트롤은 CreateWindow()나 CreateWindowEx()를 사용해서 실행시키지요..
컴포넌트위에 CreateWindow()함수가 동작하는 방법이 궁금합니다.

혹 CreateWindow()말고 다른 함수가 있는지도 궁금합니다.

+ -

관련 글 리스트
18004 [질문] TTabSheet에 컨트롤 붙이기... 위성류 1129 2002/04/29
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.