COccManager – třída
Spravuje různé vlastní řídicí lokality; COleControlContainer
COleControlSite
a objekty.
Syntaxe
class COccManager : public CNoTrackObject
Členové
Veřejné metody
Název | Popis |
---|---|
COccManager::CreateContainer | COleContainer Vytvoří objekt. |
COccManager::CreateDlgControls | Vytvoří ovládací prvky ActiveX hostované přidruženým COleContainer objektem. |
COccManager::CreateSite | COleClientSite Vytvoří objekt. |
COccManager::GetDefBtnCode | Načte kód výchozího tlačítka. |
COccManager::IsDialogMessage | Určuje cíl dialogového okna. |
COccManager::IsLabelControl | Určuje, zda zadaný ovládací prvek je ovládací prvek popisku. |
COccManager::IsMatchingMnemonic | Určuje, zda aktuální mnemonic odpovídá mnemonic zadaného ovládacího prvku. |
COccManager::OnEvent | Pokusí se zpracovat zadanou událost. |
COccManager::P ostCreateDialog | Uvolní prostředky přidělené během vytváření dialogového okna. |
COccManager::P reCreateDialog | Zpracuje šablonu dialogového okna pro ovládací prvky ActiveX. |
COccManager::SetDefaultButton | Přepíná výchozí stav zadaného ovládacího prvku. |
COccManager::SplitDialogTemplate | Odděluje všechny existující ovládací prvky ActiveX od běžných ovládacích prvků v zadané šabloně dialogového okna. |
Poznámky
Základní třída je CNoTrackObject
nezdokumentovaná základní třída (umístěná v AFXTLS. H). Třídy odvozené z CNoTrackObject
třídy jsou určeny pro použití v rozhraní MFC, jsou vyloučeny z detekce nevracení paměti. Nedoporučuje se odvozovat přímo z CNoTrackObject
.
Hierarchie dědičnosti
CNoTrackObject
COccManager
Požadavky
Hlavička: afxocc.h
COccManager::CreateContainer
Zavolá se rozhraním pro vytvoření kontejneru ovládacího prvku.
virtual COleControlContainer* CreateContainer(CWnd* pWnd);
Parametry
pWnd
Ukazatel na objekt okna přidružený k vlastnímu kontejneru webu.
Návratová hodnota
Ukazatel na nově vytvořený kontejner; jinak NULL.
Poznámky
Další informace o vytváření vlastních webů naleznete v tématu COleControlContainer::AttachControlSite.
COccManager::CreateDlgControls
Voláním této funkce vytvoříte ovládací prvky ActiveX určené parametrem pOccDialogInfo .
virtual BOOL CreateDlgControls(
CWnd* pWndParent,
LPCTSTR lpszResourceName,
_AFX_OCC_DIALOG_INFO* pOccDialogInfo);
virtual BOOL CreateDlgControls(
CWnd* pWndParent,
void* lpResource,
_AFX_OCC_DIALOG_INFO* pOccDialogInfo);
Parametry
pWndParent
Ukazatel na nadřazený objekt dialogového okna.
lpszResourceName
Název vytvářeného prostředku.
pOccDialogInfo
Ukazatel na šablonu dialogového okna sloužící k vytvoření objektu dialogového okna.
lpResource
Ukazatel na prostředek.
Návratová hodnota
Nenulové, pokud byl ovládací prvek úspěšně vytvořen; jinak nula.
COccManager::CreateSite
Volá se rozhraním pro vytvoření řídicího webu hostovaného kontejnerem, na který odkazuje pCtrlCont.
virtual COleControlSite* CreateSite(COleControlContainer* pCtrlCont);
Parametry
pCtrlCont
Ukazatel na kontejner ovládacího prvku hostující nový web ovládacího prvku.
Návratová hodnota
Ukazatel na nově vytvořený řídicí web.
Poznámky
Přepsat tuto funkci vytvořit vlastní řídicí web pomocí COleControlSite-odvozené třídy.
Každý kontejner ovládacího prvku může hostovat více lokalit. Vytvořte další weby s více voláními .CreateSite
COccManager::GetDefBtnCode
Voláním této funkce určíte, jestli je ovládací prvek výchozím tlačítkem.
static DWORD AFX_CDECL GetDefBtnCode(CWnd* pWnd);
Parametry
pWnd
Objekt okna obsahující ovládací prvek tlačítko.
Návratová hodnota
Jedna z následujících hodnot:
DLGC_DEFPUSHBUTTON Ovládací prvek je výchozí tlačítko v dialogovém okně.
DLGC_UNDEFPUSHBUTTON Ovládací prvek není výchozím tlačítkem v dialogovém okně.
0 Ovládací prvek není tlačítko.
COccManager::IsDialogMessage
Volá se rozhraním k určení, zda je zpráva určena pro zadané dialogové okno, a pokud ano, zpracuje zprávu.
virtual BOOL IsDialogMessage(
CWnd* pWndDlg,
LPMSG lpMsg);
Parametry
pWndDlg
Ukazatel na zamýšlený cílový dialog zprávy.
lpMsg
Ukazatel na MSG
strukturu, která obsahuje zprávu, která se má zkontrolovat.
Návratová hodnota
Nenulové, pokud je zpráva zpracována; jinak nula.
Poznámky
Výchozím chováním IsDialogMessage
je zkontrolovat zprávy klávesnice a převést je na výběr odpovídajícího dialogového okna. Například klávesa TAB při stisknutí vybere další ovládací prvek nebo skupinu ovládacích prvků.
Přepište tuto funkci tak, aby poskytovala vlastní chování zpráv odeslaných do zadaného dialogového okna.
COccManager::IsLabelControl
Voláním této funkce určíte, zda je zadaný ovládací prvek ovládací prvek popisku.
static BOOL AFX_CDECL IsLabelControl(CWnd* pWnd);
static BOOL AFX_CDECL IsLabelControl(COleControlSiteOrWnd* pWnd);
Parametry
pWnd
Ukazatel na okno obsahující ovládací prvek.
Návratová hodnota
Nenulové, pokud je ovládací prvek popiskem; jinak nula
Poznámky
Ovládací prvek popisku je takový, který funguje jako popisek pro jakýkoli ovládací prvek, který je vedle řazení.
COccManager::IsMatchingMnemonic
Voláním této funkce určíte, zda aktuální mnemonic odpovídá, které představuje ovládací prvek.
static BOOL AFX_CDECL IsMatchingMnemonic(
CWnd* pWnd,
LPMSG lpMsg);
static BOOL AFX_CDECL IsMatchingMnemonic(
COleControlSiteOrWnd* pWnd,
LPMSG lpMsg);
Parametry
pWnd
Ukazatel na okno obsahující ovládací prvek.
lpMsg
Ukazatel na zprávu obsahující mnemonicu, která se má shodovat.
Návratová hodnota
Nenulové, pokud měmonic odpovídá ovládacímu prvku; jinak nula
Poznámky
COccManager::OnEvent
Volá se rozhraním pro zpracování zadané události.
virtual BOOL OnEvent(
CCmdTarget* pCmdTarget,
UINT idCtrl,
AFX_EVENT* pEvent,
AFX_CMDHANDLERINFO* pHandlerInfo);
Parametry
pCmdTarget
Ukazatel na CCmdTarget
objekt, který se pokouší zpracovat událost
idCtrl
ID prostředku ovládacího prvku.
pEvent
Událost, která se zpracovává.
pHandlerInfo
Pokud není null, OnEvent
vyplní pTarget
místo odeslání příkazu členy struktury a pmf
členy AFX_CMDHANDLERINFO
struktury. Obvykle by tento parametr měl mít hodnotu NULL.
Návratová hodnota
Nenulové, pokud byla událost zpracována, jinak nula.
Poznámky
Přepište tuto funkci tak, aby přizpůsobila výchozí proces zpracování událostí.
COccManager::P reCreateDialog
Volá se rozhraním pro zpracování šablony dialogového okna pro ovládací prvky ActiveX před vytvořením skutečného dialogového okna.
virtual const DLGTEMPLATE* PreCreateDialog(
_AFX_OCC_DIALOG_INFO* pOccDialogInfo,
const DLGTEMPLATE* pOrigTemplate);
Parametry
pOccDialogInfo
Struktura _AFX_OCC_DIALOG_INFO
obsahující informace o šabloně dialogového okna a všechny ovládací prvky ActiveX hostované dialogem.
pOrigTemplate
Ukazatel na šablonu dialogového okna, která se má použít při vytváření dialogového okna.
Návratová hodnota
Ukazatel na strukturu šablony dialogového okna sloužící k vytvoření dialogového okna.
Poznámky
Výchozí chování provede volání SplitDialogTemplate
, určení, zda existují nějaké ovládací prvky ActiveX a poté vrátí výslednou šablonu dialogového okna.
Tuto funkci přepište tak, aby se přizpůsobil proces vytvoření dialogového okna, který je hostitelem ovládacích prvků ActiveX.
COccManager::P ostCreateDialog
Volal rozhraní pro uvolnění paměti přidělené šabloně dialogového okna.
virtual void PostCreateDialog(_AFX_OCC_DIALOG_INFO* pOccDialogInfo);
Parametry
pOccDialogInfo
Struktura _AFX_OCC_DIALOG_INFO
obsahující informace o šabloně dialogového okna a všechny ovládací prvky ActiveX hostované dialogem.
Poznámky
Tato paměť byla přidělena voláním SplitDialogTemplate
a byla použita pro všechny hostované ovládací prvky ActiveX v dialogovém okně.
Tuto funkci přepište tak, aby se přizpůsobil proces čištění všech prostředků používaných objektem dialogového okna.
COccManager::SetDefaultButton
Voláním této funkce nastavíte ovládací prvek jako výchozí tlačítko.
static void AFX_CDECL SetDefaultButton(
CWnd* pWnd,
BOOL bDefault);
Parametry
pWnd
Ukazatel na okno obsahující ovládací prvek.
bDefault
Nenulové, pokud by se ovládací prvek měl stát výchozím tlačítkem; jinak nula.
Návratová hodnota
Nenulové, pokud je úspěšné; jinak nula.
Poznámky
Poznámka:
Ovládací prvek musí mít nastavenou OLEMISC_ACTSLIKEBUTTON stavovou sadu. Další informace o příznakech OLEMISC naleznete v tématu OLEMISC v sadě Windows SDK.
COccManager::SplitDialogTemplate
Volal rozhraní pro rozdělení ovládacích prvků ActiveX z běžných dialogových ovládacích prvků.
virtual DLGTEMPLATE* SplitDialogTemplate(
const DLGTEMPLATE* pTemplate,
DLGITEMTEMPLATE** ppOleDlgItems);
Parametry
pTemplate
Ukazatel na šablonu dialogového okna, která se má prověřit.
ppOleDlgItems
Seznam ukazatelů na položky dialogového okna, které jsou ovládacími prvky ActiveX.
Návratová hodnota
Ukazatel na strukturu šablony dialogového okna obsahující pouze ovládací prvky, které nejsou ovládacími prvky ActiveX. Pokud nejsou k dispozici žádné ovládací prvky ActiveX, vrátí se hodnota NULL.
Poznámky
Pokud jsou nalezeny nějaké ovládací prvky ActiveX, šablona se analyzuje a vytvoří se nová šablona, která obsahuje pouze ovládací prvky, které nejsou ovládacími prvky ActiveX. Všechny ovládací prvky ActiveX nalezené během tohoto procesu se přidají do ppOleDlgItems.
Pokud v šabloně nejsou žádné ovládací prvky ActiveX, vrátí se hodnota NULL .
Poznámka:
Paměť přidělená pro novou šablonu se uvolní ve PostCreateDialog
funkci.
Tuto funkci přepište, aby se tento proces přizpůsobil.
Viz také
Graf hierarchie
COleControlSite – třída
COleControlContainer – třída