ActiveX
ActiveX
ActiveX-Steuerelemente
ActiveX-Steuerelementcontainer
Benutzung von ActiveX-Steuerelementen
ActiveX ist ein interessanter und zugleich komplexer und problematischer Bereich. Falls Sie sich wirklich dafür interessieren, bleibt Ihnen das Studium eines Fachbuches nicht erspart. In diesem Kapitel werden Sie nur die Benutzung der ActiveX-Steuerelemente in einem Visual C++ Projekt kennenlernen. In diesem Zusammenhang werden auch lediglich einige Begriffe erläutert.
ActiveX ist ein Verbund von Technologien, das besondere Techniken benutzt, um Softwarekomponenten zu ermöglichen, miteinander zu kommunizieren. Die Technik, die diese Aufgabe bewältigt, heißt Komponentenobjektmodell(COM). COM ist ein binärer Standard, mit dessen Hilfe der ausführbare Code(z.B. exe oder dll Datei) eines Objektes von anderen Objekten ausgeführt werden kann, selbst wenn diese Objekte in unterschiedlichen Sprachen geschrieben sind.
Ein ActiveX-Steuerelement, früher OLE genannt, ist ein wiederverwendbares Softwareelement, das Sie in mehren Entwicklungsprojekten benutzen können. Ein ActiveX-Steuerelement wird dazu entworfen, um komplexen Ansprüchen in Softwareprogrammierung gerecht zu werden. Solche Steuerelemente können sowohl für ActiveX-Steuerelementcontainer als auch für Internet konzipiert werden.
Dies ist ein Container, der ActiveX-Steuerelemente unterstützt. Ein derartiger Container ist in der Lage, ActiveX-Steuerelemente im eigenen Fenster oder Dialog einzubetten. Ein ActiveX-Steuerelementcontainer kommuniziert mit dem ActiveX-Steuerelement über Methoden und Eigenschaften. Eine Methode ist vergleichbar mit einer Member-Funktion einer C++ Klasse. Die Eigenschaft ist in etwa vergleichbar mit der Member-Variable einer Klasse. Ein ActiveX-Steuerelement kommuniziert mit dem Container, indem er Ereignisse auslöst. Nehmen wir an, der Anwender klickt mit der Maus auf ein Teil des Steuerelements, so wird der Container von diesem Ereignis unterrichtet.
Benutzung von ActiveX-Steuerelementen
Wenn Sie vorhaben, ein ActiveX-Steuerelement in Ihrer Anwendung zu benutzen, muß dieses vorher bei Windows registriert worden sein. Der Hersteller liefert normalerweise mit dem Steuerelement auch ein Setup Programm, das dieses Element beim Betriebssystem registriert. Ein ActiveX-Steuerelement befindet sich im Systemverzeichnis des Betriebssystems und hat die Erweiterung OCX. Falls Sie ein ActiveX-Steuerelement selbst registrieren müssen, kopieren Sie diese zuerst einmal im Systemverzeichnis Ihres Rechners. Starten Sie dann vom Startmenü aus das Programm Test-Container für ActivX-Steuerelement, das zu Programmgruppe von Visual C++ gehört. Aktivieren Sie darin den Befehl Datei/ Steuerelemente Registrieren. Nun müssen Sie auf der Dialogseite das Steuerelement, das Sie registrieren möchten, aussuchen und Ihre Aktion mit der Aktivierung der Schaltfläche Registrieren bestätigen. Die Registrierung ist damit abgeschlossen.
void CAktivXView::OnReset()
{
m_kalender.Today();
}
void CAktivXView::OnNaecht()
{
m_kalender.NextDay();
}
void CAktivXView::OnMonat()
{
m_kalender.NextMonth();
}
void CAktivXView::OnLetzwoche()
{
m_kalender.PreviousWeek();
}
Die Variable m_kalender ist mit dem ActiveX-Steuerelement verbunden und hat den Typ CCalendar. Die Methoden Today(), NextMonth(),PreviousWeek() und NextDay() haben wir nicht selbst programmiert, sondern über die Member-Variable m_kalender aus der Datei calendar.cpp übernommen. Damit der Kalender beim Aufruf der Anwendung AktivX immer das aktuelle Datum anzeigt, machen wir von der Funktion Today() in OnInitialUpdate() Gebrauch. Der Quellcode in OnInitialUpdate() sieht folgendermaßen aus:
void CAktivXView::OnInitialUpdate()
{
CFormView::OnInitialUpdate();
MessageBox(" Sie beobachten hier die Benutzung eines "
"ActiveX Controls, das mit Visual C++ 5.0 mitgeliefert "
"worden ist. ");
m_kalender.Today();
}