# 팝업 메뉴
ㆍ 팝업 메뉴를 만들때는 가급적 메뉴를 새로 만들어서 빼주자
ㆍ 속성에서 메시지를 등록해준다.
# tip - 메뉴 새로 만들어서 뺴주는 법
ㆍ 리소스 뷰에서 메뉴 탭을 새로 만들어줄 수 있다. 그리고 ID값을 바꿔주도록 하자
Resource.h에 등록된다
#이런식으로 구성해 주었다
ㆍ 메뉴를 불러오는 방법은 아래 코드와 같다.
ㆍ 식벽자를 인식하지 못하는 이유는 내가 POPUP 메뉴를 새로 뺴주었는데 이런것들은 Resource.h에 있다. (이거include해주면 오류는 사라짐)
ㆍ 인식만 못할뿐 빌드는 잘 된다. 신경쓰이면 resource.h를 include해주자
ㆍ Resource.h에 들어가서 확인해니 자동으로 생성된 MENU1에서 내가 ID값을 속성에서 바꿔줬기때문에 똑같은 값 매크로가 2개나 등록되어있다..!
ㆍ 나중에 문제가 생길 여지가 많으니 반드시 지워주자
ㆍ 서브메뉴를 포인터로 받아와서 사용한다
ㆍ Flag에 들어가있는 메크로는 왼쪽 마우스버튼을 이용해 선택할거고,텍스트는 왼쪽 정렬을 사용한다는 뜻이다.
ㆍ Wnd는 현재 view클레스에서 작업중이므로 그대로 this를 넣어준다
ㆍ bitflag방식으로 구현되어있다 따라서 비트연산자 or인 |를 사용해줫다.
#좌표계에 대한 이슈
ㆍ 매개변수의 point는 클라이언트 기준이다(view윈도우 기준을 클라이언트 영역이라고 부른다)
(모니터의 화면을 Screen 영역이라고 부른다)
ㆍ 근데 이 TrackPopupMenu의 매개변수는 Screen좌표를 요구한다.
ㆍ C++을 안다면 어려울거 없는 코드다. 클라이언트(View) 좌료를 모니터 화면인 Screen좌표로 바꿔주고 지정해줫다.
ㆍ 그 아래 EnableMenuItem은 메뉴를 비활성화 시켜주는것 (마소에서 사용하는거 공유해놓으니 필요한 기능이 있을때마다 찾아주는 식으로 하자
'C++프로그래밍 > MFC' 카테고리의 다른 글
윈도우 그래픽 시스템 (0) | 2025.03.10 |
---|---|
컨트롤바 - 툴바 , 상태바 (0) | 2025.03.10 |
토글 메뉴 만들기 (0) | 2025.03.07 |
다른 메뉴 실행하기와 바로 가기 키 (단축키) (0) | 2025.03.07 |
핸들러 관련해 발생할 수 있는 실수 (0) | 2025.03.07 |