MFC —— 线程控制主窗口的控件
来源:互联网 发布:盆景种子淘宝哪家好 编辑:程序博客网 时间:2024/05/29 04:54
CMyThread是CWinThread的派生类// MyThread.h : header file//在线程定义p_listbox,指向主窗口的ListBox控件CWnd* m_thread_wnd;CMyThread* m_thread;CListBox* p_listbox; // MyThread.cpp : implementation file//在线程直接调用主窗口的控件// m_thread_wnd->GetActiveWindow()->MessageBox("ll");//正确// m_thread_wnd->GetParent()->MessageBox("ll"); //错误// m_thread->GetMainWnd()->MessageBox("ll"); //错误// m_thread->m_pActiveWnd->MessageBox("ll"); //错误// m_thread->m_pMainWnd->MessageBox("ll"); //错误// m_thread->m_pMainWnd->SetDlgItemText(IDC_STATIC,"a"); //错误// p_listbox->GetDlgItem(IDC_LISTBOX); //错误// p_listbox->InsertString(0,"abc"); //错误// m_thread=AfxGetThread(); //没用// m_thread_wnd=AfxGetMainWnd()->p_listbox->GetDlgItem(IDC_LISTBOX); //不能这样// m_thread_wnd->MessageBox("ll"); //正确// m_thread_wnd->SetDlgItemText(IDC_STATIC,"a"); //正确// m_pMainWnd->SetDlgItemText(IDC_STATIC,"a");//正确,等于m_thread_wnd->SetDlgItemText(IDC_STATIC,"a");//m_pMainWnd是默认成员// p_listbox->InsertString(0,"a");//== p_listbox=(CListBox*)m_pMainWnd->GetDlgItem(IDC_LISTBOX); //若是在非模态对话框直接调用主窗口的控件GetParent()->SetDlgItemText(IDC_AMXX,__szPath);