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
[2823] Re:[질문]Form Style 바꾸기
박지훈.임프 [cbuilder] 4008 읽음    2000-01-22 00:00
김대영 님이 쓰신 글 :
: 세가지 질문입니다. (너무 많다..)
:
: 1)
: 일반적인 MDI Application에서 child form의 생성자에
:
: WindowState = wsMaximized;
:
: 라고 쓰면 일단 child form이 default size로 생성되어
: 화면에 표시된 후 maximize되는 과정이 보여지게 됩니다.
:
: 이러한 과정을 보이지 않게 하려면 어떻게 해야 하나요?
:
: 2)
: 또,
: BCB 1.0은 안그랬는데 BCB 3.0부터는 MDI App에서
: Parent의 client 영역에 depth(이 표현이 맞나?)가 생기더군요.
: 테두리가 좀 두꺼워진다는 말입니다.
: 이것을 없애려면 어떻게 해야 할까요?
:
: 3)
: 이번 질문은 위의 내용과 상관이 없다면 무시해버리세요.
: TForm의 source를 보면 CreateWindowEx를 이용해서 window style을 지정하는 부분이 있는데
: 위의 두 가지 질문 사항이 이 부분과 연관이 있는건지 모르겠습니다.
: 만약 그래야 한다면 form source를 직접 수정하지 않고(별도 component를 만들지 않고)
: 할 수 있는 방법이 있는지요...
:
:
:
: 헉헉.. 이상입니다.
: 읽어주셔서 감사합니다~



임펠리테리입니다.

아래 다른 질문에서도 부탁드렸는데.. 한 글에서 여러가지 질문을 올리는 것은 피해주시길 부탁드
립니다. 이유는 아래에서도 썼듯이, 비슷한 문제에 닥친 다른 분들이 검색해보기가 힘들어지기
때문입니다. 여러개의 질문으로 나누어 올리면 조금쯤 귀찮아지실지도 모르겠습니다만, 저도
그것은 마찬가지랍니다.

첫번째 질문.
폼의 OnShow 이벤트 핸들러에 다음과 같이 해보세요.
ShowWindow(Handle, SW_MAXIMIZE);
처음 폼이 나타날 때부터 최대화되어서 나타날 겁니다.

두번째 질문.
생각하신 점이 맞습니다. TCustomForm::CreateWnd() 함수에 보면 MDI 클라이언트
윈도우를 생성하는 CreateWindowEx() 함수가 있는데, 여기서 WS_EX_CLIENTEDGE    스타일을 넘겨줬기
때문에 MDI 클라이언트 영역에 Bevel이 생기는 겁니다. 이 스타일을 넘기지 않도록 하면 되는거죠.
TCustomForm::CreateWnd() 함수는 virtual로 선언되어 있으므로 오버라이드해서 새로운 함수를
만들면 됩니다. 단, 이때는 원래 함수의 역할을 똑같이 해줘야 겠지요? 코드를 그대로 베껴쓰되
CreateWindowEx() 부분만 수정해주면 될 겁니다.

그럼 참고하시길...

+ -

관련 글 리스트
2816 [질문]Form Style 바꾸기 김대영 4026 2000/01/21
2823     Re:[질문]Form Style 바꾸기 박지훈.임프 4008 2000/01/22
2835         Re:Re:[질문]Form Style 바꾸기 김대영 3794 2000/01/24
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.