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
[19170] DrawCaption이 잘 안됩니다.
주병윤 [joo93] 1621 읽음    2002-06-07 22:03
MDI application에서 콘트롤바에 도구바를 올려놓고 도구바의 DragKind=dkDock, DragMode=dmAutomatic으로 해 놓으면 도구바를 도킹하여 쓸 수 있습니다. 이때 도구바를 클릭하여 child form을 제어하고 싶습니다. 하지만 도구바를 선택하면 메인폼이 비활성화되고 또 child 폼들도 다 비활성화되더군요.
그래서 도킹된 도구바윈도우를 선택하는순간 억지로 메인폼을 포커스시켰습니다.
하지만 도킹된 도구바윈도우가 비활성화되어 캡션바 색깔이 비활성화된 색으로 바뀌는데 이것을 활성화된것처럼 하기 위해 SDK의 DrawCaption함수를 이용하여보려고 했습니다. 그런데 잘 안되네요. 어디가 문제인지 잘 모르겠습니다.
포럼에 올라온글을 읽어보니깐 DrawCaption함수를 쓰기전에 윈도우의 BorderStyle을 bsNone으로 하라고 했는데 tool bar의 property를 아무리 뒤져봐도 BorderStyle이 없네요.
그리고 DC_ACTIVE를 쓰면  활성화된 폼의 색깔로 칠해준다고 하는데 그게 잘 안되네요.
며칠째 고생하고 있습니다. 코드를 올려놓을테니 답변부탁드립니다.



void __fastcall TMainForm::ToolBar1MouseDown(TObject *Sender,
      TMouseButton Button, TShiftState Shift, int X, int Y)
{
  SetFocus(); //메인폼 포커싱

  HDC dc = GetDC(ToolBar1->Handle);
  RECT r;
  r.left = 0;
  r.top = -20;
  r.right = 300;
  r.bottom = 0;  //ToolBar1의 left,top,right,bottom은 0,0,300,30임
  HWND hw2 = ToolBar1->Handle;

  DrawCaption(hw2, dc, &r,
   DC_ACTIVE |
   DC_TEXT |
   DC_ICON |
   DC_INBUTTON |
   DC_SMALLCAP
  );

  ReleaseDC(hw2,dc);
}

+ -

관련 글 리스트
19170 DrawCaption이 잘 안됩니다. 주병윤 1621 2002/06/07
19212     Re:DrawCaption이 잘 안됩니다. 유영인.Chris 1529 2002/06/10
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.