본문 바로가기
Study/MFC

[MFC] 팝업메뉴 달기 (버튼 밑에 팝업메뉴 생성하기)

by 뿡뿡대마왕 2011. 12. 19.
반응형

다이얼로그 박스 내에 버튼하나가 있는데 그 버튼을 누르면 버튼 밑으로 팝업 메뉴가 보이게끔 해보자.

1. 우선은 리소스에 Menu에다가 메뉴를 하나 추가하자. 난 간단히 아래처럼 추가하였다.
  ( 테스트 1 , 테스트 2 등록함)

 

2.  다이얼로그에 버튼을 달고 버튼 클릭시 이벤트를 처리할 수 있는 함수를 추가하고.
    그 함수 안에 아래처럼 코드를 추가하자.

void CTest_1Dlg::OnBnClickedButton1()

{

CRect rect;

CMenu muTemp, *pContextMenu; 

GetDlgItem(IDC_BUTTON1)->GetWindowRect(&rect);      // 윈도우 상에 버튼의 위치를 구해오고

muTemp.LoadMenu(IDR_MENU1); // 메뉴는 정의해 놓은 것 중 원하는 것

pContextMenu = muTemp.GetSubMenu(0);

pContextMenu->TrackPopupMenu(TPM_LEFTALIGN, rect.left, rect.top + 22, this);
       //rect.left와 rect.top은 팝업창이 보여지겔되 x좌표와 y좌표.. 

}


위에 처럼 구현하여 버튼을 클릭하면 아래 그림처럼 팝업메뉴가 보여진다.




참 쉽죠잉?? 위에 사용된 함수들은 구글링을 통해 알아보면 간단히 알 수 있을것이다.^^
 


반응형

댓글