델파이에서 아이콘 폰트 사용하기

2019. 12. 12. 16:08

아이콘 폰트는 폰트파일에 문자 대신 아이콘을 추가해 아이콘을 사용할 수 있는 폰트파일입니다.


아이콘 폰트를 사용하면 다양한 아이콘을 손쉽게 그리고 통일되게 사용할 수 있습니다.


대표적인 아이콘 폰트는 다음과 같습니다.


위 링크에서 아이콘 폰트 설치 후 문자표(Characters map) 프로그램등으로 다음과 같이 글꼴을 확인할 수 있습니다. 문자 선택 시 하단에 코드(U+F087)가 표시됩니다.



이 글에서는 아이콘 폰트를 델파이에서 사용할 수 있도록하는 오픈소스들 소개합니다.

(소개하는 3가지 방식 모두 VCL 기반으로만 동작합니다.)

  • IconFontsImageList
  • FontIconEditor
  • Symbols

IconFontsImageList

IconFontsImageList는 TImageList 컴포넌트를 상속받은 TIconFontsImageList 컴포넌트를 이용해 아이콘 폰트를 사용할 수 있습니다.


위 링크에서 컴포넌트 다운로드 후 설치(라이브러리 패스 추가 필요) 후에 사용할 수 있습니다.


TIconFontsImageList 컴포넌트 추가 후 컴포넌트를 더블클릭하면 다음과 같은 에디터가 표시됩니다.


Properties of ImageList에서 사용할 아이콘 폰트(FontName)와 이미지 크기(Size), 색상(FontColor) 등을 선택합니다.

Properties of Selected Icon에서 [Add] 버튼을 눌러 이미지를 추가합니다.

폰트 아이콘 코드를 입력합니다.(문자표 등에서 확인 가능: [Show Char Map...] 버튼 이용)


이후 기존 이미지리스트와 동일하게 사용할 수 있습니다.


FontIconEditor

FontIconEditor 프로젝트는 기존 이미지 리스트(TImageList)에 아이콘 폰트 추가하는 기능을 확장하는 컴포넌트입니다.


해당 컴포넌트를 설치하면 이미지리스트 팝업 메뉴에 "Add font icons..." 메뉴가 추가됩니다.

해당 메뉴 클릭 시 아래와 같이 등록화면이 표시됩니다.


아이콘 폰트의 아이콘을 선택 해 이미지 리스트에 추가할 수 있습니다.


Symbols

한국 델파이 구루이신 안영제 님께서 공개한 내용입니다. 샘플 프로젝트입니다.


Segoe MDL2 Assets 폰트를 이용했지만, 다른 아이콘 폰트를 사용해도 됩니다.

(단, 개발PC 뿐 아니라, 사용자PC에도 해당 폰트가 설치되어 있어야 합니다.)




험프리 험프리.김현수 Delphi/C++Builder

첫번째 "델파이 마이그레이션 DAY" 회고

2019. 12. 5. 16:37

지난 화요일(12월 3일) 데브기어 라운지에서 첫번째 "델파이 마이그레이션 DAY"를 진행했습니다.


마이그레이션 데이는?

최근 윈도우 10 지원과 애플리케이션 현대화를 위한 마이그레이션 및 업그레이드를 시작하는 개발자들의 고민과 질문을 함께 고민하는 자리입니다. 해당 행사는 정기적으로 매월 첫번째 화요일에 데브기어 라운지에서 오프라인으로 진행합니다. 단순히 세미나 형식으로 정보를 받는것이 아닌 서로 자유롭게 정보와 의견을 나누는 커뮤니케이션 시간입니다.

소스코드를 직접 가져오시면 더욱 좋습니다. 전문가들의 의견을 들을 수 있습니다.


첫번째 마이그레이션 데이

첫번째 마이그레이션 데이는 5팀이 신청해 주셨고, 적은 인원으로 아주 가깝게 진행되었습니다.


각 업체에서는 당면한 기술적인 이슈에 대한 주제와 마이그레이션 시 컴포넌트 전환에 대한 주제로 자유롭게 의견을 나누었고, 저도 제 경험을 토대로 가이드를 드렸습니다.(아쉽게도 사전동의를 얻지 못해 자세한 내용 공유하지 못합니다. 다음 회고에서 남기도록 하겠습니다.)


앞으로의 계획은 

  • 마이그레이션 뿐 아니라 다양한 주제로 많은 개발자 분들과 소통하고 싶습니다.
  • 데브기어 주관이지만 개발 전문가분들의 소통의 장이 되었으면 합니다.
  • 적극적인 홍보로 많은 분들에게 알리도록 하겠습니다.

다음 마이그레이션 데이(2020년 1월 7일)에서 뵈요!!

험프리 험프리.김현수 교육, 세미나