Dodawanie kontrolki (ALT — Samouczek, część 2)
W tym kroku dodasz kontrolkę do projektu, skompilujesz ją i przetestujesz na stronie sieci Web.
Procedury
Aby dodać obiekt do projektu ATL
W Eksplorator rozwiązań kliknij prawym przyciskiem
Polygon
myszy projekt.Wskaż polecenie Dodaj w menu skrótów, a następnie kliknij pozycję Nowy element w podmenu.
Zostanie wyświetlone okno dialogowe Dodawanie nowego elementu. Różne kategorie obiektów są wymienione w strukturze drzewa po lewej stronie.
Kliknij folder ATL.
Z listy szablonów po prawej stronie wybierz pozycję Kontrolka ATL. Kliknij przycisk Dodaj. Zostanie otwarty kreator kontrolek ATL i można skonfigurować kontrolkę.
Wpisz
PolyCtl
krótką nazwę i zanotuj, że pozostałe pola są automatycznie ukończone. Nie klikaj jeszcze przycisku Zakończ , ponieważ musisz wprowadzić pewne zmiany.
Strona Nazwy kreatora kontrolki ATL zawiera następujące pola:
Pole | Zawartość |
---|---|
Krótka nazwa | Nazwa wprowadzona dla kontrolki. |
Klasa | Nazwa klasy języka C++ utworzona w celu zaimplementowania kontrolki. |
Plik .h | Utworzony plik zawierający definicję klasy C++. |
plik .cpp | Utworzony plik zawierający implementację klasy C++. |
CoClass | Nazwa klasy składnika dla tej kontrolki. |
Interfejs | Nazwa interfejsu, na którym kontrolka będzie implementować jego niestandardowe metody i właściwości. |
Type | Opis kontrolki. |
Identyfikator progu | Czytelna nazwa, która może służyć do wyszukiwania identyfikatora CLSID kontrolki. |
W kreatorze kontrolek ATL należy zmienić kilka dodatkowych ustawień.
Aby włączyć obsługę zaawansowanych informacji o błędach i punktów połączenia
Kliknij pozycję Opcje, aby otworzyć stronę Opcje.
Zaznacz pole wyboru Punkty połączenia. Ta opcja tworzy obsługę interfejsu wychodzącego w pliku IDL.
Możesz również dodać interfejsy, aby rozszerzyć funkcjonalność kontrolki.
Aby rozszerzyć funkcjonalność kontrolki
Kliknij pozycję Interfejsy , aby otworzyć stronę Interfejsy .
Wybierz
IProvideClassInfo2
i kliknij strzałkę w górę , aby przenieść ją do listy Obsługiwane .Wybierz
ISpecifyPropertyPages
i kliknij strzałkę w górę , aby przenieść ją do listy Obsługiwane .
Kontrolkę można również wstawić, co oznacza, że można ją osadzić w aplikacjach obsługujących obiekty osadzone, takie jak excel lub Word.
Aby umożliwić wstawienie kontrolki
Kliknij pozycję Wygląd, aby otworzyć stronę Wygląd.
Zaznacz pole wyboru Można wstawić.
Wielokąt wyświetlany przez obiekt będzie miał pełny kolor wypełnienia, więc musisz dodać Fill Color
właściwość stock.
Aby dodać właściwość akcji Kolor wypełnienia i utworzyć kontrolkę
Kliknij pozycję Właściwości zapasów, aby otworzyć stronę Właściwości zapasów.
W obszarze Nieobsługiwane przewiń w dół listę możliwych właściwości zapasów. Wybierz
Fill Color
i kliknij strzałkę w górę , aby przenieść ją do listy Obsługiwane .Wybierz pozycję Zakończ.
Podczas tworzenia kontrolki przez kreatora następuje kilka zmian kodu i dodanie pliku. Tworzone są następujące pliki:
Plik | opis |
---|---|
PolyCtl.h | Zawiera większość implementacji klasy CPolyCtl C++ . |
PolyCtl.cpp | Zawiera pozostałe części obiektu CPolyCtl . |
PolyCtl.rgs | Plik tekstowy zawierający skrypt rejestru używany do rejestrowania kontrolki. |
PolyCtl.htm | Strona sieci Web zawierająca odwołanie do nowo utworzonej kontrolki. |
Kreator wprowadza również następujące zmiany w kodzie:
Dodaje instrukcję
#include
do wstępnie skompilowanych plików nagłówków w celu uwzględnienia plików ATL niezbędnych do obsługi kontrolek.Zmienia wielokąt.idl, aby uwzględnić szczegóły nowej kontrolki.
Dodaje nową kontrolkę do mapy obiektów w Polygon.cpp.
Teraz możesz skompilować kontrolkę, aby zobaczyć ją w akcji.
Kompilowanie i testowanie kontrolki
Aby skompilować i przetestować kontrolkę
W menu Kompilacja kliknij pozycję Kompiluj wielokąt.
Po zakończeniu tworzenia kontrolki kliknij prawym przyciskiem myszy PolyCtl.htm w Eksplorator rozwiązań i wybierz pozycję Widok w przeglądarce. Zostanie wyświetlona strona internetowa HTML zawierająca kontrolkę. Powinna zostać wyświetlona strona z tytułem "STRONA testowa ATL 8.0 dla obiektu PolyCtl", a kontrolka — tekst PolyCtl.
Uwaga
Jeśli kontrolka nie jest widoczna, należy wiedzieć, że niektóre przeglądarki wymagają korekt ustawień do uruchamiania kontrolek ActiveX. Zapoznaj się z dokumentacją przeglądarki dotyczącą włączania kontrolek ActiveX.
Uwaga
Jeśli podczas wykonywania tego samouczka zostanie wyświetlony komunikat o błędzie informujący, że nie można utworzyć pliku DLL, zamknij plik PolyCtl.htm i kontener testów kontrolek ActiveX i ponownie skompiluj rozwiązanie. Jeśli nadal nie możesz utworzyć biblioteki DLL, uruchom ponownie komputer lub wyloguj się, jeśli używasz usług terminalowych.
Następnie dodasz właściwość niestandardową do kontrolki.
Powrót do kroku 1 | do kroku 3