|
nan1004 님이 쓰신 글 :
: 안녕하세요
:
: =>>> : 4167번 글을 참조하시면 되겠네요 ^^
:
: 이 글 번호는 다른 내용인데요...
: 죄송한데..어딘지?
:
(4176인데 잘못 썼습니다..)
임펠리테리입니다.
MDI의 배경에 컨트롤을 놓아도 실행중에는 나타나지 않는 것은, 원래 MDI의 배경 부분은 동적으로 생성되는 새로운 윈도우이기 때문입니다. 아무리 컨트롤을 올려놔봤자 그 부분의 위에 실행중에 새로운 윈도우가 나타나니까요.
vcl의 TForm 프로퍼티중에는 MDI 패어런트 폼의 경우 이 MDI 차일드들이 나타나는 배경 윈도우의 핸들을 가지는 ClientHandle이라는 프로퍼티가 있습니다. 이 윈도우는 TForm 형태로 되어있는 일반 윈도우와는 달리 달랑 핸들 하나만 제공하므로, 여기다가 뭔가를 그리려면 Win32 API 코딩을 하는 수밖에 없죠.
테크닉의 핵심은, 이 ClientHandle 윈도우의 WM_ERASEBKGND 메시지를 가로채서 직접 그려주는 것입니다. 그런데, 방법이 조금 복잡하기도 하고 제가 일일이 설명드릴 시간도 없어서... 책을 소개드리겠습니다. 정보문화사에서 출판된 C++Builder How-To를 보시면 이 테크닉에 대해 이론적인 배경과 함께 꽤 자세히 설명되어 있으니 참고하시기 바랍니다.
그럼 참고하시길...
수야의 한마디~ ^^
이런경우처럼 예전에 질문한 경우도 있고 팁&트릭 게시판에도 있을수 있습니다.
Search를 한번 이용해 보시구 없으면 아니면 해당이 안되면 그때 올리시는것도 어떨런지요
수야생각^^
|