2009-08-10 4 views
0

내 응용 프로그램은 C++이며 MFC와 ATL의 조합입니다. 여기에서 작업중인 부분은 MFC입니다.사용자 지정 ListCtrl에서 WM_NOTIFY 메시지 잡기

CListCtrl에서 상속 한 대화 상자 중 하나에 사용자 지정 목록 컨트롤 클래스가 있습니다.

LVN_ITEMCHANGED 메시지에 대한 처리기를 추가하려고하므로 목록의 내용에 따라 나머지 대화 상자 양식을 업데이트 할 수 있습니다. 보다 구체적으로, 각 목록 항목에는 체크 박스 필드가 있으며 변경된시기를 감지해야합니다.

문제는 내 목록이 메시지를 보내지 않는다는 것입니다. 내 메시지 맵 그리고 그것을 잘 작동

ON_NOTIFY(LVN_ITEMCHANGED, IDC_LIST_OUTPUT_CMDS, OnLvnItemchangedListOutputCmds) 

, 나는 LVN 같은 다른 메시지를 발견 한 _ ITEMCHANGING, NM_CLICK 및 NM _ 단순히 메시지를 변경하여 RELEASEDCAPTURE.

그러므로 내 생각에 listctrl 사용자 정의 클래스는 메시지를 올바르게 게시하지 않습니다.

이 질문에

여러 가지 방법을 답변을 얻을 수 있습니다 :
1. 나는 그것이 부모 (대화)의에 자식 목록에서 LVN_ITEMCHANGED 메시지를 게시 할 수 있습니까?
2. 나는 올바른 메시지를 듣고 있습니까? 시도한 대부분의 항목이 너무 빨리 업데이트를 시작했습니다 (목록의 데이터가 업데이트되기 전에). 이렇게하면 대화 상자가 목록의 이전 상태를 기반으로 새로 고침됩니다.
3. 제가해야 할 일이 있을까요? 나는 이것을 열어 두도록 부탁한다.

+0

http://stackoverflow.com/questions/1272398/how-to-send-a-notification-thats-handled-by-onnotify – CodeFusionMobile

답변

0

일반 CListCtrl을 대화 상자에 넣고 해당 메시지에서 메시지를 잡을 수 있는지 확인하십시오. 가능한 경우, 문제가 재정의 된 기능 중 하나임을 알고 있습니다. 마우스 이벤트를 CListCtrl 또는 다른 것으로 전달하지 않을 수도 있습니다.