메세지 전달 : CTab2 -> CTab1 전달할 메세지 : m_sFileName (CString형)
메세지 정의 : #define UM_LIST_ADD WM_USER+1
CTab2 전달부분
CTab1 *m_pTab1 = new CTab1;
HWND hWnd = m_pTab1->GetSafeHwnd(); //핸들을 얻어옴
....
::SendMessage(hWnd, UM_LIST_ADD, (LPARAM)&m_sFileName, 0); // 핸들로 메세지를 보냄
// 이부분에서 AfxMessageBox로 m_sFileName 검사 결과 정상적인 값 나옴
CTab1 수신부분
CTab1.h
// Generated message map functions
//{{AFX_MSG(CTab1)
virtual BOOL OnInitDialog();
//}}AFX_MSG
LRESULT AddListBox(WPARAM wParam, LPARAM lParam);
DECLARE_MESSAGE_MAP()
CTab1.cpp
BEGIN_MESSAGE_MAP(CTab1, CDialog)
//{{AFX_MSG_MAP(CTab1)
//}}AFX_MSG_MAP
ON_MESSAGE(UM_LIST_ADD, CTab1::AddListBox)
END_MESSAGE_MAP()
...
LRESULT CTab1::AddListBox(WPARAM wParam, LPARAM lParam)
{
CString * str = (CString*)lParam;
m_ListBox.AddString(*str);
AfxMessageBox("1"); //확인용 메세지박스 ->출력안됨
return 1;
}
이렇게 소스를 짰는데 수신부분 함수에서 리스트박스에 AddString되긴 커녕
확인용 AfxMessageBox마저도 출력이 안됩니다.
즉 메세지를 못보냈는지 못받았는지 아예 서로 연결이 안된거같습니다ㅠㅠ
AFX_MSG안에는 안들어가도 된다해서 밖에 꺼냈습니다.
AFX안으로 들어가면 Could not execute: Bad executable format 이라고 오류가 뜨네요..
잘못된 부분이 어딘지 알려주세요 ㅠㅠ