TRACE( "The value of x is MyThreadFunction %d/n", de); 只在debug中打印,release版本中是不会输出的。
绘图相关的函数,只能在创建窗口的线程中调用才会生效。
在其他线程中调用需要 SendMessage; SendMessage调用的消息函数运行在创建窗口的线程中。当创建窗口的线程退出时,再SendMessage就没效了。
int iRet = 5;
if(IsWindow(m_pDlg->GetSafeHwnd())) //当创建窗口的线程退出时, 返回false
iRet = ::SendMessage(m_pDlg->GetSafeHwnd(), WM_PRINT_PIC, 0, (LPARAM)this);
else
iRet = 80;
消息映射:
#define WM_PRINT_PIC (WM_USER + 1234)
创建初始化窗口:
AFX_MANAGE_STATE(AfxGetStaticModuleState());
CoInitialize(NULL);
AfxEnableControlContainer();
if(AfxOleInit())
{
m_pDlg = NULL;
m_pDlg = new CAdobeDlg();
m_pDlg->Create(IDD_DIALOG1,NULL);
m_pDlg->ShowWindow(SW_HIDE);
}