Sdílet prostřednictvím


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í

  1. V zobrazení třídy rozbalte větev mnohoúhelník.

  2. Pravým tlačítkem myši na IPolyCtl.

  3. 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í.

  4. Vyberte v seznamu rozevírací typy vlastností SHORT .

  5. Typ strany jako název vlastnosti.

  6. 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

  1. V aplikaci Solution Explorer otevřete PolyCtl.h a přidejte následující řádek po vymezení m_clrFillColor :

    short m_nSides;
    
  2. 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;
    
  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.

Zpět ke kroku 2 | Do kroku 4

Viz také

Referenční dokumentace

Tutoriál knihovny ATL (Active Template Library)