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
W widoku klasy rozwiń gałąź wielokąta.
Kliknij prawym przyciskiem myszy IPolyCtl.
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.
Zaznacz na liście rozwijanej typów właściwości SHORT.
Typ stronach jako nazwę właściwości.
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
Solution Explorer otwórz PolyCtl.h i Dodaj następujący wiersz po definicji m_clrFillColor:
short m_nSides;
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;
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ć.