Udostępnij za pośrednictwem


Dodawanie właściwości do kontrolki (ALT — Samouczek, część 3)

IPolyCtlto interfejs, który zawiera formant niestandardowy metody i właściwości i właściwość spowoduje dodanie do niego.

Aby dodać właściwość za pomocą Kreatora dodawania właściwości

  1. W widoku klasy rozwiń gałąź wielokąta.

  2. Kliknij prawym przyciskiem myszy IPolyCtl.

  3. W menu skrótów kliknij polecenie Dodaj, a następnie kliknij przycisk Dodaj właściwość.

    Pojawi się Kreator dodawania właściwości.

  4. Zaznacz na liście rozwijanej typów właściwości SHORT.

  5. Typ stronach jako nazwę właściwości.

  6. Kliknij Zakończ , aby zakończyć dodawanie właściwości.

Po dodaniu właściwości interfejsu definiuje MIDL (program kompiluje pliki .idl) Get metodą pobierania jej wartość i Put metody określania nowej wartości.Metody są o nazwie dołączając put_ i get_ do nazwy właściwości.

Kreator dodawania właściwości dodaje niezbędne wiersze do pliku .idl.Również dodaje Get i Put funkcję prototypów definicji klasy, w PolyCtl.h i dodaje puste wdrożenia do PolyCtl.cpp.Możesz to sprawdzić, otwierając PolyCtl.cpp i szuka funkcji get_Sides i put_Sides.

Chociaż już szkielet funkcje ustawiania i pobierania właściwości potrzeb miejsce przechowywania.Należy utworzyć zmienną do przechowywania właściwości i odpowiednio zaktualizować funkcje.

Aby utworzyć zmienną do przechowywania właściwości i zaktualizować put oraz metody get

  1. Solution Explorer otwórz PolyCtl.h i Dodaj następujący wiersz po definicji m_clrFillColor:

    short m_nSides;
    
  2. Ustawiona wartość domyślna, m_nSides.Ustaw jako domyślny, kształt trójkąta, dodając wiersz konstruktora w PolyCtl.h:

    m_nSides = 3;
    
  3. Wdrożenie Get i Put metody.get_Sides i put_Sides deklaracje funkcji zostały dodane do PolyCtl.h.Zastąp kod w PolyCtl.cpp do get_Sides i put_Sides z następujący kod:

    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 zwraca bieżącą wartość Sides właściwość poprzez pVal wskaźnik.W put_Sides użytkownika to ustawienie zapewnia kod metody, Sides właściwość dopuszczalną wartość.Wartość minimalna musi być 2, a ponieważ tablica punkty będą używane dla każdej strony, 100 jest rozsądnych granicach wartość maksymalna.

Masz teraz właściwość o nazwie Sides.W następnym kroku będzie zmienić kod rysowania go używać.

Wróć do kroku 2 | Do kroku 4

Zobacz też

Informacje

Biblioteka Active Template Library (ATL) — Samouczek