Udostępnij za pośrednictwem


Formanty MFC ActiveX: dodawanie właściwości standardowych

Właściwości zapasów różnią się od właściwości niestandardowych, że są one już wykonywane przez klasę COleControl.COleControlzawiera funkcji wstępnie zdefiniowanych elementów członkowskich, które obsługują typowe właściwości dla formantu.Niektóre typowe właściwości obejmują Podpis formantu i kolory pierwszego planu i tła.Aby uzyskać informacje dotyczące innych właściwości zapasów, zobacz Magazynie właściwości obsługiwane przez Kreatora dodawania właściwości opisaną w tym artykule.Wpisy map wysyłki dla właściwości zapasów są zawsze poprzedzone DISP_STOCKPROP.

W tym artykule opisano sposób dodawania właściwości zapasów (w tym przypadku podpis) do formantu ActiveX za pomocą Kreatora dodawania właściwości i wyjaśnia wynikające z niego modyfikacje kodu.Tematy obejmują:

  • Za pomocą Kreatora dodawania właściwości, aby dodać właściwość zapasów

  • Dodawanie zmian Kreator właściwości dla właściwości zapasów

  • Właściwości akcji obsługiwane przez Kreatora dodawania właściwości

  • Właściwości zapasów i powiadomienia

  • Właściwości koloru

    [!UWAGA]

    Niestandardowe formanty Visual Basic zazwyczaj mają właściwości, takie jak górnej, lewej, szerokość, wysokość, Wyrównaj, Tag, nazwa, TabIndex, TabStop i nadrzędnej.Pojemniki formantu ActiveX, jednak są odpowiedzialne za wykonanie tych właściwości formantu i dlatego formantów ActiveX powinien obsługuje te właściwości.

Za pomocą dodać właściwość kreatora, aby dodać właściwość zapasów

Dodawanie właściwości zapasów wymaga mniejszej ilości kodu niż dodanie właściwości niestandardowych, ponieważ obsługa właściwość jest obsługiwane automatycznie przez COleControl.Poniższa procedura ilustruje dodanie zapasów właściwości Caption dla ram formantu ActiveX i można również dodać inne właściwości zapasów.Podstawić nazwę wybranej akcji właściwości podpisu.

Aby dodać właściwości Caption podstawowego za pomocą Kreatora dodawania właściwości

  1. Załaduj projekt z kontroli.

  2. W widoku klasy rozwiń węzeł Biblioteka pilota.

  3. Kliknij prawym przyciskiem myszy węzeł interfejsu kontrolnej (drugiego węzła węzeł biblioteki), aby otworzyć menu skrótów.

  4. W menu skrótów kliknij polecenie Dodaj i kliknij przycisk Dodaj właściwość.

    Spowoduje to otwarcie Kreatora dodawania właściwości.

  5. W Nazwa właściwości kliknij przycisk Podpis.

  6. Kliknij Zakończ.

Dodawanie zmian kreatora właściwości dla właściwości zapasów

Ponieważ COleControl obsługuje właściwości zapasów, Kreator dodawania właściwości nie powoduje zmiany deklaracji klasy w jakikolwiek sposób; Dodaje właściwość mapę wysyłki.Kreator dodawania właściwości dodaje następujący wiersz do formantu, który znajduje się w wykonaniu mapy wysyłki (.Plik CPP):

DISP_STOCKPROP_CAPTION()

Dodaje się następujący wiersz, aby opis interfejsu użytkownika kontroli (.Plik IDL):

[id(DISPID_CAPTION), helpstring("property Caption")] BSTR Caption;

Ten wiersz przypisuje właociwooć Caption określonym identyfikatorem.Należy zauważyć, że właściwość jest które można powiązać i będzie zażądać uprawnienia z bazy danych przed modyfikacją wartości.

Dzięki temu Właściwość Caption dostępne dla użytkowników pilota.Aby użyć wartość właściwości zapasów, dostęp do zmiennej członkowskiej lub funkcji członka z COleControl klasa podstawowa.Aby uzyskać więcej informacji na temat tych zmiennych składowych i funkcji elementów członkowskich Zobacz następnej sekcji, w magazynie właściwości obsługiwane przez Kreatora dodawania właściwości.

Pień właściwości obsługiwane przez właściwość Kreator dodawania

COleControl Klasa udostępnia dziewięć właściwości zapasów.Można dodać właściwości, które mają za pomocą Kreatora dodawania właściwości.

Właściwość

Wpis mapy wysyłki

Jak uzyskać dostęp do wartości

Wygląd

(DISP_STOCKPROP_APPEARANCE)

Dostępny jako wartość m_sAppearance.

BackColor

(DISP_STOCKPROP_BACKCOLOR)

Wartości dostępne poprzez wywołanie GetBackColor.

BorderStyle

(DISP_STOCKPROP_BORDERSTYLE)

Dostępny jako wartość m_sBorderStyle.

Podpis

(DISP_STOCKPROP_CAPTION)

Wartości dostępne poprzez wywołanie InternalGetText.

Włączony

(DISP_STOCKPROP_ENABLED)

Dostępny jako wartość m_bEnabled.

Czcionka

(DISP_STOCKPROP_FONT)

Zapoznaj się z artykułem formantów ActiveX MFC: czcionki za pomocą aby zobaczyć sposób użycia.

ForeColor

(DISP_STOCKPROP_FORECOLOR)

Wartości dostępne poprzez wywołanie GetForeColor.

hWnd

(DISP_STOCKPROP_HWND)

Dostępny jako wartość m_hWnd.

Tekst

(DISP_STOCKPROP_TEXT)

Wartości dostępne poprzez wywołanie InternalGetText.Ta właściwość jest taka sama, jak Podpis, z wyjątkiem nazwy właściwości.

ReadyState

DISP_STOCKPROP_READYSTATE()

Wartość dostępny jako m_lReadyState lubGetReadyState

Właściwości zapasów i powiadomienia

Większość właściwości zapasów mają funkcje powiadomienie, które może zostać zastąpiona.Na przykład, gdy BackColor zmienić właściwość, OnBackColorChanged wywoływana jest funkcja (funkcję członka klasy kontroli).Domyślna implementacja (w COleControl) wywołania InvalidateControl.Zastąpić tę funkcję, jeśli chcesz podjąć dodatkowe działania w odpowiedzi na tę sytuację.

Właściwości koloru

Można użyć akcji ForeColor i BackColor właściwości lub własne właściwości kolor niestandardowy, malując formantu.Aby użyć właściwości koloru, call COleControl::TranslateColor funkcji składowej.Parametry tej funkcji są wartość właściwości kolor i dojście do palety opcjonalne.Wartość zwracana jest COLORREF wartości, który może zostać przekazany do interfejsu GDI funkcji, takich jak SetTextColor i CreateSolidBrush.

Wartości kolorów dla trzody ForeColor i BackColor właściwości są dostępne przez wywołanie albo GetForeColor lub GetBackColor funkcjonować, odpowiednio.

Poniższy przykład demonstruje użycie właściwości tych dwóch kolorów, malując formantu.Inicjuje on tymczasowego COLORREF zmiennej i CBrush obiektu z wywołaniami TranslateColor: jeden za pomocą ForeColor właściwość i innych za pomocą BackColor właściwość.Tymczasowego CBrush obiekt jest następnie używany do malowania formantu prostokąt, a kolor tekstu jest ustawiona za pomocą ForeColor właściwości.

CBrush bkBrush(TranslateColor(GetBackColor()));
COLORREF clrFore = TranslateColor(GetForeColor());
pdc->FillRect(rcBounds, &bkBrush);
pdc->SetTextColor(clrFore);
pdc->DrawText(InternalGetText(), -1, rcBounds, DT_SINGLELINE | DT_CENTER | DT_VCENTER);

Zobacz też

Informacje

Klasa COleControl

Koncepcje

Formanty MFC ActiveX

Formanty MFC ActiveX: właściwości

Formanty MFC ActiveX: metody