Vorheriges Kapitel:Einsatz von Timern  Nächstes Kapitel: Computernetzwerke       Inhaltsverzeichnis Inhaltsverzeichnis       Die Downloadseite Download       Kontakt Kontakt

 

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.


Abbildung
Visual C++ speichert Verweise auf die registrierten ActiveX-Steuerelementen in der Galerie. Wenn Sie ein derartiges Steuerelement in Ihrem Projekt einfügen, wird u.a. eine Implementationsdatei und eine Headerdatei dieses Steuerelementes dem Projekt hinzugefügt. In der Implementationsdatei befinden sich Get- und Set-Methoden, die zur Kommunikation mit dem Steuerelement gedacht sind. Damit Sie diese Methoden aufrufen können, müssen Sie den Aufruf dieser Methoden über eine Member-Variable des gleichen Typs wie des ActiveX-Steuerelementes tätigen. In dem Beispielprogramm zu diesem Thema AktivX werden Sie ein Kalender in Ihrer Anwendung einbetten und mit Hilfe von Schaltflächen durch den Kalender blättern.

Abbildung
Dieser Kalender mit dem Dateinamen mscal.ocx wird von Visual C++ Setup auf ihren Rechner installiert. Erzeugen Sie ein neues SDI Projekt namens AktivX und leiten Sie die Ansicht im Schritt sechs des AppWizards von CFormView ab. Als erstes müssen Sie das registrierte ActiveX-Steuerelement Calender Control 8.0 aus der Galerie in Ihrem Projekt einfügen. Dafür müssen Sie den Befehl Projekt/ Dem Projekt hinzufügen/ Komponente and Steuerelemente aktivieren.

Abbildung

Abbildung
Falls Sie Calendar Control 8.0 in der Galerie nicht vorfinden, müssen Sie es zuerst registrieren. Mit dem Einfügen des Kalenders fügt Visual C++ die Dateien caleder.cpp und font.cpp mit ihren Headerdateien Ihrem Projekt hinzu. In calender.cpp befinden sich die Set- und Get-Methoden, mit deren Hilfe wir den Kalender steuern werden. Schauen Sie sich die Datei am besten mal an. Zuerst müssen wir aber die Dialogseite visuell gestalten. Wenn Sie den Resource-Editor aufrufen und die Dialogseite IDD_AKTIVX_FORM anklicken, werden Sie auf der Werkzeugleiste neben den Standardsteuerelementen zusätzlich noch den Kalender vorfinden. Positionieren Sie bitte den Kalender aus der Werkzeugleiste in die Dialogseite in angemessener Größe. In den Eigenschaften des Kalenders können Sie die Farben und Schriftart nach Ihrem Geschmack festlegen. Plazieren Sie bitte noch für die Steuerung des Kalenders vier Schaltflächen, mit den Beschriftungen Reset, Letzte Woche, Nächster Monat und Nächster Tag. Rufen Sie anschließend ClassWizard auf und verbinden Sie die Member-Variable m_kalender mit dem ID des Kalenders. Außerdem erzeugen Sie zu den vier Schaltflächen die entsprechenden Nachrichten-Funktionen. Der Quellcode für die vier Funktionen sieht folgendermaßen aus:

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();

}

 

      Vorheriges Kapitel:Einsatz von Timern  Nächstes Kapitel: Computernetzwerke       Inhaltsverzeichnis Inhaltsverzeichnis       Die Downloadseite Download       Kontakt Kontakt