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
[18046] [질문] 폼에 컨트롤 붙이는 문제(그림좀 봐주세요)
위성류 [] 1213 읽음    2002-04-30 10:57
폼을 하나 만들고 그 위에 에디터 컨트롤을 붙이려고 합니다.
폼과 에디터 컨트롤이 독립적으로 실행하는 것은 가능한데, 폼위에 에디터 컨트롤을 하나의 창처럼 붙이는 방법을 모르겠습니다.
 
다음 그림을 보면,
왼쪽의 쪼끄만 창이 CreateWindow()함수를 사용해서 Form1의 OnCreate 이벤트 발생시 만든 것입니다. dll을 이용하는 에디터 컨트롤이지요.
이 에디터 컨트롤을 Form1위에 딱 붙이고 싶습니다. 하나의 창처럼 동작하도록...  방법을 모르겠네요..  소스 코드를 보여드릴께요..
 
 
 
다음이 소스 입니다.
간단하게 OnCreate 이벤트와 연결되는 함수에 에디터 컨트롤을 CreateWindow함수를 이용해서 띄어만 줍니다.
 
void __fastcall TForm1::FormCreate(TObject *Sender)
{
   LoadLibrary("SciLexer.DLL");
   HWND wMain;
   wMain = CreateWindow(
                "Scintilla",
                "Source",
                    WS_CLIPSIBLINGS,
                    //WS_CLIPCHILDREN | WS_BORDER,
                //WS_CHILD | WS_VISIBLE | WS_CLIPCHILDREN,
                    //WS_DLGFRAME,
                0, 0,
                    100,100,
                    0,
                0,
                    0,
                0);
   ::ShowWindow(wMain, SW_SHOW);
}
 
위와 같이 하면 위의 그림처럼 에디터 컨트롤이 폼에 독립적으로 실행되지요..
CreateWindow함수는 다음과 같습니다.
 
HWND CreateWindow(
  LPCTSTR
lpClassName// pointer to registered class name
  LPCTSTR lpWindowName, // pointer to window name
  DWORD dwStyle,        // window style
  int x,                // horizontal position of window
  int y,                // vertical position of window
  int nWidth,           // window width
  int nHeight,          // window height
  HWND hWndParent,      // handle to parent or owner window
  HMENU hMenu,          // handle to menu or child-window identifier
  HANDLE hInstance,     // handle to application instance
  LPVOID lpParam        // pointer to window-creation data
);
 
밑에서 네번째 함수 파라미터..
HWND hWndParent를 변경해 주면 되지 않을까 싶어서,
0대신에 Form1->Handle 과 같은 방법으로 변경했습니다. 이렇게 변경하면 에디터 컨트롤 창이 아예 뜨지를 않네요..
 
조언 꼭 부탁드립니다.
 
이런 질문을 볼랜드 개발자 포럼에 질문하려면, 어디에 질문해야 하는지요.
개발자 포럼이 여러개가 있어서...
 
 
 
 


+ -

관련 글 리스트
18046 [질문] 폼에 컨트롤 붙이는 문제(그림좀 봐주세요) 위성류 1213 2002/04/30
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.