Krzysztof Mossakowski
Tworzenie aplikacji w technologii firmy Microsoft
2004 - Zadania
Windows Forms Custom Controls
Wersja A
Wzór programu do wglądu u prowadzącego
Kontrolka wyświetlająca bitmpę obciętą wybraną krzywą:
krzywa zawsze jest wyznaczana przez 4 punkty
punkty są łączone prostymi (Poligon) lub krzywymi (Spline)
wszystkie 4 punkty zawsze leżą wewnątrz obszaru kontrolki
Szczegóły implementacji:
kontrolka Custom Control (dziedziczy po System.Windows.Forms.Control)
kontrolka posiada włąsną ikonę widoczną po osadzeniu jej na toolboxie (rys. 1)
kontrolka posiada 3 właściwości: ClipRegionType, Points, SourceImage (rys. 2/3)
ClipRegionType - sposób łączenia punktów, dostępne opcje to Spline (domyślna) i Polygon
Points - typ Point[4], specjalny sposób edycji opisany poniżej
SourceImage - typ Image, wyświetlany obrazek
wszystkie właściwości powinny należećdo sekcji
Image
, wszystkie powinny mieć opis (widoczny na rys. 3)
zmiana dowolnej z 3 właściwości powoduje odświeżenie kontrolki w trybie edycji
w trybie edycji kontrolka posiada tło w kolorze Color.Pink
rysowana z AntiAliasingiem i podwójnym buforowaniem
Edytor właściwości
Points
:
edytor dla
property
określa atrybut
Editor
klasa edytora dziedziczy po
UITypeEditor
należy nadpisaćmetody
EditValue
GetEditStyle (pożądany styl to UITypeEditorEditStyle.DropDown)
kontrolka użyta do edycji jest tego samego typu co kontrolka, którą edytujemy !!!
sposób działania (rys. 4)
przesuwanie 4 punktów w obrębie obszaru kontrolki
dwuklik wewnątrz obszaru - zmiana trybu Spline/Polygon
Sugestie:
klasy, metody, właściwości:
ToolboxBitmapAttribute
BrowsableAttribute
CategoryAttribute
DefaultValueAttribute
DescriptionAttribute
EditorAttribute
Component.DesignMode
UITypeEditor class
do zaniedbania
brak odświeżania po zmianie współrzędnych punktów w
property grid