Uwaga
Dostęp do tej strony wymaga autoryzacji. Może spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Działa jako kontener kontrolek dla kontrolek ActiveX.
Składnia
class COleControlContainer : public CCmdTarget
Elementy członkowskie
Konstruktory publiczne
Nazwa/nazwisko | opis |
---|---|
COleControlContainer::COleControlContainer | COleControlContainer Tworzy obiekt. |
Metody publiczne
Nazwa/nazwisko | opis |
---|---|
COleControlContainer::AttachControlSite | Tworzy lokację sterowania hostowaną przez kontener. |
COleControlContainer::BroadcastAmbientPropertyChange | Informuje wszystkie hostowane kontrolki o zmianie właściwości otoczenia. |
COleControlContainer::CheckDlgButton | Modyfikuje określoną kontrolkę przycisku. |
COleControlContainer::CheckRadioButton | Wybiera określony przycisk radiowy grupy. |
COleControlContainer::CreateControl | Tworzy hostowaną kontrolkę ActiveX. |
COleControlContainer::CreateOleFont | Tworzy czcionkę OLE. |
COleControlContainer::FindItem | Zwraca witrynę niestandardową określonej kontrolki. |
COleControlContainer::FreezeAllEvents | Określa, czy lokacja sterowania akceptuje zdarzenia. |
COleControlContainer::GetAmbientProp | Pobiera określoną właściwość otoczenia. |
COleControlContainer::GetDlgItem | Pobiera określoną kontrolkę okna dialogowego. |
COleControlContainer::GetDlgItemInt | Pobiera wartość określonej kontrolki okna dialogowego. |
COleControlContainer::GetDlgItemText | Pobiera podpis określonej kontrolki okna dialogowego. |
COleControlContainer::HandleSetFocus | Określa, czy kontener obsługuje komunikaty WM_SETFOCUS. |
COleControlContainer::HandleWindowlessMessage | Obsługuje komunikaty wysyłane do kontrolki bez okien. |
COleControlContainer::IsDlgButtonChecked | Określa stan określonego przycisku. |
COleControlContainer::OnPaint | Wywoływana w celu przemalowania części kontenera. |
COleControlContainer::OnUIActivate | Wywoływana, gdy kontrolka ma być aktywowana w miejscu. |
COleControlContainer::OnUIDeactivate | Wywoływana, gdy kontrolka ma zostać zdezaktywowana. |
COleControlContainer::ScrollChildren | Wywoływana przez platformę podczas odbierania komunikatów przewijania z okna podrzędnego. |
COleControlContainer::SendDlgItemMessage | Wysyła komunikat do określonej kontrolki. |
COleControlContainer::SetDlgItemInt | Ustawia wartość określonej kontrolki. |
COleControlContainer::SetDlgItemText | Ustawia tekst określonej kontrolki. |
Publiczne elementy członkowskie danych
Nazwa/nazwisko | opis |
---|---|
COleControlContainer::m_crBack | Kolor tła kontenera. |
COleControlContainer::m_crFore | Kolor pierwszego planu kontenera. |
COleControlContainer::m_listSitesOrWnds | Lista obsługiwanych lokacji kontrolnych. |
COleControlContainer::m_nWindowlessControls | Liczba hostowanych kontrolek bez okien. |
COleControlContainer::m_pOleFont | Wskaźnik do czcionki OLE niestandardowej witryny sterowania. |
COleControlContainer::m_pSiteCapture | Wskaźnik do lokacji kontroli przechwytywania. |
COleControlContainer::m_pSiteFocus | Wskaźnik do kontrolki, która obecnie ma fokus wejściowy. |
COleControlContainer::m_pSiteUIActive | Wskaźnik do kontrolki, która jest obecnie aktywowana w miejscu. |
COleControlContainer::m_pWnd | Wskaźnik do okna implementowania kontenera sterowania. |
COleControlContainer::m_siteMap | Mapa witryny. |
Uwagi
Jest to realizowane przez zapewnienie obsługi co najmniej jednej lokacji kontrolek ActiveX (zaimplementowanej przez COleControlSite
program ). COleControlContainer
w pełni implementuje interfejsy IOleInPlaceFrame i IOleContainer , dzięki czemu zawarte kontrolki ActiveX spełniają swoje kwalifikacje jako elementy w miejscu.
Często ta klasa jest używana w połączeniu z COccManager
COleControlSite
i do implementowania niestandardowego kontenera kontrolek ActiveX z lokacjami niestandardowymi dla co najmniej jednego formantu ActiveX.
Hierarchia dziedziczenia
COleControlContainer
Wymagania
Nagłówek: afxocc.h
COleControlContainer::AttachControlSite
Wywoływana przez platformę w celu utworzenia i dołączenia lokacji sterowania.
virtual void AttachControlSite(
CWnd* pWnd,
UINT nIDC = 0);
void AttachControlSite(
CWnd* pWnd,
UINT nIDC = 0);
Parametry
pWnd
Wskaźnik do CWnd
obiektu.
NIDC
Identyfikator kontrolki do dołączenia.
Uwagi
Zastąpi tę funkcję, jeśli chcesz dostosować ten proces.
Uwaga
Użyj pierwszej formy tej funkcji, jeśli statycznie łączysz się z biblioteką MFC. Użyj drugiego formularza, jeśli dynamicznie łączysz się z biblioteką MFC.
COleControlContainer::BroadcastAmbientPropertyChange
Informuje wszystkie hostowane kontrolki o zmianie właściwości otoczenia.
virtual void BroadcastAmbientPropertyChange(DISPID dispid);
Parametry
dispid
Identyfikator wysyłki zmienianej właściwości otoczenia.
Uwagi
Ta funkcja jest wywoływana przez strukturę, gdy właściwość otoczenia zmieniła wartość. Zastąpi tę funkcję, aby dostosować to zachowanie.
COleControlContainer::CheckDlgButton
Modyfikuje bieżący stan przycisku.
virtual void CheckDlgButton(
int nIDButton,
UINT nCheck);
Parametry
nIDButton
Identyfikator przycisku, który ma zostać zmodyfikowany.
nZnacz
Określa stan przycisku. Może być jednym z następujących elementów:
BST_CHECKED Ustawia stan przycisku do sprawdzenia.
BST_INDETERMINATE Ustawia stan przycisku na szary, wskazując nieokreślony stan. Użyj tej wartości tylko wtedy, gdy przycisk ma styl BS_3STATE lub BS_AUTO3STATE.
BST_UNCHECKED Ustawia stan przycisku do wyczyszczenia.
COleControlContainer::CheckRadioButton
Wybiera określony przycisk radiowy w grupie i czyści pozostałe przyciski w grupie.
virtual void CheckRadioButton(
int nIDFirstButton,
int nIDLastButton,
int nIDCheckButton);
Parametry
nIDFirstButton
Określa identyfikator pierwszego przycisku radiowego w grupie.
nIDLastButton
Określa identyfikator ostatniego przycisku radiowego w grupie.
nIDCheckButton
Określa identyfikator przycisku radiowego do sprawdzenia.
COleControlContainer::COleControlContainer
COleControlContainer
Tworzy obiekt.
explicit COleControlContainer(CWnd* pWnd);
Parametry
pWnd
Wskaźnik do okna nadrzędnego kontenera sterowania.
Uwagi
Po pomyślnym utworzeniu obiektu dodaj niestandardową lokację sterowania z wywołaniem metody AttachControlSite
.
COleControlContainer::CreateControl
Tworzy kontrolkę ActiveX hostowaną przez określony COleControlSite
obiekt.
BOOL CreateControl(
CWnd* pWndCtrl,
REFCLSID clsid,
LPCTSTR lpszWindowName,
DWORD dwStyle,
const RECT& rect,
UINT nID,
CFile* pPersist =NULL,
BOOL bStorage =FALSE,
BSTR bstrLicKey =NULL,
COleControlSite** ppNewSite =NULL);
BOOL CreateControl(
CWnd* pWndCtrl,
REFCLSID clsid,
LPCTSTR lpszWindowName,
DWORD dwStyle,
const POINT* ppt,
const SIZE* psize,
UINT nID,
CFile* pPersist =NULL,
BOOL bStorage =FALSE,
BSTR bstrLicKey =NULL,
COleControlSite** ppNewSite =NULL);
Parametry
pWndCtrl
Wskaźnik do obiektu okna reprezentującego kontrolkę.
clsid
Unikatowy identyfikator klasy kontrolki.
lpszWindowName
Wskaźnik do tekstu, który ma być wyświetlany w kontrolce. Ustawia wartość właściwości Caption lub Text kontrolki (jeśli istnieje). Jeśli wartość NULL, właściwość Caption lub Text kontrolki nie zostanie zmieniona.
dwStyle
Style systemu Windows. Dostępne style są wymienione w sekcji Uwagi .
Rect
Określa rozmiar i położenie kontrolki. Może to być CRect
obiekt lub RECT
struktura.
Nid
Określa identyfikator okna podrzędnego kontrolki.
pPersist
Wskaźnik zawierający CFile
stan trwały dla kontrolki. Wartość domyślna to NULL, co oznacza, że kontrolka inicjuje się bez przywracania stanu z dowolnego magazynu trwałego. Jeśli nie ma wartości NULL, powinien to być wskaźnik do obiektu pochodnego CFile
zawierającego trwałe dane kontrolki w postaci strumienia lub magazynu. Te dane mogły zostać zapisane w poprzedniej aktywacji klienta. Element CFile
może zawierać inne dane, ale musi mieć ustawiony wskaźnik odczytu i zapisu na pierwszy bajt danych trwałych w momencie wywołania metody CreateControl
.
bStorage
Wskazuje, czy dane w narzędziu pPersist powinny być interpretowane jako IStorage
lub IStream
dane. Jeśli dane w narzędziu pPersist są magazynem, funkcja bStorage powinna mieć wartość TRUE. Jeśli dane w narzędziu pPersist są strumieniem, funkcja bStorage powinna mieć wartość FALSE. Wartość domyślna to FALSE.
bstrLicKey
Opcjonalne dane klucza licencji. Te dane są potrzebne tylko do tworzenia kontrolek, które wymagają klucza licencji w czasie wykonywania. Jeśli kontrolka obsługuje licencjonowanie, musisz podać klucz licencji, aby tworzenie kontrolki powiodło się. Wartość domyślna to NULL.
ppNewSite
Wskaźnik do istniejącej lokacji sterowania, która będzie hostować tworzoną kontrolkę. Wartość domyślna to NULL, co oznacza, że nowa lokacja sterowania zostanie automatycznie utworzona i dołączona do nowej kontrolki.
Ppt
Wskaźnik do POINT
struktury zawierającej lewy górny róg kontrolki. Rozmiar kontrolki jest określany przez wartość psize. Wartości ppt i psize są opcjonalną metodą określania rozmiaru i położenia kontrolki.
rozmiar psize
Wskaźnik do SIZE
struktury zawierającej rozmiar kontrolki. Lewy górny róg jest określany przez wartość ppt. Wartości ppt i psize są opcjonalną metodą określania rozmiaru i położenia kontrolki.
Wartość zwracana
Bezzerowe, jeśli się powiedzie; w przeciwnym razie 0.
Uwagi
Obsługiwane są tylko podzestaw flagi Windows dwStyle:CreateControl
WS_VISIBLE Tworzy okno, które jest początkowo widoczne. Wymagane, jeśli kontrolka ma być widoczna natychmiast, na przykład zwykłe okna.
WS_DISABLED Tworzy okno, które jest początkowo wyłączone. Wyłączone okno nie może odbierać danych wejściowych od użytkownika. Można ustawić, jeśli kontrolka ma właściwość Enabled.
WS_BORDER Tworzy okno z obramowaniem cienkim. Można ustawić, jeśli kontrolka ma właściwość BorderStyle.
WS_GROUP Określa pierwszą kontrolkę grupy kontrolek. Użytkownik może zmienić fokus klawiatury z jednej kontrolki w grupie na następną, używając kierunkowych. Wszystkie kontrolki zdefiniowane za pomocą stylu WS_GROUP po pierwszym kontrolce należą do tej samej grupy. Następna kontrolka ze stylem WS_GROUP kończy grupę i uruchamia następną grupę.
WS_TABSTOP Określa kontrolkę, która może odbierać fokus klawiatury, gdy użytkownik naciska TAB. Naciśnięcie TAB powoduje zmianę fokusu klawiatury na następną kontrolkę stylu WS_TABSTOP.
Użyj drugiego przeciążenia, aby utworzyć kontrolki o domyślnym rozmiarze.
COleControlContainer::CreateOleFont
Tworzy czcionkę OLE.
void CreateOleFont(CFont* pFont);
Parametry
pFont
Wskaźnik do czcionki, która ma być używana przez kontener sterowania.
COleControlContainer::FindItem
Znajduje witrynę niestandardową, która hostuje określony element.
virtual COleControlSite* FindItem(UINT nID) const;
Parametry
Nid
Identyfikator elementu, który ma zostać znaleziony.
Wartość zwracana
Wskaźnik do niestandardowej witryny określonego elementu.
COleControlContainer::FreezeAllEvents
Określa, czy kontener zignoruje zdarzenia z dołączonych lokacji kontrolnych lub je zaakceptuje.
void FreezeAllEvents(BOOL bFreeze);
Parametry
bFreeze
Niezerowe, jeśli zdarzenia zostaną przetworzone; w przeciwnym razie 0.
Uwagi
Uwaga
Kontrolka nie jest wymagana do zatrzymania wyzwalania zdarzeń, jeśli jest to wymagane przez kontener sterowania. Może on kontynuować uruchamianie, ale wszystkie kolejne zdarzenia zostaną zignorowane przez kontener sterowania.
COleControlContainer::GetAmbientProp
Pobiera wartość określonej właściwości otoczenia.
virtual BOOL GetAmbientProp(
COleControlSite* pSite,
DISPID dispid,
VARIANT* pvarResult);
Parametry
Witryna pSite
Wskaźnik do lokacji sterowania, z której zostanie pobrana właściwość otoczenia.
dispid
Identyfikator wysyłki żądanej właściwości otoczenia.
pVarResult
Wskaźnik do wartości właściwości otoczenia.
Wartość zwracana
Bezzerowe, jeśli się powiedzie; w przeciwnym razie 0.
COleControlContainer::GetDlgItem
Pobiera wskaźnik do określonej kontrolki lub okna podrzędnego w oknie dialogowym lub innym oknie.
virtual CWnd* GetDlgItem(int nID) const;
virtual void GetDlgItem(
int nID,
HWND* phWnd) const;
Parametry
Nid
Identyfikator elementu okna dialogowego do pobrania.
phWnd
Wskaźnik do uchwytu określonego obiektu okna okna okna.
Wartość zwracana
Wskaźnik do okna elementu okna dialogowego.
COleControlContainer::GetDlgItemInt
Pobiera wartość przetłumaczonego tekstu danej kontrolki.
virtual UINT GetDlgItemInt(
int nID,
BOOL* lpTrans,
BOOL bSigned) const;
Parametry
Nid
Identyfikator kontrolki.
lpTrans
Wskaźnik do zmiennej logicznej, która odbiera wartość powodzenia/niepowodzenia funkcji (WARTOŚĆ TRUE wskazuje powodzenie, FAŁSZ wskazuje niepowodzenie).
bSigned
Określa, czy funkcja powinna zbadać tekst znaku minus na początku i zwrócić podpisaną wartość całkowitą, jeśli ją znajdzie. Jeśli parametr bSigned ma wartość TRUE, określając, że pobierana wartość to podpisana wartość całkowita, rzutuj wartość zwracaną int
na typ. Aby uzyskać rozszerzone informacje o błędzie, wywołaj metodę GetLastError.
Wartość zwracana
W przypadku powodzenia zmienna wskazywana przez lpTrans jest ustawiona na wartość TRUE, a wartość zwracana jest przetłumaczoną wartością tekstu kontrolki.
Jeśli funkcja zakończy się niepowodzeniem, zmienna wskazywana przez funkcję lpTrans jest ustawiona na WARTOŚĆ FALSE, a zwracana wartość to zero. Należy pamiętać, że ponieważ zero jest możliwą przetłumaczoną wartością, zwracana wartość zero nie wskazuje błędu.
Jeśli wartość lpTrans ma wartość NULL, funkcja nie zwraca żadnych informacji o powodzeniu lub niepowodzeniu.
Uwagi
Funkcja tłumaczy pobrany tekst, usuwając wszelkie dodatkowe spacje na początku tekstu, a następnie konwertując cyfry dziesiętne. Funkcja przestaje tłumaczyć, gdy osiągnie koniec tekstu lub napotka znak nieliczbowy.
Ta funkcja zwraca zero, jeśli przetłumaczona wartość jest większa niż INT_MAX (dla cyfr podpisanych) lub UINT_MAX (w przypadku niepodpisanych liczb).
COleControlContainer::GetDlgItemText
Pobiera tekst danej kontrolki.
virtual int GetDlgItemText(
int nID,
LPTSTR lpStr,
int nMaxCount) const;
Parametry
Nid
Identyfikator kontrolki.
lpStr
Wskaźnik do tekstu kontrolki.
nMaxCount
Określa maksymalną długość ciągu, w znakach, które mają być kopiowane do buforu wskazywanego przez lpStr. Jeśli długość ciągu przekroczy limit, ciąg zostanie obcięty.
Wartość zwracana
Jeśli funkcja powiedzie się, zwracana wartość określa liczbę znaków skopiowanych do buforu, a nie w tym znak null zakończenia.
Jeśli funkcja zakończy się niepowodzeniem, zwracana wartość to zero. Aby uzyskać rozszerzone informacje o błędzie, wywołaj metodę GetLastError.
COleControlContainer::HandleSetFocus
Określa, czy kontener obsługuje komunikaty WM_SETFOCUS.
virtual BOOL HandleSetFocus();
Wartość zwracana
Nonzero, jeśli kontener obsługuje WM_SETFOCUS komunikatów; w przeciwnym razie zero.
COleControlContainer::HandleWindowlessMessage
Przetwarza komunikaty okien dla kontrolek bez okien.
virtual BOOL HandleWindowlessMessage(
UINT message,
WPARAM wParam,
LPARAM lParam,
LRESULT* plResult);
Parametry
message
Identyfikator komunikatu okna dostarczonego przez system Windows.
wParam
Parametr komunikatu; dostarczane przez system Windows. Określa dodatkowe informacje specyficzne dla komunikatów. Zawartość tego parametru zależy od wartości parametru komunikatu.
lParam
Parametr komunikatu; dostarczane przez system Windows. Określa dodatkowe informacje specyficzne dla komunikatów. Zawartość tego parametru zależy od wartości parametru komunikatu.
plResult
Kod wyniku systemu Windows. Określa wynik przetwarzania komunikatów i zależy od wysłanego komunikatu.
Wartość zwracana
Bezzerowe, jeśli się powiedzie; w przeciwnym razie zero.
Uwagi
Zastąpij tę funkcję, aby dostosować obsługę komunikatów sterowania bez okien.
COleControlContainer::IsDlgButtonChecked
Określa stan określonego przycisku.
virtual UINT IsDlgButtonChecked(int nIDButton) const;
Parametry
nIDButton
Identyfikator kontrolki przycisku.
Wartość zwracana
Wartość zwracana na podstawie przycisku utworzonego za pomocą BS_AUTOCHECKBOX, BS_AUTORADIOBUTTON, BS_AUTO3STATE, BS_CHECKBOX, BS_RADIOBUTTON lub stylu BS_3STATE. Może być jednym z następujących elementów:
przycisk BST_CHECKED jest zaznaczony.
BST_INDETERMINATE Przycisk jest szary, wskazując nieokreślony stan (ma zastosowanie tylko wtedy, gdy przycisk ma styl BS_3STATE lub BS_AUTO3STATE).
BST_UNCHECKED Przycisk jest czyszczone.
Uwagi
Jeśli przycisk jest kontrolką trójstanową, funkcja składowa określa, czy jest wygaszona, sprawdzana, czy też nie.
COleControlContainer::m_crBack
Kolor tła kontenera.
COLORREF m_crBack;
COleControlContainer::m_crFore
Kolor pierwszego planu kontenera.
COLORREF m_crFore;
COleControlContainer::m_listSitesOrWnds
Lista lokacji sterujących hostowanych przez kontener.
CTypedPtrList<CPtrList, COleControlSiteOrWnd*> m_listSitesOrWnds;
COleControlContainer::m_nWindowlessControls
Liczba kontrolek bez okien hostowanych przez kontener sterowania.
int m_nWindowlessControls;
COleControlContainer::m_pOleFont
Wskaźnik do czcionki OLE niestandardowej witryny sterowania.
LPFONTDISP m_pOleFont;
COleControlContainer::m_pSiteCapture
Wskaźnik do lokacji kontroli przechwytywania.
COleControlSite* m_pSiteCapture;
COleControlContainer::m_pSiteFocus
Wskaźnik do lokacji sterowania, która obecnie ma fokus wejściowy.
COleControlSite* m_pSiteFocus;
COleControlContainer::m_pSiteUIActive
Wskaźnik do lokacji sterowania, która jest aktywowana w miejscu.
COleControlSite* m_pSiteUIActive;
COleControlContainer::m_pWnd
Wskaźnik do obiektu okna skojarzonego z kontenerem.
CWnd* m_pWnd;
COleControlContainer::m_siteMap
Mapa witryny.
CMapPtrToPtr m_siteMap;
COleControlContainer::OnPaint
Wywoływana przez platformę do obsługi żądań WM_PAINT.
virtual BOOL OnPaint(CDC* pDC);
Parametry
PDC
Wskaźnik do kontekstu urządzenia używanego przez kontener.
Wartość zwracana
Nonzero, jeśli komunikat został obsłużony; w przeciwnym razie zero.
Uwagi
Zastąpi tę funkcję, aby dostosować proces malowania.
COleControlContainer::OnUIActivate
Wywoływana przez platformę, gdy lokacja sterowania wskazywana przez lokację pSite ma zostać aktywowana w miejscu.
virtual void OnUIActivate(COleControlSite* pSite);
Parametry
Witryna pSite
Wskaźnik do lokacji sterowania, który ma być aktywowany w miejscu.
Uwagi
Aktywacja w miejscu oznacza, że menu główne kontenera jest zastępowane menu złożone w miejscu.
COleControlContainer::OnUIDeactivate
Wywoływana przez platformę, gdy lokacja sterowania wskazywana przez lokację pSite ma zostać zdezaktywowana.
virtual void OnUIDeactivate(COleControlSite* pSite);
Parametry
Witryna pSite
Wskaźnik do lokacji sterowania, który ma zostać zdezaktywowany.
Uwagi
Po odebraniu tego powiadomienia kontener powinien ponownie zainstalować interfejs użytkownika i skupić się na tym.
COleControlContainer::ScrollChildren
Wywoływana przez platformę podczas odbierania komunikatów przewijania z okna podrzędnego.
virtual void ScrollChildren(
int dx,
int dy);
Parametry
Dx
Ilość w pikselach przewijania wzdłuż osi x.
Dy
Ilość w pikselach przewijania wzdłuż osi y.
COleControlContainer::SendDlgItemMessage
Wysyła komunikat do określonej kontrolki.
virtual LRESULT SendDlgItemMessage(
int nID,
UINT message,
WPARAM wParam,
LPARAM lParam);
Parametry
Nid
Określa identyfikator kontrolki, która odbiera komunikat.
message
Określa komunikat do wysłania.
wParam
Określa dodatkowe informacje specyficzne dla komunikatów.
lParam
Określa dodatkowe informacje specyficzne dla komunikatów.
COleControlContainer::SetDlgItemInt
Ustawia tekst kontrolki w oknie dialogowym na ciąg reprezentujący określoną wartość całkowitą.
virtual void SetDlgItemInt(
int nID,
UINT nValue,
BOOL bSigned);
Parametry
Nid
Identyfikator kontrolki.
nValue
Wartość całkowita, która ma być wyświetlana.
bSigned
Określa, czy parametr nValue jest podpisany, czy niepodpisany. Jeśli ten parametr ma wartość TRUE, parametr nValue jest podpisany. Jeśli ten parametr ma wartość TRUE, a wartość nValue jest mniejsza niż zero, znak minus zostanie umieszczony przed pierwszą cyfrą w ciągu. Jeśli ten parametr ma wartość FALSE, nValue jest niepodpisany.
COleControlContainer::SetDlgItemText
Ustawia tekst określonej kontrolki przy użyciu tekstu zawartego w lpszString.
virtual void SetDlgItemText(
int nID,
LPCTSTR lpszString);
Parametry
Nid
Identyfikator kontrolki.
lpszString
Wskaźnik do tekstu kontrolki.
Zobacz też
Klasa CCmdTarget
Wykres hierarchii
Klasa COleControlSite
Klasa COccManager