Q&A

  • OS에 따라 델파이프로그램의 한글 크기가..
이전부터 그래왔었는데 이번에 크게 문제가 대서 질문을 올려봅니다.

OS에 따라 메뉴등의 글꼴 크기가 다 틀리게 나오더라그여

요게 왜그런가 이것저것 바까밧는데두 그래여

아시는분 답변좀 해주세혀~~

한글체만 그르궁 예를들어 버튼에 확인 <- 요러캐 써있으믄

2000이나 xp에선 제크기루 나오는데

98이나 윈ME에서 돌리면 "확인"이란 글자가 엄청커저서 버튼크기를

넘어가뻐려잇어여~ ㅡㅡ;; 왜 델파이만 요러는지 초보라

어캐해야할지를 몰거쩌여~ ㅡㅜ

2  COMMENTS
  • Profile
    남양원 2003.12.30 18:37
    윈도우 Screen 객체의 폰트를 내 폼의 폰트로 Assign 하세요...

    폼의 Object Inspect에서 ParentFont를 True를 하거나

    Form1.ParentFont := True;
    로 하시고 폼위에 추가된 모든 콤포넌트들이 ParentFont가 True가 되게 하세요.
    그리고, 폼이 생성되는 부분에 아래의 코드를 넣어 보세요...
      Self.Font.Assign(Screen.MenuFont);
      폼 자신의 폰트를 Screen 객체의 메뉴 폰트로 Assign 하는 겁니다. 사용되는 모든 폼의 Create에 해 주세요.

    procedure Form1.FormCreate(Sender: TObject);
    begin
      Self.Font.Assign(Screen.MenuFont);

      //DisplayFont;//(이건 아래에 설명합니다.)
    end;

    이렇게 하면 폼위에 글자중 색깔이나 fsBold 스타일의 글자들이 일반적인 기본 글꼴로 변경될 겁니다.
    개발자가 지정하는 폰트를 유지하고 싶으면

    procedure Form1.DisplayFont;
    begin
      Label1.Font.Size := 14;
      Label1.Font.Color := clRed;
      Label1.Font.Style := [fsBold];
    end;

    로 해주세요...

    그래도 안된다면, 윈도우 기본 폰트 크기가 보통크기(96 dpi), 큰크기(120 dpi)로 설정되어 있는 경우인데...

    큰 글꼴에 대해 질답란에서 검색해 보시면 참고가 되실 겁니다.

    그럼, 즐푸 하세요.....


  • Profile
    다크래머 2003.12.31 01:23
    기본폼의 폰트가 영문으로 되어있어도 그럴때가있습니다. 확인해보시고요 xp.2000 에서 지원하는 폰트가 98,me에 없을시도 폰트가 변형될때도있습니다.

    두번째경우는..-_-어림짐작이고.. 저같은 경우는 영문으로 되어있을때 그러더군요. 위에 답변해주신 방법이 가장 좋을거같네요..하나배워따 ㅡ,.ㅡ;;
    새해복많이 받으시고 즐코하시길..^^