在进程中更改控件,虽然可以更改成功,但是很容易与该页面的操作发生冲突,最好的解决办法是在更改的时候,添加一个消息到该对话框中,然后为其添加消息响应函数,即可.
首先在消息队列中添加消息ID,
#define MSG_WM_SCAN WM_APP +0x05
然后在UIThread.cpp中添加消息到DefaultView.cpp中,实现如下
::SendMessage(theApp.GetDefualtView()->GetSafeHwnd(),MSG_WM_SCAN,(WPARAM)0,(LPARAM)0);
最后在DefaultView.cpp中添加消息响应函数,ON_MESSAGE(MSG_WM_SCAN, OnScan)
OnScan函数及时响应函数
LRESULTCDefaultView::OnScan(UINT wParam, LONG lParam)
{
//进程中添加到默认对话框中的消息响应。
SetDlgItemText( IDC_STATIC_AUTOSCAN ,L"Scanning..." ); //动态显示scan状态
Sleep(300);
if ( GET_DOCUMENT->m_bEnableAutoScan)
SetDlgItemText(IDC_STATIC_AUTOSCAN , L"Auto Scan enabled." ); //恢复显示Auto Scan 设置
else
SetDlgItemText(IDC_STATIC_AUTOSCAN , L"Auto Scan disabled." );//恢复显示Auto Scan 设置
return 0;
}
显示动态的scanning。。。