Uwaga
Dostęp do tej strony wymaga autoryzacji. Może spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
IPolyCtl
to interfejs, który zawiera niestandardowe metody i właściwości kontrolki, i dodasz do niego właściwość.
Aby dodać definicje właściwości do projektu
W widoku klasy rozwiń
Polygon
gałąź.Kliknij prawym przyciskiem myszy pozycję
IPolyCtl
.W menu skrótów kliknij pozycję Dodaj, a następnie kliknij pozycję Dodaj właściwość. Zostanie wyświetlony kreator Dodawania właściwości .
Wpisz
Sides
jako nazwę właściwości.Z listy rozwijanej Typ właściwości wybierz pozycję
short
.Kliknij przycisk OK , aby zakończyć dodawanie właściwości.
W Eksplorator rozwiązań otwórz plik Polygon.idl i zastąp następujące wiersze na końcu interfejsu
IPolyCtl : IDispatch
:short get_Sides(); void set_Sides(short value);
z
[propget, id(1), helpstring("property Sides")] HRESULT Sides([out, retval] short *pVal); [propput, id(1), helpstring("property Sides")] HRESULT Sides([in] short newVal);
W Eksplorator rozwiązań otwórz plik PolyCtl.h i dodaj następujące wiersze po definicji :
m_clrFillColor
short m_nSides; STDMETHOD(get_Sides)(short* pval); STDMETHOD(put_Sides)(short newval);
Mimo że masz teraz funkcje szkieletu do ustawiania i pobierania właściwości oraz zmiennej do przechowywania właściwości, należy odpowiednio zaimplementować funkcje.
Aby zaktualizować metody get i put
Ustaw wartość domyślną .
m_nSides
Ustaw kształt domyślny na trójkąt, dodając linię do konstruktora w pliku PolyCtl.h:m_nSides = 3;
Zaimplementuj
Get
metody iPut
. Deklaracjeget_Sides
funkcji iput_Sides
zostały dodane do biblioteki PolyCtl.h. Teraz dodaj kod dlaget_Sides
polecenia iput_Sides
, aby PolyCtl.cpp przy użyciu następujących elementów: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")); } }
Metoda get_Sides
zwraca bieżącą wartość Sides
właściwości za pośrednictwem pVal
wskaźnika. W metodzie put_Sides
kod gwarantuje, że użytkownik ustawia Sides
właściwość na akceptowalną wartość. Wartość minimalna musi wynosić 3, a ponieważ dla każdej strony zostanie użyta tablica punktów, 100 jest rozsądnym limitem maksymalnej wartości.
Masz teraz właściwość o nazwie Sides
. W następnym kroku zmienisz kod rysunku, aby go używał.
Powrót do kroku 2 | Do kroku 4