Udostępnij za pośrednictwem


Formanty ActiveX MFC: Dodawanie właściwości zasobu

Właściwości zapasów różnią się od właściwości niestandardowe, już są one wykonywane przez klasę COleControl.COleControlzawiera funkcji wstępnie zdefiniowanych elementów członkowskich, obsługujących wspólnych właściwości formantu.Niektóre typowe właściwości zawierają kolory pierwszego planu i tła i tytuł formantu.Informacje na temat innych właściwości zasobów, zobacz Zapasów właściwości obsługiwane przez Kreatora dodawania właściwości w dalszej części tego artykułu.Wpisy mapy wysyłki dla właściwości zapasów są zawsze poprzedzone prefiksem 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ą:

  • Dodawanie właściwości zapasów przy użyciu Kreatora dodawania właściwości

  • Dodawanie właściwości Kreatora zmiany właściwości zapasów

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

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

  • Właściwości kolorów

    [!UWAGA]

    Niestandardowe formanty Visual Basic zazwyczaj mają właściwości, takie jak u góry, po lewej stronie, szerokość, wysokość, Wyrównaj, znacznik, nazwa, TabIndex, TabStop i nadrzędnej.Pojemniki formantu ActiveX, jednak są odpowiedzialne za realizację tych właściwości formantu i formanty ActiveX nie powinny zatem obsługi tych właściwości.

Za pomocą dodać właściwości kreatora, aby dodać właściwości zasobu

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 RAM formantu ActiveX i można również dodać inne właściwości zapasów.Podstaw nazwę wybranej właściwości zapasów podpis.

Aby dodać właściwość Caption zapasów przy użyciu Kreatora dodawania właściwości

  1. Załadować projekt programu kontroli.

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

  3. Kliknij prawym przyciskiem myszy węzeł interfejsu dla formantu (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 Caption.

  6. Kliknij Zakończ.

Dodawanie właściwości Kreatora zmiany właściwości zasobu

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

DISP_STOCKPROP_CAPTION()

Aby opis interfejsu użytkownika kontroli dodaje się następujący wiersz (.Plik IDL):

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

Ten wiersz przypisuje właściwości 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 rozpoczęciem modyfikowania wartości.

Spowoduje to udostępnienie właściwości Caption użytkownikom formantu.Aby użyć wartości właściwości zapasów, dostęp zmienną lub funkcji Członkowskich COleControl klasa podstawowa.Aby uzyskać więcej informacji o tych zmiennych i funkcji elementów członkowskich Zobacz następnej sekcji zapasów właściwości obsługiwane przez Kreatora dodawania właściwości.

Podstawowy właściwości obsługiwane przez właściwość Kreatora dodawania

COleControl Klasy zapewnia dziewięciu 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ść

Wpisu mapy wysyłki

Jak uzyskać dostęp do wartości

Wygląd

(DISP_STOCKPROP_APPEARANCE)

Wartości dostępne jako m_sAppearance.

BackColor

(DISP_STOCKPROP_BACKCOLOR)

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

BorderStyle

(DISP_STOCKPROP_BORDERSTYLE)

Wartości dostępne jako m_sBorderStyle.

Podpis

(DISP_STOCKPROP_CAPTION)

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

Włączone

(DISP_STOCKPROP_ENABLED)

Wartości dostępne jako m_bEnabled.

Czcionka

(DISP_STOCKPROP_FONT)

Zobacz artykuł formantów ActiveX MFC: przy użyciu czcionki sposób użycia.

ForeColor

(DISP_STOCKPROP_FORECOLOR)

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

hWnd

(DISP_STOCKPROP_HWND)

Wartości dostępne jako m_hWnd.

Tekst

(DISP_STOCKPROP_TEXT)

Wartości dostępne przez wywołanie InternalGetText.Ta właściwość jest taki sam, jak Caption, z wyjątkiem dla nazwy właściwości.

ReadyState

DISP_STOCKPROP_READYSTATE()

Wartości dostępne jako m_lReadyState lubGetReadyState

Podstawowy właściwości i powiadomienia

Większość właściwości zapasów ma funkcje powiadomień, które mogą zostać zastąpione.Na przykład, gdy BackColor zmienić właściwości, OnBackColorChanged wywoływana jest funkcja (funkcja Członkowskie klasy control).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 kolorów

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

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

Następujący przykład demonstruje użycie właściwości tych dwóch kolorów, malując formantu.Inicjuje on tymczasowy COLORREF zmiennej i CBrush obiekt z wywołania TranslateColor:, używając ForeColor właściwości i inne using BackColor właściwości.Tymczasowy CBrush obiekt jest następnie używany do malowania formantu prostokąt i 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 ActiveX MFC

Formanty ActiveX MFC: właściwości

Formanty ActiveX MFC: metody