상위 클래스에 OnContextMenu 처리기를 추가하십시오. 그런 다음 팝업 메뉴를 추가하십시오.
편집 OnContextMenu 핸들러를 추가하려면 이벤트 핸들러를 PARENT 창 (즉, 목록 클래스가 아닌)에 추가하십시오. 이것은 자원 편집기를 통해 가장 쉽게 수행됩니다. 속성 페이지로 이동 한 다음 메시지 섹션으로 이동하십시오. 그런 다음 WM_CONTEXTMENU에 대한 함수를 추가하십시오. 당신이 클래스를 소유 도출 할 수있는 튜토리얼을 따라하면
void CYourDialog::OnContextMenu(CWnd* pWnd, CPoint point)
{
CListCtrl* pList = (CListCtrl*)GetDlgItem(ID_YOUR_LIST);
if ((CWnd*)pList == pWnd)
{
CMenu menu;
// Create your menu items.
int retVal = menu.TrackPopupMenu(TPM_LEFTALIGN | TPM_TOPALIGN | TPM_NONOTIFY | TPM_RETURNCMD, point.x, point.y, this);
// Handle your returns here.
}
}
출처
2009-10-02 12:12:27
Goz
그러나 어디에서 추가합니까? 목록 상자에 클래스가 없다는 의미입니다. – akif
내 소스 코드의 목록 상자에 클래스가 표시되지 않습니다. 단 두 가지 클래스 CDialog, CWinApp – akif
@ Manzoor 아메드, 내 대답을 편집했습니다. 메서드는 대화 상자 클래스에 배치됩니다. –