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 |
---|---|
Konstrukce CWinThread objektu. |
Veřejné metody
Název |
Description |
---|---|
Spustí provádění CWinThread objektu. |
|
Přepsat vyčistit při ukončení podprocesu aplikace. |
|
Načte ukazatel myši do okna hlavního podprocesu. |
|
Načte aktuální podproces prioritu. |
|
Přepsat provést inicializaci instance podprocesu. |
|
Kontroly pro zvláštní zprávy. |
|
Přepsat provádění podprocesu specifické zpracování doba nečinnosti. |
|
Odešle zprávu do jiného CWinThread objektu. |
|
Filtruje zprávy před jsou odesílány do funkce systému Windows TranslateMessage a DispatchMessage. |
|
Zachycuje určitých zpráv, než dosáhnou aplikace. |
|
Zachycuje všechny neošetřené výjimky odesílané zprávy podprocesu a příkaz obsluhy. |
|
Obsahuje smyčka zpráv podprocesu. |
|
Pozastavit podprocesu a sníží počet. |
|
Řídící funkce pro podprocesy se čerpadlo zpráv.Přepsat přizpůsobit výchozí smyčky zpráv. |
|
Nastavuje prioritu aktuální podproces. |
|
Přírůstky v podprocesu pozastavit count. |
Veřejné operátory
Název |
Description |
---|---|
Získá popisovač CWinThread objektu. |
Veřejné datové členy
Název |
Description |
---|---|
Určuje, zda ke zničení objektu na ukončení podprocesu. |
|
Zpracování aktuálního podprocesu. |
|
ID aktuálního podprocesu. |
|
Hlavní okno aplikace kontejneru při serveru OLE je aktivní v místě ukazatele myši. |
|
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
CWinThread
Požadavky
Záhlaví: afxwin.h