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
[6423] [답변] ShowMessage등의 출력위치를 가운데로?
성낙현 [pasil] 4429 읽음    2001-03-29 12:21
ShowMessage에서는 켑션이나 출력위치를 조정할수 없습니다. (내가 알기론.. -.-a)

출력위치를 임의 지정 하시려면..

MessageDlgPos를 사용하시면 됩니다.

MessagePos(메세지, 박스타입, 출력버튼, 도움말 컨텍스트, X 좌표, Y 좌표);

사용예는 다음과 같습니다.

MessageDlgPos("Are you there?",mtError, TMsgDlgButtons() << mbYes << mbNo, 0, 10, 10);

이넘을 폼의 가운데로 표시할려면 현재 폼의 위치를 계산해서 X, Y 입력해 주면 되겠지용..

폼의 가운데를 알아내는 공식..

X = Form1->Left + (Form1->Width / 2);
Y = Form1->Top + (Form1->Height / 2);

그러나.. 위의 값 그대로 대입 하게되면 폼이 가운데로 안가요.. -.-; 해보시면 압니다.

결국.. 적당히 오프셋을 줘야 하는데.. 허허..

X = X - XOffSet;
Y = Y - YOffSet;

암튼 그렇습니다..

근데.. 요넘도 단점이 하나 있는데 켑션내용을 변경할수 없다는점 입니다.

켑션을 바꿀수 있는 유일한 박스는 Application->MessageBox 인데.. 이넘역시 위치 지정이 안됩니다.

결국 위치지정과 켑션도 마음데로 바꿀수 있는 대화상자는 없단 이야기군요.. ^^a

VCL로 함 만들어 볼까요? -.-;

움.. 만들면 꽤 유용하긴 할듯 하네요..

병아리 님이 쓰신 글 :
: 안녕하세요!
: 오늘도 여전히질문만하는병아리입니다..
: 다이얼로그메세지를 출력했을때 화면중앙에 나타나는데요..
: 이것을 폼중앙에 나타나게할려면 어떻게해야하나요?
: 시원한 답변 부탁드립니다...
: 빌더 넘잼있음..... ㅎㅎㅎ
: 그럼 모두모두 좋은날되세요..
:

+ -

관련 글 리스트
6420 [질문] ShowMessage등을 나타내었을때 윈도우화면중앙이아닌 폼의중앙에나타나게할려면? 병아리 2399 2001/03/29
6423     [답변] ShowMessage등의 출력위치를 가운데로? 성낙현 4429 2001/03/29
73070         Re:[답변] ShowMessage등의 출력위치를 가운데로? 조정목 2323 2015/10/06
6425         감사합니다.. 아쉬운데로 잘쓰겠습니다..[냉무] 병아리 2318 2001/03/29
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.