Q&A
HOME
Tips & Tech
Q&A
Discuss
Download
자유게시판
홍보 / 광고
구인 / 구직
LOGIN
회원가입
message dialogbox 의 폰트변경
안녕하세요?
늘 이렇게 도움만 청하네요... 초보라서
다름이 아니오라 메세지 다이알로그의 폰트는 어디서 변경하죠?
1
COMMENTS
이재식
•
2000.03.02 02:32
문영철 wrote:
> 안녕하세요?
> 늘 이렇게 도움만 청하네요... 초보라서
> 다름이 아니오라 메세지 다이알로그의 폰트는 어디서 변경하죠?
>
이재식 Wrote :
안녕하세요?
아시겠지만, 메세지 다이얼로그 박스의 폰트 및 그 크기를 변경하면
MessageDlg,MessageDlgPos, MessageBox, ShowMessage, ShowMessagePos등은
모두 바뀌어 버립니다.
이유는 위 모든 함수들이 CreateMessageDialog라는 함수를 공용하기 때문입니다.
즉, 한 application에서, MessageDlg에서는 굴림체에 12로 했다가,
showMessage에서는 바탕체에 10으로 할 수 없습니다.
그렇기 하기위해서는 다시 소스를 고쳐야 합니다.
여기서, 소스란 dialogs.pas소스를 말합니다. 델파이가 주는 소스입니다.
변경하는것은 좀 까다(?)롭습니다.
그래도, 한번 고쳐보실 랍니까?
일전에 저의 메일로 showMessage의 폰트 및 크기를 변경하고 싶은데,
방법을 여쭈어보는 분이 있었습니다.
그래서, 짬을 내서 dialogs.pas파일을 변경했는데, 만족하시더라구요.
여기서 다시 설명을 좀 해야 겠네요.
우선 제가 변경한 dialogs.pas의 dialogs.dcu를 드리는것이 가장 좋은데,
여기에 파일을 올리는 방법을 모르겠군요.
dialogs.pas에서 CreateMessageDialog함수를 찾아서 해당부분을 위처럼
고치세요.
ClientWidth
:= Max(IconTextWidth, ButtonGroupWidth) + HorzMargin * 2 +
(canvas.TextWidth(msg) div 4) + (HorzMargin div 8) ;
ClientHeight := IconTextHeight + ButtonHeight + VertSpacing +
VertMargin * 2 + canvas.TextHeight(msg) div 8 ;
또
with TLabel.Create(Result) do
begin
...
...
Parent := Result;
WordWrap := True;
Caption := Msg;
// 나의 추가
//*************************
font.Size := 12 ;
font.name := '굴림체' ;
// ***************************
...
...
...
// ******************************************
SetBounds (Aleft, vertMargin,
TextRect.Right + canvas.TextWidth(msg),
TextRect.Bottom + canvas.TextHeight(msg)
) ;
// ***********************************************
...
...
위처럼 세부분만 수정하면 됩니다.
모든 다이얼로그 박스는 내용을 Label에 출력을 합니다.
그것은 CreateMessageDialog박스 함수를 들여다보면 쉽게 알 수 있습니다.
수정의 핵심은 MessageForm의 client영역을 수정해야 합니다.
글씨 유형과 크기에 따라 client영역이 당연히 커졌다 줄었다 해야 하니까요.
그리고, Label의 폰트 및 크기를 변경하면 됩니다.
동시에 Label의 bound영역을 수정해야 합니다.
이것을 수정하지 않으면 label에 쓰여지는 글자크기 및 내용의 양 그리고 글자유형에
따라 내용들이 깨져버립니다.
pas를수정하시면 반드시 재컴파일하셔서 ..lib디렉토리에 dcu파일을
엎어쓰기 하셔야 합니다.
그리고, 해당 응용프로그램을 실행하시면 됩니다.
기존에 실행되어 있다면 일단은 닫고 다시 실행해야 새로 변경된
dcu파일을 인식할 수 있습니다.
0
0
삭제
수정
댓글
(NOTICE) You must be
logged in
to comment on this post.
allblues
•
2000.03.01 03:55
1
COMMENTS
/
0
LIKES
DBcombox에 자동으로 입력된 Data를 추가할려면..
강인규
•
2000.03.01 22:07
쿼리로 데이터를 물러와서 add해주심 됩니다. 도움이 되셨기를..... while not query1.EOF do begin ...
서지현
•
2000.03.01 03:37
4
COMMENTS
/
0
LIKES
DBGrid의 내용 출력<<고수님들 헬프 미>>>
정성훈
•
2000.03.01 19:08
서지현 wrote: > 말그대로 > DBGrid를 출력하고 싶은데.... 이럴땐 어떻게 하는지.... > 검색한 결과를...
정성훈
•
2000.03.01 19:15
정성훈 wrote: > 서지현 wrote: > > 말그대로 > > DBGrid를 출력하고 싶은데.... 이럴땐 어떻게 하는지...
서지현
•
2000.03.02 06:42
안냐세요~~~ 그런데 질문이 하나더 있는데~~~ QuickRep를 사용하지 않고 현재 사용하고 있는 form에서 ...
술친구
•
2000.03.02 20:20
안녕하세요 술친굽니다. 퀵리포트 없이 인쇄를 하시려면 강의실의 인쇄부분을 참고하시면 되겠군요.. 시...
강민주
•
2000.03.01 03:37
1
COMMENTS
/
0
LIKES
일정관리에 알람을 넣을려고하는데?
무기명
•
2000.03.01 09:29
전혀 문제가 없습니다... 다만 타이머의 인터벌을 초에서 분으로 바꿔주는게 전제 시스템 성능상 더 좋...
영~
2000.03.01 03:31
0
COMMENTS
/
0
LIKES
비트맵 파일을 디비로~~!!!
문영철
•
2000.03.01 02:29
1
COMMENTS
/
0
LIKES
message dialogbox 의 폰트변경
안녕하세요? 늘 이렇게 도움만 청하네요... 초보라서 다름이 아니오라 메세지 다이알로그의 폰트는 어디서 변경하죠?
이재식
•
2000.03.02 02:32
문영철 wrote: > 안녕하세요? > 늘 이렇게 도움만 청하네요... 초보라서 > 다름이 아니오라 메세지 다이...
임형호
•
2000.03.01 01:20
2
COMMENTS
/
0
LIKES
keypress 프로시저 호출하는 방법 좀 알켜주세요
최용일
•
2000.03.01 21:06
똑같은 방식으로 호출하시면 됩니다... 단지 Key파라메터에 눌려진 키의값을 넣어서 호출하시면 됩니다......
구창민
•
2000.03.01 02:08
임형호 wrote: > 질문의 요지는 만약 프로그램에서 > > procedure Tform1.button1Click(Sender: TObje...
yesir
•
2000.03.01 01:16
2
COMMENTS
/
0
LIKES
펑션키를 암때나 사용할라구 하는데여...
구창민
•
2000.03.01 01:52
yesir wrote: > 안녕하세요... > 또 왔네염... > > 제가 이번에 드릴 질문은여... > 알트를 이용한 ...
김광섭
•
2000.03.01 01:25
yesir wrote: > 안녕하세요... > 또 왔네염... > > 제가 이번에 드릴 질문은여... > 알트를 이용한 ...
구창민
2000.03.01 00:28
0
COMMENTS
/
0
LIKES
Re: 전부지워드리겠습니다. 다시 이런행동 하지 마세요.
문영봉
•
2000.03.01 00:12
1
COMMENTS
/
0
LIKES
paradox를 sql7.0으로 자료이동방법좀..
김광섭
•
2000.03.01 01:20
문영봉 wrote: > 파라독스로 저장되어 있는 자료를 ms-sql7.0 서버로 자료를 옮기려고 합니다 > 기존에 ...
Rookie
2000.03.01 00:09
0
COMMENTS
/
0
LIKES
Cascade
문영철
•
2000.02.29 23:43
2
COMMENTS
/
0
LIKES
[급] float 형을 insert (ORACLE)하는 방법
젠키
•
2000.03.01 00:11
문영철 wrote: > 안녕하세요? > 소수 (예... 1.01 ) 을 오라클db에 저장하려합니다. > 변수선언은 doubl...
하얀까마귀
•
2000.03.01 00:04
--------------------------------------------- 음.... %f라... ...쩝.... 보기) with query1 do beg...
optech
•
2000.02.29 23:22
2
COMMENTS
/
0
LIKES
델파이와 라이선스
강인규
•
2000.03.01 02:55
저두 확실히 확인은 안해봤습니다만.... 파라독스는 델파이를 사면 부록으로 끼워주는 즉 델파이 개발자버...
하얀까마귀
•
2000.02.29 23:48
안녕하세요 하얀까마귀 입니다. 라이센스에 대해서는 저도 자세히는 모르는데 아는데 까지 몇자 적습니다....
박은철
2000.02.29 22:28
0
COMMENTS
/
0
LIKES
분류먼저 해주시길 부탁드립니다.
park
•
2000.02.29 21:20
1
COMMENTS
/
0
LIKES
FileListBox 컴포넌트에 대한 질문
최용일
•
2000.03.05 10:48
김성동님의 홈페이지 개발실에 있는 TAssFileListBox를 사용하시면 될것같네요... http://www.acrosoft.pe...
나그네
2000.02.29 20:45
0
COMMENTS
/
0
LIKES
Re: 분류먼저 해주시길 부탁드립니다.
전진배
2000.02.29 20:42
0
COMMENTS
/
0
LIKES
하이퍼그리드에서 set focus 커서 control
황선희
•
2000.02.29 20:41
3
COMMENTS
/
0
LIKES
퀵리포트에서 detail ban와 summery band와의 공백을 채울려면...
하얀까마귀
•
2000.02.29 23:57
안녕하세요 하얀까마귀입니다.. 업무 프로그램 하면 이놈의 리포트 때문에 무지 골머리 썩죠??? 저두 그...
술친구
•
2000.02.29 22:47
황선희 wrote: > > > detail band와 summery band와의 공백을 detail band 양식을 그대로 채울려고 합...
손님
•
2000.03.09 12:53
술친구 wrote: > 황선희 wrote: > > > > > > detail band와 summery band와의 공백을 detail band 양...
저요
•
2000.02.29 19:55
2
COMMENTS
/
0
LIKES
윈도우...
이상호
•
2000.03.03 09:57
아마 폼 안에서의 좌표계때문인 것 같은데 Form의 메쏘드인 ClientToScreen 함수를 사용해보세요. 폼의 ...
하얀까마귀
•
2000.02.29 23:58
저요 wrote: > 윈도우의 해들을 구해 좌표를 얻었습니다. > 그중에서 몇가지 프로그램의 좌표는 그 프로...
김성호
2000.02.29 19:37
0
COMMENTS
/
0
LIKES
노트북에서 delphi32 error 해결?
황윤환
•
2000.02.29 19:34
3
COMMENTS
/
0
LIKES
listbox 의 item에서 특정 문자 찾기
조영섭
•
2000.09.02 19:18
안녕하세요 델파이이에서(SOCKET 통신) 서버가 특정 클라이언트로 통신을 하고자 할때 연결된 특정 클라...
허일학
•
2000.02.29 20:20
황윤환 wrote: > listbox의 아이템이다음과 같이 있다고 하면 > VTOOL라는 글자를 검색해서 하이텔 VTOOL...
술친구
•
2000.02.29 20:39
허일학 wrote: > 황윤환 wrote: > > listbox의 아이템이다음과 같이 있다고 하면 > > VTOOL라는 글자를 ...
문영철
2000/03/01 02:29
Views
235
Likes
0
Comments
1
Reports
0
Tag List
수정
삭제
목록으로
한델 로그인 하기
로그인 상태 유지
아직 회원이 아니세요? 가입하세요!
암호를 잊어버리셨나요?
> 안녕하세요?
> 늘 이렇게 도움만 청하네요... 초보라서
> 다름이 아니오라 메세지 다이알로그의 폰트는 어디서 변경하죠?
>
이재식 Wrote :
안녕하세요?
아시겠지만, 메세지 다이얼로그 박스의 폰트 및 그 크기를 변경하면
MessageDlg,MessageDlgPos, MessageBox, ShowMessage, ShowMessagePos등은
모두 바뀌어 버립니다.
이유는 위 모든 함수들이 CreateMessageDialog라는 함수를 공용하기 때문입니다.
즉, 한 application에서, MessageDlg에서는 굴림체에 12로 했다가,
showMessage에서는 바탕체에 10으로 할 수 없습니다.
그렇기 하기위해서는 다시 소스를 고쳐야 합니다.
여기서, 소스란 dialogs.pas소스를 말합니다. 델파이가 주는 소스입니다.
변경하는것은 좀 까다(?)롭습니다.
그래도, 한번 고쳐보실 랍니까?
일전에 저의 메일로 showMessage의 폰트 및 크기를 변경하고 싶은데,
방법을 여쭈어보는 분이 있었습니다.
그래서, 짬을 내서 dialogs.pas파일을 변경했는데, 만족하시더라구요.
여기서 다시 설명을 좀 해야 겠네요.
우선 제가 변경한 dialogs.pas의 dialogs.dcu를 드리는것이 가장 좋은데,
여기에 파일을 올리는 방법을 모르겠군요.
dialogs.pas에서 CreateMessageDialog함수를 찾아서 해당부분을 위처럼
고치세요.
ClientWidth
:= Max(IconTextWidth, ButtonGroupWidth) + HorzMargin * 2 +
(canvas.TextWidth(msg) div 4) + (HorzMargin div 8) ;
ClientHeight := IconTextHeight + ButtonHeight + VertSpacing +
VertMargin * 2 + canvas.TextHeight(msg) div 8 ;
또
with TLabel.Create(Result) do
begin
...
...
Parent := Result;
WordWrap := True;
Caption := Msg;
// 나의 추가
//*************************
font.Size := 12 ;
font.name := '굴림체' ;
// ***************************
...
...
...
// ******************************************
SetBounds (Aleft, vertMargin,
TextRect.Right + canvas.TextWidth(msg),
TextRect.Bottom + canvas.TextHeight(msg)
) ;
// ***********************************************
...
...
위처럼 세부분만 수정하면 됩니다.
모든 다이얼로그 박스는 내용을 Label에 출력을 합니다.
그것은 CreateMessageDialog박스 함수를 들여다보면 쉽게 알 수 있습니다.
수정의 핵심은 MessageForm의 client영역을 수정해야 합니다.
글씨 유형과 크기에 따라 client영역이 당연히 커졌다 줄었다 해야 하니까요.
그리고, Label의 폰트 및 크기를 변경하면 됩니다.
동시에 Label의 bound영역을 수정해야 합니다.
이것을 수정하지 않으면 label에 쓰여지는 글자크기 및 내용의 양 그리고 글자유형에
따라 내용들이 깨져버립니다.
pas를수정하시면 반드시 재컴파일하셔서 ..lib디렉토리에 dcu파일을
엎어쓰기 하셔야 합니다.
그리고, 해당 응용프로그램을 실행하시면 됩니다.
기존에 실행되어 있다면 일단은 닫고 다시 실행해야 새로 변경된
dcu파일을 인식할 수 있습니다.