Přidání vlastnosti do ovládacího prvku (ATL – tutoriál, část 3)
IPolyCtlje rozhraní, které obsahuje vlastnosti a metody vlastního ovládacího prvku a bude přidat vlastnost.
Přidat vlastnost pomocí Průvodce přidáním vlastností
V zobrazení třídy rozbalte větev mnohoúhelník.
Pravým tlačítkem myši na IPolyCtl.
V místní nabídce klepněte na příkaz Přidata klepněte na tlačítko Přidat vlastnost.
Zobrazí se Průvodce přidáním vlastností.
Vyberte v seznamu rozevírací typy vlastností SHORT .
Typ strany jako název vlastnosti.
Klepněte na tlačítko Dokončit dokončete přidání vlastnosti.
Při přidání vlastnosti rozhraní definuje jazyk MIDL (program zkompiluje soubory .idl) Get metodou načítání jeho hodnotu a Put metody pro nastavení nové hodnoty.Metody jsou pojmenovány podle prepending put_ a get_ název vlastnosti.
Průvodce přidáním vlastností přidá potřebné řádky do souboru .idl.Také přidá Get a Put funkční prototypy definici třídy v PolyCtl.h a PolyCtl.cpp přidá prázdný provádění.Můžete zkontrolovat otevřením PolyCtl.cpp a hledáte funkce get_Sides a put_Sides .
Přestože nyní obalu s kostlivcem funkce nastavení a načtení vlastnosti, potřebuje místo uložení.Vytvoříte proměnnou ukládání vlastnosti a funkce příslušně aktualizovat.
Vytvořit proměnnou ukládání vlastností a aktualizovat put a metody get
V aplikaci Solution Explorer otevřete PolyCtl.h a přidejte následující řádek po vymezení m_clrFillColor :
short m_nSides;
Nastavit výchozí hodnotu m_nSides .Nastavit výchozí obrazce Trojúhelník přidáním řádku do konstruktoru v PolyCtl.h:
m_nSides = 3;
Implementace Get a Put metod. get_Sides a put_Sides deklarace funkce byly přidány do PolyCtl.h.Nahradit kód v PolyCtl.cpp pro get_Sides a put_Sides s následujícím kódem:
STDMETHODIMP CPolyCtl::get_Sides(short* pVal) { *pVal = m_nSides; return S_OK; } STDMETHODIMP CPolyCtl::put_Sides(short newVal) { if (2 < newVal && newVal < 101) { m_nSides = newVal; return S_OK; } else { return Error(_T("Shape must have between 3 and 100 sides")); } }
get_Sides Metoda vrátí aktuální hodnotu Sides vlastnost až pVal ukazatel.V put_Sides metoda, kód zajistí uživatele je nastavení Sides na přijatelné hodnoty vlastností.Minimální hodnota musí být 2 a protože pole bodů, bude použit pro každou stranu, 100 je přiměřené limit pro maximální hodnotu.
Nyní mají vlastnost nazvanou Sides .V dalším kroku změníte kód výkresu použít.