MFC – ovládací prvky ActiveX: Přidání uložených vlastností
Uložené vlastnosti se liší od vlastních vlastností, že jsou již implementované třídou COleControl.COleControlobsahuje předdefinované členské funkce, které podporují společné vlastnosti pro ovládací prvek.Některé společné vlastnosti patří titulek ovládacího prvku a barvy popředí a pozadí.Informace o dalších vlastnostech akcií naleznete v tématu Populace podporuje vlastnosti Průvodce přidáním vlastnosti dále v tomto článku.Odeslání položek mapování pro uložené vlastnosti vždy předchází DISP_STOCKPROP.
Tento článek popisuje, jak přidat ovládací prvek ActiveX pomocí Průvodce přidáním vlastnosti uloženou vlastnost (v tomto případě titulku) a vysvětluje výsledné úpravy kódu.Témata zahrnují:
Chcete-li přidat uloženou vlastnost pomocí Průvodce přidáním vlastnosti
Přidat vlastnost průvodce změny uložené vlastnosti
Uložené vlastnosti podporované pomocí Průvodce přidáním vlastnosti
Uložené vlastnosti a oznámení
Vlastnosti barvy
[!POZNÁMKA]
Vlastní ovládací prvky jazyka Visual Basic obvykle mají nahoře, vlevo, šířka, výška, zarovnat, značky, název, TabIndex, přístup klávesou tabelátor a nadřazené vlastnosti.Kontejnerech ovládacího prvku ActiveX, jsou odpovědné za provádění těchto vlastností ovládacího prvku, a proto by neměly tyto vlastnosti podpora ovládacích prvků ActiveX.
Použití Průvodce přidáním vlastnosti lze přidat vlastnost akcií
Přidání vlastností zásob vyžaduje méně kódu než přidání vlastních vlastností, protože podpora pro vlastnost je zpracována automaticky podle COleControl.Následující postup ukazuje přidání akcií vlastnost titulek framework ovládací prvek technologie ActiveX a lze také přidat další vlastnosti akcií.Nahraďte název vybranému akcií vlastnost titulek.
Chcete-li přidat akcií vlastnost titulek pomocí Průvodce přidáním vlastnosti
Načtěte projektu ovládacího prvku.
V zobrazení tříd rozbalte uzel knihovny ovládacího prvku.
Klepněte pravým tlačítkem na uzel rozhraní pro ovládací prvek (druhý uzel uzlu knihovny) a místní nabídce.
V místní nabídce klepněte na příkaz Přidat a potom klepněte na tlačítko Přidat vlastnost.
Otevře Průvodce přidáním vlastnosti.
V Název vlastnosti klepněte na tlačítko Titulek.
Klepněte na tlačítko Dokončit.
Změny vlastností průvodce přidat burzovní vlastnosti
Vzhledem k tomu, COleControl podporuje uložené vlastnosti, Průvodce přidáním vlastnosti nemění deklaraci třídy jakýmkoli způsobem; Přidá vlastnost na mapě odeslání.Průvodce přidáním vlastnosti přidá následující řádek do mapy odesílaní ovládacího prvku, který je umístěn v provedení (.Soubor CPP):
DISP_STOCKPROP_CAPTION()
Následující řádek je přidán do ovládacího prvku popis rozhraní (.Soubor IDL):
[id(DISPID_CAPTION), helpstring("property Caption")] BSTR Caption;
Tento řádek přiřadí vlastnosti Titulek určitým identifikátorem.Všimněte si, že vlastnosti umožňující vazbu a bude požadovat oprávnění z databáze před změnou hodnoty.
To zpřístupní vlastnost titulek uživatelům vašeho ovládacího prvku.Chcete-li použít hodnotu uloženou vlastnost, přístup ke členské proměnné nebo členské funkce COleControl základní třídy.Další informace o těchto členské proměnné a funkce členů naleznete v další části populace podporuje vlastnosti Průvodce přidáním vlastnosti.
Zásobní vlastnosti podporované Průvodce přidáním vlastnosti
COleControl Třída poskytuje devět uložené vlastnosti.Můžete přidat vlastnosti, které chcete pomocí Průvodce přidáním vlastnosti.
Property |
Odeslání položku mapy |
Jak získat přístup k hodnotě |
---|---|---|
Zobrazení |
(DISP_STOCKPROP_APPEARANCE) |
Hodnoty, které jsou přístupné jako m_sAppearance. |
BackColor |
(DISP_STOCKPROP_BACKCOLOR) |
Hodnoty, které jsou přístupné pomocí volání GetBackColor. |
BorderStyle |
(DISP_STOCKPROP_BORDERSTYLE) |
Hodnoty, které jsou přístupné jako m_sBorderStyle. |
Titulek |
(DISP_STOCKPROP_CAPTION) |
Hodnoty, které jsou přístupné pomocí volání InternalGetText. |
Povoleno |
(DISP_STOCKPROP_ENABLED) |
Hodnoty, které jsou přístupné jako m_bEnabled. |
Písmo |
(DISP_STOCKPROP_FONT) |
Naleznete v článku ovládací prvky MFC ActiveX: písma pomocí využití. |
ForeColor |
(DISP_STOCKPROP_FORECOLOR) |
Hodnoty, které jsou přístupné pomocí volání GetForeColor. |
hWnd |
(DISP_STOCKPROP_HWND) |
Hodnoty, které jsou přístupné jako m_hWnd. |
Text |
(DISP_STOCKPROP_TEXT) |
Hodnoty, které jsou přístupné pomocí volání InternalGetText.Tato vlastnost je stejné jako Titulek, s výjimkou názvu vlastnosti. |
ReadyState |
DISP_STOCKPROP_READYSTATE() |
Hodnoty, které jsou přístupné jako m_lReadyState neboGetReadyState |
Uložené vlastnosti a oznámení
Většina akcií vlastnosti mají funkce oznámení, které mohou být přepsány.Například, pokud BackColor je změněna vlastnost, OnBackColorChanged je volána funkce (členské funkce třídy ovládacího prvku).Výchozí implementace (v COleControl) volání InvalidateControl.Funkci přepište, pokud chcete provést další akce v reakci na tuto situaci.
Vlastnosti barvy
Můžete použít populace ForeColor a BackColor vlastnosti a vlastní vlastnosti vlastní barva při malování ovládacího prvku.Chcete-li použít vlastnosti color, zavolejte COleControl::TranslateColor členské funkce.Parametry této funkce je hodnota vlastnosti Barva a paletu volitelné popisovače.Vrácená hodnota je COLORREF hodnotu, kterou lze předat rozhraní GDI funkcí, jako SetTextColor a CreateSolidBrush.
Barevné hodnoty pro populaci ForeColor a BackColor přístup k vlastnostem voláním buď GetForeColor nebo GetBackColor fungovat v uvedeném pořadí.
Následující příklad ukazuje použití tyto vlastnosti Dvoubarevná při malování ovládacího prvku.Se inicializuje dočasný COLORREF proměnné a CBrush s voláními objektu TranslateColor: jeden používá ForeColor vlastnost a jiné použití BackColor vlastnost.Dočasný CBrush objekt se pak používá k malování ovládacího prvku obdélník a barva textu je určena nastavením ForeColor vlastnost.
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);