::: 델파이 Tip&Trick :::

델파이 Tip&Trick 성격에 맞지 않는 광고,비방,질문의 글은 즉시 삭제하며
내용을 복사하여 사용할 경우 반드시 이곳(http://www.howto.pe.kr)을 출처로 명시하여 주세요


Category

  김영대(2005-07-14 17:59:28, Hit : 6279, Vote : 1525
 http://www.howto.pe.kr
 윈도우즈 GUI 기본 폰트정보 구하기

// 다국어 프로그램 만들때 사용해 보세요

unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls, ExtCtrls;

type
  TForm1 = class(TForm)
    Button1: TButton;
    procedure Button1Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

type
  TCharSetRec = packed record
     Name: String;
     ID: Integer end;

const
   NumCharSets = 19;

   CharSets: array[0..NumCharSets - 1] of TCharSetRec = (
     (Name: 'ANSI_CHARSET'; ID: 0),
     (Name: 'DEFAULT_CHARSET'; ID: 1),
     (Name: 'SYMBOL_CHARSET'; ID: 2),
     (Name: 'SHIFTJIS_CHARSET'; ID: $80),
     (Name: 'HANGEUL_CHARSET'; ID: 129),
     (Name: 'GB2312_CHARSET'; ID: 134),
     (Name: 'CHINESEBIG5_CHARSET'; ID: 136),
     (Name: 'OEM_CHARSET'; ID: 255),
     (Name: 'JOHAB_CHARSET'; ID: 130),
     (Name: 'HEBREW_CHARSET'; ID: 177),
     (Name: 'ARABIC_CHARSET'; ID: 178),
     (Name: 'GREEK_CHARSET'; ID: 161),
     (Name: 'TURKISH_CHARSET'; ID: 162),
     (Name: 'VIETNAMESE_CHARSET'; ID: 163),
     (Name: 'THAI_CHARSET'; ID: 222),
     (Name: 'EASTEUROPE_CHARSET'; ID: 238),
     (Name: 'RUSSIAN_CHARSET'; ID: 204),
     (Name: 'MAC_CHARSET'; ID: 77),
     (Name: 'BALTIC_CHARSET'; ID: 186));

var
  Form1: TForm1;

implementation

{$R *.dfm}

// Windows Default GUI 폰트를 구한다
function GetDefaultUIFont(var lf: TLogFont): Boolean;
var
  font: HFONT;
begin
  Result := False;

  font := GetStockObject(DEFAULT_GUI_FONT);
  if font = NULL then
    Exit;
  if GetObject(font, sizeof(lf), @lf) = 0 then
    Exit;

  Result := True;
end;

procedure TForm1.Button1Click(Sender: TObject);
var
  i: Integer;
  lf: TLogFont;
begin
  if not GetDefaultUIFont(lf) then
    Exit;

  ShowMessage(lf.lfFaceName); // 폰트명

  for i := 0 to NumCharSets - 1 do
    if CharSets[i].ID = lf.lfCharSet then
    begin
      ShowMessage(CharSets[i].Name); // 문자셋
       Break
    end;
end;

end.





971   [윈도우즈 API] 작업 표시줄에 보이는 프로그램의 아이콘 정보  김영대 2008/12/09 7303 1654
970   [윈도우즈 API] 실행 파일의 아이콘 바꾸기  김영대 2008/11/27 9230 1572
969   [네트웍/인터넷] TClientSocket 에 Local IP 바인딩하기  김영대 2008/11/25 7395 1700
968   [알고리즘] Boyer-Moore-Horspool Text Searching  김영대 2008/11/24 5676 1510
967   [일반/컴포넌트] Tab, Shift+Tab 키 이벤트 사용하기  김영대 2008/11/21 5719 1571
966   [일반/컴포넌트] TStringList vs. THashedStringList  김영대 2008/11/04 6257 1559
965   [시스템] 프로세스가 원도우즈 원격 터미널에서 실행중인지 검사  김영대 2008/11/04 6001 1670
964   [시스템] 원도우즈 도메인 이름 구하기  김영대 2008/11/04 16773 1635
963   [시스템] 사용중인 USB 포트의 장치정보 구하기  김영대 2008/11/04 19727 1779
962   [일반/컴포넌트] Treeview의 수평 스크롤바 감추고 스크롤 막기  김영대 2006/03/22 6296 1404
961   [윈도우즈 API] 바탕화면의 모든 창 최소화하기  김영대 2006/02/28 6194 1500
960   [일반/컴포넌트] 일정시간 경과후 없어지는 MessageBox  김영대 2006/02/28 7957 1807
959   [시스템] System의 Idle 상태를 알아내는 API  김영대 2006/02/28 7092 1664
958   [일반/컴포넌트] ListBox에 Edit 올려 항목 편집하기  김영대 2006/02/28 5416 1372
957   [일반/컴포넌트] 폼 흔들기  김영대 2006/02/28 8776 1386
956   [일반/컴포넌트] 마우스로 ProgressBar의 Position 바꾸기  김영대 2006/02/28 5580 1431
955   [일반/컴포넌트] ListBox 드래그하여 아이템 이동하기  김영대 2006/02/28 5522 1331
954   [시스템] 폼의 Move/Resize 시작,종료 이벤트 감지하기  김영대 2006/02/28 6073 1567
953   [COM/OLE] IE의 속성을 변경하여 뛰우기  김영대 2006/02/28 6105 1420
952   [윈도우즈 API] 세로 글꼴 제거한 FontDialog  김영대 2006/02/28 6099 1549
951   [시스템] CPU 이름 구하기2  김영대 2005/09/13 6485 1548
950   [네트웍/인터넷] IP Helper API 를 이용한 네트워크 카드 Enable/Disable 시키기  김영대 2005/09/10 7105 1516
949   [일반/컴포넌트] 폼에 자석효과 주기 (Delphi 6 이하)  김영대 2005/08/04 11101 1563
948   [일반/컴포넌트] 객체의 valid검사 Assigned() 대체  김영대 2005/07/29 5395 1387
947   [시스템] 시스템 대기모드/화면 보호기/모니터 끄기 이벤트 감지하기  김영대 2005/07/21 8701 1709
946     [COM/OLE] [re] PDF ActiveX 사용하기  초보델피 2005/07/18 5585 1216
  [시스템] 윈도우즈 GUI 기본 폰트정보 구하기  김영대 2005/07/14 6279 1525
944   [시스템] 윈도우즈 입력도구모음의 한/영 토글하기  김영대 2005/06/24 6058 1570
943   [COM/OLE] ActiveForm의 OnDestroy 대용  김영대 2005/04/21 5929 1406
942   [일반/컴포넌트] ListView의 타이틀 폰트 바꾸기  김영대 2005/03/31 5962 1426
941   [일반/컴포넌트] 일정시간 경과후 없어지는 MessageDlg/ShowMessage  김영대 2005/03/26 6522 1426
940   [일반/컴포넌트] 프로그램의 bitmap을 MS 그림판으로 편집하여 다시 불러오기  김영대 2005/03/22 5969 3537
939   [일반/컴포넌트] RichEdit 2.0 줄간격 조정  김영대 2005/02/11 9094 1462
938   [COM/OLE] 탐색기에서 파일을 선택하여 ActiveX(ActiveFortm)에 Drag&Drop 하기  김영대 2005/01/06 8499 1455
937   [윈도우즈 API] TDownloadURL를 사용한 파일 다운받기  김영대 2004/12/26 7853 1507
936   [COM/OLE] TWebBrowser에 직접 HTML 소스코드 넣기  김영대 2004/12/26 7299 1460
935   [윈도우즈 API] 윈도우즈 시스템 전체에서 사용자의 마우스와 키보드 입력이 있는지 검사하기  김영대 2004/12/26 6946 1553
934   [일반/컴포넌트] 다이얼로그 박스가 이미 떠있는지 검사하여 강제로 닫기  김영대 2004/12/22 5687 1346
933   [윈도우즈 API] URLDownloadToFile()를 사용한 파일 다운받기  김영대 2004/12/15 8778 1637
932   [COM/OLE] 내 프로그램에서 선택한 text를 다른 프로그램에 Drag&Drop으로 주기  김영대 2004/12/10 6225 1368

1 [2][3][4][5][6][7][8][9][10]..[25] [다음 10개]
 

Copyright 1999-2024 Zeroboard / skin by zero