Třída CWinThread

Představuje vlákno, jenž se vykonává v rámci aplikace.

class CWinThread : public CCmdTarget

Členy

Veřejné konstruktory

Název

Description

CWinThread::CWinThread

Konstrukce CWinThread objektu.

Veřejné metody

Název

Description

CWinThread::CreateThread

Spustí provádění CWinThread objektu.

CWinThread::ExitInstance

Přepsat vyčistit při ukončení podprocesu aplikace.

CWinThread::GetMainWnd

Načte ukazatel myši do okna hlavního podprocesu.

CWinThread::GetThreadPriority

Načte aktuální podproces prioritu.

CWinThread::InitInstance

Přepsat provést inicializaci instance podprocesu.

CWinThread::IsIdleMessage

Kontroly pro zvláštní zprávy.

CWinThread::OnIdle

Přepsat provádění podprocesu specifické zpracování doba nečinnosti.

CWinThread::PostThreadMessage

Odešle zprávu do jiného CWinThread objektu.

CWinThread::PreTranslateMessage

Filtruje zprávy před jsou odesílány do funkce systému Windows TranslateMessage a DispatchMessage.

CWinThread::ProcessMessageFilter

Zachycuje určitých zpráv, než dosáhnou aplikace.

CWinThread::ProcessWndProcException

Zachycuje všechny neošetřené výjimky odesílané zprávy podprocesu a příkaz obsluhy.

CWinThread::PumpMessage

Obsahuje smyčka zpráv podprocesu.

CWinThread::ResumeThread

Pozastavit podprocesu a sníží počet.

CWinThread::Run

Řídící funkce pro podprocesy se čerpadlo zpráv.Přepsat přizpůsobit výchozí smyčky zpráv.

CWinThread::SetThreadPriority

Nastavuje prioritu aktuální podproces.

CWinThread::SuspendThread

Přírůstky v podprocesu pozastavit count.

Veřejné operátory

Název

Description

POPISOVAČ CWinThread::operator

Získá popisovač CWinThread objektu.

Veřejné datové členy

Název

Description

CWinThread::m_bAutoDelete

Určuje, zda ke zničení objektu na ukončení podprocesu.

CWinThread::m_hThread

Zpracování aktuálního podprocesu.

CWinThread::m_nThreadID

ID aktuálního podprocesu.

CWinThread::m_pActiveWnd

Hlavní okno aplikace kontejneru při serveru OLE je aktivní v místě ukazatele myši.

CWinThread::m_pMainWnd

Obsahuje ukazatel na hlavní okno aplikace.

Poznámky

Hlavní podproces provádění je obvykle poskytují objektu odvozeném z CWinApp ; CWinAppje odvozen z CWinThread .Další CWinThread objekty umožňují více podprocesů v rámci dané aplikace.

Existují dva obecné typy vláken, CWinThread podporuje: pracovních podprocesů a podprocesy uživatelského rozhraní.Pracovní podprocesy mít žádné zprávy čerpadla: například podprocesu, který provádí výpočty pozadí v tabulkovém procesoru.Uživatelské rozhraní podprocesy jste zprávu čerpadla a zpracování zpráv přijatých ze systému.CWinApp a tříd odvozených z něj jsou příklady podprocesů uživatelského rozhraní.Další podprocesy uživatelského rozhraní lze odvodit také přímo z CWinThread .

Objekty třídy CWinThread obvykle existují pro dobu trvání podprocesu.Pokud chcete toto chování změnit, nastavte m_bAutoDelete na FALSE.

CWinThread Třídy je nezbytné provést kód a MFC plně bezpečné podprocesy.Podproces místní data používají v rámci udržují informace o podprocesu jsou spravována CWinThread objektů.Protože tato závislost na CWinThread zpracovávat data podprocesu místní, je nutné vytvořit libovolný podproces, který používá MFC MFC.Například podproces vytvořený pomocí funkce spuštění _beginthread, _beginthreadex nelze použít žádné rozhraní API MFC.

Vytvořit podproces, volání AfxBeginThread.Existují dvě formy, podle toho, zda chcete podproces pracovník nebo uživatelského rozhraní.Pokud chcete podproces uživatelského rozhraní, předat AfxBeginThread ukazatel CRuntimeClass z vašeho CWinThread -odvozené třídy.Pokud chcete vytvořit podproces, předat AfxBeginThread ukazatel na funkci řízení a parametr řídící funkce.Pro pracovní podprocesy a podprocesy uživatelského rozhraní můžete zadat volitelné parametry, které změnit prioritu, velikost zásobníku, vytváření příznaky a atributy zabezpečení.AfxBeginThreadVrátí ukazatel nového CWinThread objektu.

Místo volání AfxBeginThread , můžete vytvořit CWinThread -odvozené objekt a poté volání CreateThread .Tato konstrukce dvoustupňový metoda je užitečná, pokud chcete znovu použít CWinThread objekt mezi následnými vytváření a výpovědi spuštění podprocesu.

Další informace o CWinThread , naleznete v článcích podprocesy s C++ a MFC, při souběžném: vytváření podprocesů uživatelského rozhraní, při souběžném: vytváření pracovních podprocesů, a podprocesy: použití třídy synchronizace.

Hierarchii dědičnosti

CObject

CCmdTarget

CWinThread

Požadavky

Záhlaví: afxwin.h

Viz také

Referenční dokumentace

Třída CCmdTarget

Graf hierarchie

Třída CWinApp

Třída CCmdTarget