Klasa COccManager
Zarządza różnymi niestandardowymi witrynami kontroli; zaimplementowane przez COleControlContainer
obiekty i .COleControlSite
Składnia
class COccManager : public CNoTrackObject
Elementy członkowskie
Metody publiczne
Nazwa/nazwisko | opis |
---|---|
COccManager::CreateContainer | Tworzy obiekt COleContainer . |
COccManager::CreateDlgControls | Tworzy kontrolki ActiveX hostowane przez skojarzony COleContainer obiekt. |
COccManager::CreateSite | Tworzy obiekt COleClientSite . |
COccManager::GetDefBtnCode | Pobiera kod przycisku domyślnego. |
COccManager::IsDialogMessage | Określa element docelowy komunikatu dialogowego. |
COccManager::IsLabelControl | Określa, czy określona kontrolka jest kontrolką etykiety. |
COccManager::IsMatchingMnemonic | Określa, czy bieżący mnemonic pasuje do mnemonic określonej kontrolki. |
COccManager::OnEvent | Próbuje obsłużyć określone zdarzenie. |
COccManager::P ostCreateDialog | Zwalnia zasoby przydzielone podczas tworzenia okna dialogowego. |
COccManager::P reCreateDialog | Przetwarza szablon okna dialogowego dla kontrolek ActiveX. |
COccManager::SetDefaultButton | Przełącza domyślny stan określonej kontrolki. |
COccManager::SplitDialogTemplate | Oddziela wszystkie istniejące kontrolki ActiveX od typowych kontrolek w określonym szablonie okna dialogowego. |
Uwagi
Klasa bazowa , CNoTrackObject
jest nieudokumentowaną klasą bazową (znajdującą się w AFXTLS. H). Zaprojektowane do użytku przez strukturę MFC klasy pochodzące z CNoTrackObject
klasy są wykluczone z wykrywania przecieków pamięci. Nie zaleca się, aby pochodzić bezpośrednio z klasy CNoTrackObject
.
Hierarchia dziedziczenia
CNoTrackObject
COccManager
Wymagania
Nagłówek: afxocc.h
COccManager::CreateContainer
Wywoływana przez platformę w celu utworzenia kontenera sterowania.
virtual COleControlContainer* CreateContainer(CWnd* pWnd);
Parametry
pWnd
Wskaźnik do obiektu okna skojarzonego z niestandardowym kontenerem lokacji.
Wartość zwracana
Wskaźnik do nowo utworzonego kontenera; w przeciwnym razie wartość NULL.
Uwagi
Aby uzyskać więcej informacji na temat tworzenia witryn niestandardowych, zobacz COleControlContainer::AttachControlSite.
COccManager::CreateDlgControls
Wywołaj tę funkcję, aby utworzyć kontrolki ActiveX określone przez parametr 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
Wskaźnik do elementu nadrzędnego obiektu okna dialogowego.
lpszResourceName
Nazwa tworzonego zasobu.
pOccDialogInfo
Wskaźnik do szablonu okna dialogowego użytego do utworzenia obiektu okna dialogowego.
lpResource
Wskaźnik do zasobu.
Wartość zwracana
Nonzero, jeśli kontrolka została utworzona pomyślnie; w przeciwnym razie zero.
COccManager::CreateSite
Wywoływana przez platformę w celu utworzenia lokacji sterowania hostowanej przez kontener wskazywany przez element pCtrlCont.
virtual COleControlSite* CreateSite(COleControlContainer* pCtrlCont);
Parametry
pCtrlCont
Wskaźnik do kontenera sterowania obsługującego nową lokację sterowania.
Wartość zwracana
Wskaźnik do nowo utworzonej lokacji sterowania.
Uwagi
Zastąp tę funkcję, aby utworzyć niestandardową lokację sterowania przy użyciu klasy pochodnej COleControlSite.
Każdy kontener sterowania może hostować wiele lokacji. Utwórz dodatkowe witryny z wieloma wywołaniami polecenia CreateSite
.
COccManager::GetDefBtnCode
Wywołaj tę funkcję, aby określić, czy kontrolka jest domyślnym przyciskiem wypychania.
static DWORD AFX_CDECL GetDefBtnCode(CWnd* pWnd);
Parametry
pWnd
Obiekt okna zawierający kontrolkę przycisku.
Wartość zwracana
Jedna z następujących wartości:
DLGC_DEFPUSHBUTTON Control jest domyślnym przyciskiem w oknie dialogowym.
DLGC_UNDEFPUSHBUTTON Kontrolka nie jest domyślnym przyciskiem w oknie dialogowym.
0 Kontrolka nie jest przyciskiem.
COccManager::IsDialogMessage
Wywoływana przez platformę w celu określenia, czy komunikat jest przeznaczony dla określonego okna dialogowego, a jeśli tak, przetwarza komunikat.
virtual BOOL IsDialogMessage(
CWnd* pWndDlg,
LPMSG lpMsg);
Parametry
pWndDlg
Wskaźnik do zamierzonego okna dialogowego docelowego komunikatu.
lpMsg
Wskaźnik do struktury zawierającej MSG
komunikat do sprawdzenia.
Wartość zwracana
Niezero, jeśli komunikat jest przetwarzany; w przeciwnym razie zero.
Uwagi
Domyślnym zachowaniem jest IsDialogMessage
sprawdzenie komunikatów klawiaturowych i przekonwertowanie ich na wybrane opcje odpowiedniego okna dialogowego. Na przykład po naciśnięciu TAB wybiera następną kontrolkę lub grupę kontrolek.
Zastąpi tę funkcję, aby zapewnić niestandardowe zachowanie komunikatów wysyłanych do określonego okna dialogowego.
COccManager::IsLabelControl
Wywołaj tę funkcję, aby określić, czy określona kontrolka jest kontrolką etykiety.
static BOOL AFX_CDECL IsLabelControl(CWnd* pWnd);
static BOOL AFX_CDECL IsLabelControl(COleControlSiteOrWnd* pWnd);
Parametry
pWnd
Wskaźnik do okna zawierającego kontrolkę.
Wartość zwracana
Nonzero, jeśli kontrolka jest etykietą; w przeciwnym razie zero
Uwagi
Kontrolka etykiety to kontrolka, która działa jak etykieta dla dowolnej kontrolki, która jest następna w kolejności.
COccManager::IsMatchingMnemonic
Wywołaj tę funkcję, aby określić, czy bieżące mnemonic pasuje, które są reprezentowane przez kontrolkę.
static BOOL AFX_CDECL IsMatchingMnemonic(
CWnd* pWnd,
LPMSG lpMsg);
static BOOL AFX_CDECL IsMatchingMnemonic(
COleControlSiteOrWnd* pWnd,
LPMSG lpMsg);
Parametry
pWnd
Wskaźnik do okna zawierającego kontrolkę.
lpMsg
Wskaźnik do komunikatu zawierającego mnemonic do dopasowania.
Wartość zwracana
Nonzero, jeśli mnemonic pasuje do kontrolki; w przeciwnym razie zero
Uwagi
COccManager::OnEvent
Wywoływana przez platformę do obsługi określonego zdarzenia.
virtual BOOL OnEvent(
CCmdTarget* pCmdTarget,
UINT idCtrl,
AFX_EVENT* pEvent,
AFX_CMDHANDLERINFO* pHandlerInfo);
Parametry
pCmdTarget
Wskaźnik do obiektu próbującego CCmdTarget
obsłużyć zdarzenie
idCtrl
Identyfikator zasobu kontrolki.
pEvent
Obsługiwane zdarzenie.
pHandlerInfo
Jeśli nie ma wartości NULL, OnEvent
wypełnia pTarget
elementy AFX_CMDHANDLERINFO
członkowskie struktury i pmf
zamiast wysyłać polecenie. Zazwyczaj ten parametr powinien mieć wartość NULL.
Wartość zwracana
Nonzero, jeśli zdarzenie zostało obsłużone, w przeciwnym razie zero.
Uwagi
Zastąpij tę funkcję, aby dostosować domyślny proces obsługi zdarzeń.
COccManager::P reCreateDialog
Wywoływana przez platformę do przetwarzania szablonu okna dialogowego dla kontrolek ActiveX przed utworzeniem rzeczywistego okna dialogowego.
virtual const DLGTEMPLATE* PreCreateDialog(
_AFX_OCC_DIALOG_INFO* pOccDialogInfo,
const DLGTEMPLATE* pOrigTemplate);
Parametry
pOccDialogInfo
Struktura zawierająca _AFX_OCC_DIALOG_INFO
informacje na temat szablonu okna dialogowego i wszystkich kontrolek ActiveX hostowanych przez okno dialogowe.
pOrigTemplate
Wskaźnik do szablonu okna dialogowego, który ma być używany podczas tworzenia okna dialogowego.
Wartość zwracana
Wskaźnik do struktury szablonu okna dialogowego używany do tworzenia okna dialogowego.
Uwagi
Domyślne zachowanie powoduje wywołanie SplitDialogTemplate
metody , określając, czy istnieją jakiekolwiek kontrolki ActiveX, a następnie zwraca wynikowy szablon okna dialogowego.
Zastąpi tę funkcję, aby dostosować proces tworzenia okna dialogowego hostowania kontrolek ActiveX.
COccManager::P ostCreateDialog
Wywoływana przez platformę w celu zwolnienia pamięci przydzielonej dla szablonu okna dialogowego.
virtual void PostCreateDialog(_AFX_OCC_DIALOG_INFO* pOccDialogInfo);
Parametry
pOccDialogInfo
Struktura zawierająca _AFX_OCC_DIALOG_INFO
informacje na temat szablonu okna dialogowego i wszystkich kontrolek ActiveX hostowanych przez okno dialogowe.
Uwagi
Ta pamięć została przydzielona przez wywołanie metody SplitDialogTemplate
i została użyta dla wszystkich hostowanych kontrolek ActiveX w oknie dialogowym.
Zastąpij tę funkcję, aby dostosować proces czyszczenia wszystkich zasobów używanych przez obiekt okna dialogowego.
COccManager::SetDefaultButton
Wywołaj tę funkcję, aby ustawić kontrolkę jako przycisk domyślny.
static void AFX_CDECL SetDefaultButton(
CWnd* pWnd,
BOOL bDefault);
Parametry
pWnd
Wskaźnik do okna zawierającego kontrolkę.
bDefault
Nonzero, jeśli kontrolka powinna stać się przyciskiem domyślnym; w przeciwnym razie zero.
Wartość zwracana
Bezzerowe, jeśli się powiedzie; w przeciwnym razie zero.
Uwagi
Uwaga
Kontrolka musi mieć zestaw bitów stanu OLEMISC_ACTSLIKEBUTTON. Aby uzyskać więcej informacji na temat flag OLEMISC, zobacz temat OLEMISC w zestawie Windows SDK.
COccManager::SplitDialogTemplate
Wywoływana przez platformę w celu podzielenia kontrolek ActiveX z typowych kontrolek okien dialogowych.
virtual DLGTEMPLATE* SplitDialogTemplate(
const DLGTEMPLATE* pTemplate,
DLGITEMTEMPLATE** ppOleDlgItems);
Parametry
pTemplate
Wskaźnik do szablonu okna dialogowego do zbadania.
ppOleDlgItems
Lista wskaźników do elementów okna dialogowego, które są kontrolkami ActiveX.
Wartość zwracana
Wskaźnik do struktury szablonu okna dialogowego zawierającej tylko kontrolki inne niż ActiveX. Jeśli nie ma żadnych kontrolek ActiveX, zwracana jest wartość NULL.
Uwagi
Jeśli zostaną znalezione jakiekolwiek kontrolki ActiveX, szablon zostanie przeanalizowany i zostanie utworzony nowy szablon zawierający tylko kontrolki inne niż ActiveX. Wszystkie kontrolki ActiveX znalezione podczas tego procesu są dodawane do elementu ppOleDlgItems.
Jeśli w szablonie nie ma kontrolek ActiveX, zwracana jest wartość NULL.
Uwaga
Pamięć przydzielona dla nowego szablonu jest zwalniana w PostCreateDialog
funkcji.
Zastąpi tę funkcję, aby dostosować ten proces.
Zobacz też
Wykres hierarchii
Klasa COleControlSite
Klasa COleControlContainer