Anteckning
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
IPolyCtl är gränssnittet som innehåller kontrollens anpassade metoder och egenskaper, och du lägger till en egenskap i den.
Så här lägger du till egenskapsdefinitionerna i projektet
I Klassvy, expandera
Polygon-grenen.Högerklicka på
IPolyCtl.Klicka på Lägg till på snabbmenyn och klicka sedan på Lägg till egenskap. Guiden Lägg till egenskap visas.
Skriv
Sidessom egenskapsnamn.I listrutan med egenskapstyp väljer du
short.Klicka på OK för att slutföra tillägg av egenskapen.
Öppna Polygon.idl från Solution Explorer och ersätt följande rader i slutet av
IPolyCtl : IDispatchgränssnittet:short get_Sides(); void set_Sides(short value);med
[propget, id(1), helpstring("property Sides")] HRESULT Sides([out, retval] short *pVal); [propput, id(1), helpstring("property Sides")] HRESULT Sides([in] short newVal);Öppna PolyCtl.h från Solution Explorer och lägg till följande rader efter definitionen av
m_clrFillColor:short m_nSides; STDMETHOD(get_Sides)(short* pval); STDMETHOD(put_Sides)(short newval);
Även om du nu har skelettfunktioner för att ange och hämta egenskapen och en variabel för att lagra egenskapen, måste du implementera funktionerna i enlighet med detta.
Uppdatera get- och put-metoderna
Ange standardvärdet
m_nSidesför . Gör standardformen till en triangel genom att lägga till en linje i konstruktorn i PolyCtl.h:m_nSides = 3;Implementera metoderna
GetochPut. Funktionsdeklarationernaget_Sidesochput_Sideshar lagts till i PolyCtl.h. Lägg nu till koden förget_Sidesochput_Sidestill PolyCtl.cpp med följande: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")); } }
Metoden get_Sides returnerar egenskapens Sides aktuella värde via pekaren pVal .
put_Sides I -metoden ser koden till att användaren anger Sides egenskapen till ett acceptabelt värde. Minimivärdet måste vara 3 och eftersom en matris med punkter används för varje sida är 100 en rimlig gräns för ett maximalt värde.
Nu har du en egenskap som heter Sides. I nästa steg ändrar du ritningskoden så att den används.
Tillbaka till steg 2 | Vidare till steg 4