MFC – ovládací prvky ActiveX: Přidání uložených vlastností
Vlastnosti akcií se liší od vlastních vlastností v tom, že jsou již implementovány třídou COleControl
. COleControl
obsahuje předdefinované členské funkce, které podporují společné vlastnosti ovládacího prvku. Mezi běžné vlastnosti patří popis ovládacího prvku a barvy popředí a pozadí. Informace o dalších vlastnostech akcií naleznete v části Vlastnosti akcie podporované Průvodce přidáním vlastnosti dále v tomto článku. Položky mapy odeslání pro vlastnosti akcií jsou vždy předponou DISP_STOCKPROP.
Tento článek popisuje, jak přidat akciovou vlastnost (v tomto případě Titulek) do ovládacího prvku technologie ActiveX pomocí Průvodce přidáním vlastnosti a vysvětluje výsledné úpravy kódu. Témata:
-
Poznámka
Vlastní ovládací prvky Jazyka Visual Basic mají obvykle vlastnosti, jako je Horní, Levý, Šířka, Výška, Zarovnat, Značka, Název, TabIndex, TabStop a Parent. technologie ActiveX kontejnery ovládacích prvků však zodpovídají za implementaci těchto vlastností ovládacího prvku, a proto technologie ActiveX ovládací prvky by tyto vlastnosti neměly podporovat.
Přidání vlastnosti pomocí Průvodce přidáním vlastnosti
Přidání vlastností akcií vyžaduje méně kódu než přidání vlastních vlastností, protože podpora vlastnosti je zpracována automaticky COleControl
. Následující postup ukazuje přidání vlastnosti stock Caption do technologie ActiveX řídicího rozhraní a lze také použít k přidání dalších vlastností akcií. Nahraďte název vybrané skladové vlastnosti titulkem.
Přidání vlastnosti Titulek akcií pomocí Průvodce přidáním vlastnosti
Načtěte projekt ovládacího prvku.
V zobrazení tříd rozbalte uzel knihovny ovládacího prvku.
Kliknutím pravým tlačítkem myši na uzel rozhraní ovládacího prvku (druhý uzel uzlu knihovny) otevřete místní nabídku.
V místní nabídce klepněte na tlačítko Přidat a potom klepněte na tlačítko Přidat vlastnost.
Tím se otevře Průvodce přidáním vlastnosti.
V poli Název vlastnosti klikněte na titulek.
Klikněte na Finish (Dokončit).
Změny průvodce přidáním vlastností pro stock vlastnosti
Protože COleControl
podporuje skladové vlastnosti, Průvodce přidáním vlastnosti nezmění deklaraci třídy žádným způsobem; přidá vlastnost do mapy dispečer. Průvodce přidáním vlastnosti přidá následující řádek do mapy odeslání ovládacího prvku, který je umístěn v implementaci (. CPP) soubor:
DISP_STOCKPROP_CAPTION()
Následující řádek se přidá do popisu rozhraní ovládacího prvku (. IDL) soubor:
[id(DISPID_CAPTION), helpstring("property Caption")] BSTR Caption;
Tento řádek přiřadí vlastnost Titulek konkrétní ID. Všimněte si, že vlastnost je vázána a před úpravou hodnoty požádá o oprávnění z databáze.
Tím zpřístupníte vlastnost Titulek uživatelům vašeho ovládacího prvku. Pokud chcete použít hodnotu burzovní vlastnosti, získejte přístup k členské proměnné nebo členské funkci COleControl
základní třídy. Další informace o těchto členských proměnných a členských funkcích naleznete v další části Stock Properties Supported by the Add Property Wizard.
Stock Properties Supported by the Add Property Wizard
Třída COleControl
poskytuje devět skladových vlastností. Vlastnosti, které chcete přidat, můžete přidat pomocí Průvodce přidáním vlastnosti.
Vlastnost | Položka mapy odeslání | Přístup k hodnotě |
---|---|---|
Appearance |
DISP_STOCKPROP_APPEARANCE( ) | Hodnota je přístupná jako m_sAppearance . |
BackColor |
DISP_STOCKPROP_BACKCOLOR( ) | Hodnota je přístupná voláním GetBackColor . |
BorderStyle |
DISP_STOCKPROP_BORDERSTYLE( ) | Hodnota je přístupná jako m_sBorderStyle . |
Caption |
DISP_STOCKPROP_CAPTION( ) | Hodnota je přístupná voláním InternalGetText . |
Enabled |
DISP_STOCKPROP_ENABLED( ) | Hodnota je přístupná jako m_bEnabled . |
Font |
DISP_STOCKPROP_FONT( ) | Viz článek MFC technologie ActiveX ovládací prvky: Použití písem pro použití. |
ForeColor |
DISP_STOCKPROP_FORECOLOR( ) | Hodnota je přístupná voláním GetForeColor . |
hWnd |
DISP_STOCKPROP_HWND( ) | Hodnota je přístupná jako m_hWnd . |
Text |
DISP_STOCKPROP_TEXT( ) | Hodnota je přístupná voláním InternalGetText . Tato vlastnost je stejná jako Caption , s výjimkou názvu vlastnosti. |
ReadyState |
DISP_STOCKPROP_READYSTATE() | Hodnota přístupná jako m_lReadyState nebo GetReadyState |
Vlastnosti akcií a oznámení
Většina vlastností akcií má funkce oznámení, které je možné přepsat. Například při každé BackColor
změně OnBackColorChanged
vlastnosti je volána funkce (členová funkce třídy ovládacího prvku). Výchozí implementace (v COleControl
) volání InvalidateControl
. Tuto funkci přepište, pokud chcete v reakci na tuto situaci provést další akce.
Vlastnosti barvy
Při malování ovládacího prvku můžete použít skladové ForeColor
a BackColor
vlastnosti nebo vlastní vlastnosti barvy. Chcete-li použít barevnou vlastnost, zavolejte COleControl::TranslateColor členské funkce. Parametry této funkce jsou hodnota vlastnosti barvy a volitelný popisovač palety. Návratová hodnota je hodnota COLORREF , kterou lze předat funkcím GDI, jako SetTextColor
je například a CreateSolidBrush
.
Hodnoty barev pro akcie ForeColor
a BackColor
vlastnosti jsou přístupné voláním GetForeColor
funkce nebo GetBackColor
funkce.
Následující příklad ukazuje použití těchto dvou barevných vlastností při malování ovládacího prvku. Inicializuje dočasnou proměnnou COLORREF a CBrush
objekt s voláními TranslateColor
: jeden pomocí ForeColor
vlastnosti a druhý pomocí BackColor
vlastnosti. Dočasný CBrush
objekt se pak použije k vykreslení obdélníku ovládacího prvku a barva textu je nastavena pomocí ForeColor
vlastnosti.
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);
Viz také
MFC – ovládací prvky ActiveX
MFC – ovládací prvky ActiveX: Vlastnosti
MFC – ovládací prvky ActiveX: Metody
COleControl – třída