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
[73070] Re:[답변] ShowMessage등의 출력위치를 가운데로?
조정목 [bigbio] 2323 읽음    2015-10-06 15:34
답변 감사히 잘 보았습니다.

Offset 에 대해 조금만 덧붙여 봅니다.

옵션으로 들어가 있는 X와 Y는 MessageDlgPos의 센터값이 아니라 Left와 Top값입니다.

그래서 MessageDlgPos의 정확한 Width와 Height를 아시면 X와 Y값을 구하실 수 있습니다.

만약 MessageDlgPos의 Width를 W, Height를 H라고 한다면

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

저의 경우, MessageDlgPos의 Width = 360, Height = 100 정도였습니다.


감사합니다.



성낙현 님이 쓰신 글 :
: 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등을 나타내었을때 윈도우화면중앙이아닌 폼의중앙에나타나게할려면? 병아리 2400 2001/03/29
6423     [답변] ShowMessage등의 출력위치를 가운데로? 성낙현 4430 2001/03/29
73070         Re:[답변] ShowMessage등의 출력위치를 가운데로? 조정목 2323 2015/10/06
6425         감사합니다.. 아쉬운데로 잘쓰겠습니다..[냉무] 병아리 2319 2001/03/29
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.