1. 首先 , 定義一個常數 , 用來傳遞訊息 (WM_USER + 20)
// Public.h
//================================
#defineWM_USER_Download_Info_File(WM_USER + 20)
class CMyApp
{
public :
HWNDhPage1;
HWNDhPage2;
};
extern CLU5LU5;
// Public.cpp
//=================================
CMyAppmyapp;
2. 在Page1 & Page2 初始化階段 , 取得該 Handle 的值 , 用途是等會使用 PostMessage 時使用
//Page1.cpp
//============================================
BOOL CPage1::OnInitDialog()
{
.....略
myapp.hPage1 = this->m_hWnd;
.....略
}
void Scan_Information(void)
{
::PostMessage(myapp.hPage2 ,WM_USER_Download_Info_File,0,0);
}
3. 設定好 Page2 收到訊息時 , 要執行哪一段程式
//Page2.cpp
//============================================
BEGIN_MESSAGE_MAP(CPAGE2, CDialog)
....略
ON_MESSAGE(WM_USER_Download_Info_File,On_Download_Info_File)
END_MESSAGE_MAP()
BOOL CPage2::OnInitDialog()
{
.....略
myapp.hPage2 = this->m_hWnd;
.....略
}
LRESULT CPAGE2::On_Download_Info_File(WPARAM, LPARAM)
{
return 0;
}
//Page2.h
//=================================================
afx_msg LRESULT On_Download_Info_File(WPARAM, LPARAM);
需求 : 開發時 , 主頁面含有其它子頁 , 當按下主頁的某個功能鍵時 , 要直接直行子頁中的某個程式 , 便可利用 PostMessage 來完成