Formanty ActiveX MFC
Formant ActiveX jest składnik oprogramowania wielokrotnego użytku oparte na modelu COM (Component Object), który obsługuje szeroką gamę funkcji OLE i można dostosować do potrzeb wielu oprogramowania.Formanty ActiveX są zaprojektowane do użytku, zarówno w zwykłym pojemnikach formantu ActiveX, jak i w Internecie w strony sieci World Wide Web.Formanty ActiveX można utworzyć albo MFC opisane tutaj lub z Active Template Library ((ATL)).
Formant ActiveX można narysować sam w osobnym oknie, reagowanie na zdarzenia (takie jak kliknięcia myszy) i być zarządzane przez interfejs, który zawiera właściwości i metody, które są podobne do tych obiektów automatyzacji.
Formanty te mogą być opracowywane dla wielu zastosowań, takich jak dostęp do bazy danych, danych monitorowania lub do wykresów.Oprócz ich przenośność formanty ActiveX obsługują funkcje wcześniej niedostępne dla formantów ActiveX, takich jak zgodność z istniejących kontenery OLE i możliwość integracji ich menu z menu kontenera OLE.Ponadto formant ActiveX pełni obsługuje automatyzację, co umożliwia sterowanie narazić odczytem/zapisem właściwości i zestaw metod, które mogą być wywołane przez użytkownika kontroli.
Można utworzyć bez okien formantów ActiveX i formantów, które można utworzyć tylko okno stają się aktywne.Formanty bez okien przyspieszyć wyświetlanie aplikacji i umożliwić formanty przejrzyste i poza prostokątem.Właściwości formantu ActiveX można również ładować asynchronicznie.
Formant ActiveX jest zaimplementowana jako serwer w procesie (zwykle mały obiekt) mogą być używane w dowolnym kontenerze OLE.Należy zauważyć, że pełną funkcjonalność formant ActiveX jest dostępne tylko wtedy, gdy jest używany w kontenerze OLE mające być świadomi formantów ActiveX.Zobacz Port formantów ActiveX do innych aplikacji listę kontenerów, które obsługuje formanty ActiveX.Tego typu kontenera, zwany dalej "kontenera kontroli" może działać formantu ActiveX za pomocą właściwości i metod kontroli i otrzymuje powiadomienia z formantu ActiveX w formie zdarzenia.Na rysunku poniżej pokazano interakcji.
Interakcja między kontenerem formantu ActiveX i okna formantu ActiveX
Niektóre aktualne informacje dotyczące optymalizowania formanty ActiveX, zobacz formantów ActiveX MFC: Optymalizacja.
Aby utworzyć formant MFC ActiveX, zobacz Tworzenie projektu formantu ActiveX.
Aby uzyskać więcej informacji zobacz:
Podstawowe składniki formantu ActiveX
Formant ActiveX używa kilku elementów programowych efektywnie interakcję z kontenera kontroli i użytkownika.Są to klasy COleControl, zestaw funkcji inicjowanie zdarzeń i wysyłki mapę.
Każdy obiekt formantu ActiveX podczas opracowywania dziedziczy zaawansowany zestaw funkcji swojej klasy bazowej MFC COleControl.Funkcje te obejmują aktywację na miejscu i logiki automatyzacji.COleControlmoże dostarczyć taką samą funkcjonalność jak obiekt okno MFC oraz możliwość fire zdarzenia obiekt formantu.COleControloferuje również formanty bez okien, które polegać na ich kontenera, aby uzyskać pomoc dotyczącą niektóre funkcje okna zawiera (przechwytywania mysz, klawiaturę, przewijanie), ale oferuje znacznie szybsze wyświetlanie.
Ponieważ klasa formant pochodzi od COleControl, dziedziczy ona możliwość wysyłania lub "fire", wiadomości, nazywane zdarzeń do kontenera formantu przy spełnieniu pewnych warunków.Zdarzenia te są używane powiadomić kontenera formantu, gdy czegoś ważnego dzieje się w formancie.Dodatkowe informacje o zdarzeniu można wysłać do kontenera kontroli, przez dołączenie parametrów do zdarzenia.Aby uzyskać więcej informacji na temat zdarzenia formantu ActiveX, zobacz artykuł formantów ActiveX MFC: zdarzenia.
Ostatnim elementem jest mapa wysyłki, który jest używany do udostępnienia zestaw funkcji (zwanych metodami) i atrybuty (nazywane właściwościami) użytkownikowi kontroli.Właściwości umożliwiają kontenera kontroli lub użytkownika formant do manipulacji, sterowania na różne sposoby.Użytkownika można zmienić wygląd formantu, zmienić niektóre wartości formantu lub żądania kontroli, takie jak dostęp do określone dane, który utrzymuje kontroli.Ten interfejs jest określone przez autora kontroli i jest definiowana za pomocą Widoku klasy.Aby uzyskać więcej informacji dotyczących właściwości i metod formantu ActiveX, zobacz artykuły formantów ActiveX MFC: metody i Właściwości.
Interakcja między formantów z systemem Windows i pojemniki formantu ActiveX
Kiedy formant jest używany wewnątrz formantu kontenera, używa dwóch mechanizmów do komunikowania się: prezentuje ona właściwości i metod i uruchamia się zdarzenia.Na rysunku poniżej pokazano, jak te dwa mechanizmy są implementowane.
Komunikację między kontenerem formantu ActiveX i formant ActiveX
Poprzedni rysunek ilustruje również, jak inne interfejsy OLE (oprócz automatyzacji i zdarzenia) są obsługiwane przez formanty.
Wszystkie formantu komunikacji z kontenerem jest wykonywane przez COleControl.Do obsługi niektórych żądań kontenera, COleControl Członkowskich będzie wywoływać funkcje, które są implementowane w klasie kontroli.Wszystkie metody i niektóre właściwości są obsługiwane w ten sposób.Jeśli formant klasy może również inicjować komunikację z kontenera przez wywołanie funkcji elementów członkowskich z COleControl.W ten sposób uruchomienia zdarzeń.
Państwa i nieaktywnych formantu ActiveX
Formant ma dwa stany podstawowe: i nieaktywnych.Państwa te były tradycyjnie wyróżnia czy formant miał już okno.Aktywny formant miał okno; nieaktywny formant nie.Wprowadzenie aktywacji bez okien to rozróżnienie nie jest już uniwersalnej, ale nadal stosuje się do wielu formantów.
Gdy formant elektrotechnicznych blach teksturowanych active go wywołuje przechwytywania mysz, klawiaturę, przewijanie i innych usług okna z jego kontenera.Można także zapewniają interakcji myszy nieaktywny kontroli, jak również tworzenie formantów czekać do momentu aktywowania utworzyć okna.
Formant z oknem staje się aktywny, jest w pełni interakcję z kontenera kontroli, użytkownika i systemu Windows.Poniższy rysunek pokazuje ścieżki komunikacji między formantu ActiveX, kontener kontroli i systemu operacyjnego.
Komunikat systemu Windows przetwarzania w formancie ActiveX okna (jeśli jest aktywny)
Serializacja
Możliwość serializowania danych, czasami nazywane trwałości, umożliwia sterowanie magazynu trwałego zapisu wartości jego właściwości.Formanty można następnie utworzone ponownie, odczytując stan obiektu z magazynu.
Należy zauważyć, że formant nie jest odpowiedzialny za uzyskanie dostępu do nośnika.Zamiast tego formantu kontenera jest odpowiedzialny za zapewnienie kontroli nośnik do używania w odpowiednim czasie.Aby uzyskać więcej informacji dotyczących serializacji, zobacz artykuł formantów ActiveX MFC: szeregowania.Aby uzyskać informacje dotyczące optymalizowania serializacji, zobacz Optymalizacja trwałości i inicjowania w formantach ActiveX: optymalizacji.
Instalowanie klasy formantu ActiveX i narzędzia
Podczas instalowania programu Visual C++ MFC ActiveX kontroli klas i sprzedaży detalicznej i debugowania formant ActiveX, który run-time biblioteki DLL są instalowane automatycznie, jeśli formanty ActiveX są w ustawieniach (są one zaznaczone domyślnie).
Domyślnie klasy formantu ActiveX i narzędzia są instalowane w następujących podkatalogi w obszarze \Program Files\Microsoft Visual Studio.NET:
\Common7\Tools
Zawiera pliki kontener testu (TstCon32.exe, a także jego plików pomocy).
\Vc7\atlmfc\include
Zawiera plików niezbędnych do rozwoju formantów ActiveX z MFC
\Vc7\atlmfc\src\mfc
Zawiera kod źródłowy dla określonej klasy formantu ActiveX w MFC
\Vc7\atlmfc\lib
Zawiera biblioteki, wymagane do rozwoju formantów ActiveX z MFC
Istnieją również przykłady formantów MFC ActiveX.Aby uzyskać więcej informacji na temat tych próbek zobacz kontroli próbek: formanty ActiveX MFC-Based