관리 메뉴

History

MFC ListBox OwnerDraw를 이용한 메뉴판 꾸미기step_1 본문

MFC/개인 실습

MFC ListBox OwnerDraw를 이용한 메뉴판 꾸미기step_1

luckybee 2021. 7. 19. 13:53
728x90
반응형

이번 실습은 ListBox의 OwnerDraw기술로 메뉴판을 꾸며보겠습니다.

굳이 OwnerDraw를 사용하는 이유는 ListBox의 내장기능에는 색상  꾸미기 기능이 없기 때문에 ListBox를 꾸미고 싶으면 OwnerDraw를 사용해야 합니다. 

 

또한 OwnerDraw에서 그리는 기능은 전부 메시지 함수인 WM_DrawItem이라는 메시지를 추가해서 그려야 오류가 나지 않고 실행이 가능합니다. 

 

색상을 입히는 함수는 WM_CtlColor함수를 추가해서 하면 됩니다.

시작 초기화면

위의 그림처럼 시작할 때 메뉴판이 출력됩니다.

메뉴판은 구조체를 이용하여 전역변수로 미리 초기화를 시켜놓고 구현했습니다.

 

영문은 굴림체 84크기, 한글과 숫자는 120 크기로 설정하고 구현했습니다.

 

선택했을 때

메뉴판을 클릭하면 클릭된 메뉴판은 다른 메뉴판과 색깔이 달라지며 사용자가 색상으로 헷갈리지 않게 실습했습니다.

 

Focus를 잃었을 때

Focus를 잃었을 때는 이렇게 색상이 달라지는 모습을 구현했습니다. Focus가 잃어버렸다는 뜻은 마우스가 메뉴판 밖의 화면을 클릭했을 때 나타나는 현상입니다. 

 

이상으로 실습 step1을 마치겠습니다.

 

step2에서는 구조체를 동적 할당해서 똑같은 화면을 구현하겠습니다.

728x90
반응형
Comments