|
Podstawy pisania komponentów Strona
1 z 9 Dalej |
w oparciu o materiały ze stron The Bits
|
Wstęp
Zanim przejdziesz do pisania komponentu, musisz naprawdę dokładnie zaplanować co chcesz zrobić. Budowanie komponentów jest jedną z najmniej związanych z RAD (rapid application development - szybkie tworzenie aplikacji) czynności w C++ Builderze. Oszczędzisz sobie mnóstwa kłopotów, jeśli zdecydujesz co i w jaki sposób ma robić Twój komponent, zanim weźmiesz się do pracy.
Projekt
Jednym z moich aktualnych projektów w Builderze jest przetworzenie tekstowego interfejsu symulatora komputera na przyjemniejszy graficzny (symulator komputera jest używany w mojej uczelni jako narzędzie służące do nauki struktury hardware'u i programowania w assemblerze poprzez udawanie komputera z wczesnych lat 70). Pomyślałem, że do tego właśnie projektu fajnie byłoby mieć wyświetlacz LED pokazujący stany rejestru (0 i 1). Najprościej byłoby użyć gotowego komponentu, ale żaden z nich nie spełniał moich wymagań.
Rozszerzalność jest jednym z większych atutów Buildera, dlatego zdecydowałem się na napisanie komponentu.
Podstawowe zasady
Najpierw decyduję co ma robić moja kontrolka - ma to być najzwyklejsza dioda LED, która będzie miała dwa kolory, w zależność od tego czy będzie włączona, czy nie. Będzie miała właściwość Włączony/Wyłączony. Brzmi to całkiem prosto :-)
Następny krok to wybór komponentu z którego będzie się wywodziła nasza kontrolka. Dobrze w tym momencie spojrzeć na schemat VCL dostarczany przez Borlanda. Jest oczywistym, że LED (tak będę nazywał komponent) jest rodzajem TGraphicControl, a patrząc dalej trafiamy na TShape, który wydaje się być idealny do naszych celów. Przyjrzyjmy mu się bliżej (zaglądając do pomocy albo po prostu patrząc na właściwości po umieszczeniu obiektu klasy TShape na formie). Jak widać, ma on kilka właściwości i kilka zdarzeń, które nie będą nam potrzebne, ale ma też to czego nam potrzeba.
Uwaga: Nie możesz usunąć właściwości czy zdarzeń komponentu z którego dziedziczysz, możesz jedynie je dodać. Oznacza to, że często będziesz utrudniał życie końcowemu użytkownikowi (i sobie) poprzez nadmiar niepotrzebnych właściwości. Możesz wybrać komponent, który stoi wyżej w hierarchii, ale wtedy będziesz musiał sam napisać większość funkcji nowego komponentu.
Wszystko co potrzebujemy zrobić, to zmiana kształtu i różne kolory wypełnienia przy stanach Włączony/Wyłączony. Czas więc zabrać się do pracy!
Uwaga: Autorzy oraz The Bits, nie ponoszą odpowiedzialności za ewentualne
szkody wynikłe z postępowania według zasad tego samouczka.
(c)1997 Kris Erickson. (c)1999 Will Green.
Tłumaczenie: Maciek Frankiewicz
|
1 2 3 4 5 6 7 8 9
|
|
|