|
임프랍니다.
두번째 문제는 잘 모르겠고.. 첫번째 문제는 안됩니다.
MDI 차일드창이 최대화되었을 때 나타나는 차일드창의 버튼들은 메뉴바를 쓰게 되면 나타나지 않습니다.
이것은 원래 API가 그런 것으로, 윈도우의 오리지날 메뉴 영역은 비 클라이언트 영역이므로 그려지는 것입니다.
그런데 메뉴바라는 것은 오리지날 메뉴를 안나타나도록 한 상태에서 툴바를 이용해서 메뉴 비슷하게 그리는
것이므로 차일드창의 버튼들이 나타나지 않습니다.
윈도우 2000용의 몇가지 시스템 유틸리티들을 보면 간혹 MDI이고 툴바 메뉴를 쓰면서도 차일드창이 최대화
되었을 때 버튼들이 나타나는 경우가 있는데, 이건 원래의 버튼들이 아니라 새로운 버튼들을 만들어넣은
것입니다. 실제로 오리지날 메뉴일 경우에는 스파이로 잡아봐도 버튼들이 윈도우로 나타나지 않습니다만,
툴바로 만든 메뉴의 경우에 나타나는 버튼들은 세개가 한 세트로 윈도우로 잡힙니다.
트릭이긴 합니다만 빌더에서도 이런 지원을 해주면 좋겠습니다만.. 현재 버전에서는 지원하지 않습니다.
그럼 이만...
원성만 님이 쓰신 글 :
: 안녕하세요.
: C++ Builder를 시작한지 얼마 안되서 여러가지 부족한 점이 많아 몇가지 질문을 드리겠습니다.
:
: 1. MainForm의 메뉴을 TMenubar를 이용해서 Coolbar 위에 올려놓았습니다. 물론 잘 동작 합니다.
: 그런데 문제는 차일드 폼을 띄우고 이를 Maximize 하였을때 MainForm에 생기는 시스템 메뉴들
: (최소화,복구,닫기버튼)이 나타나지 않습니다. -.-;;;
: 어떤 해결방법이 있을까요? ^^;
:
: 2. 어떤 차일드 윈도우를 만들었습니다. Form 형태가 아닌 API를 사용하여(CreateMDIWindow를 사용)
: 윈도우를 만들었고, 대부분 잘 작동하는것 같습니다. (이전에 SDI형태로 만든 API 프로그램을
: 사용하기 위해 수정을 한것입니다. 다시 만들기가 쉽지않아서... -.-;)
: 그러나, 윈도우를 컨트롤 하는데 문제가 생겼습니다. MainForm에서는 Form 형식으로 생성된
: 차일드 윈도우들의 갯수만 카운트 되어서 API로 만든 윈도우만을 띄웠을 때, Cascade, Tile 같은
: 메뉴를 활성화 시킬 수가 없군요. -.-;;
: 어떤 해결방법이 있을까요?
:
: 답변주신 분께 미리 감사드립니다.
:
: 문제에 대한 설명이 제대로 되었는지 모르겠네요. 답변 주시는 분이 이해하셔야 할텐데.. ^^;
:
:
|