Zusätzliche Beispiele

Zurück Zum Inhaltsverzeichnis  

Hiermit haben Sie das Ende des Einführungskurses erreicht.

Im Verzeichnis AddProg finden Sie noch eine Reihe weiterer Beispiel-Programme, die ich Ihnen nicht vorenthalten möchte und die aus irgendwelchen Gründen noch nicht Einzug in den Kurs gefunden haben.

Die nachfolgende Aufstellung soll Ihnen helfen, sich in diesem Verzeichnis zurecht zu finden.

 

Projekt AppExits

Stellt dar, wie man von einer Anwendung aus eine andere Anwendung beenden kann. Hierzu wird in einem Dialog einfach der Fenstertitel der zu beendenden Anwendung eingegeben. Sie können dies am einfachsten testen indem Sie den Editor NOTEPAD starten und dann im Dialog den aktuell angezeigten Fenstertitel eingeben.

Dialog des Beispiels AppExits

 

Projekt AppGen

Demonstriert das Starten und Beenden einer fremden Anwendung. Im Beispiel wir über einen Dialog wieder der Editor NOTEPAD gestartet und auf Anforderung auch wieder beendet. Hierbei kommen die beiden API-Funktionen CreateProcess(...) und TerminateProcess(...) zum Einsatz. Wenn Sie dieses Programm testen wollen, so müssen Sie eventl. in der Methode OnButton1(...) das Startverzeichnis beim Aufruf von CreateProcess(...) anpassen.

Dialog des Beispiels AppGen

 

Projekt CommDlg

Zeigt die Handhabung der von WINDOWS bereitgestellten Dialoge zur Farbauswahl, zur Zeichensatzauswahl und zum Datei-öffnen bzw. Datei-speichern unter. Die entsprechenden Dialoge werden über eine Menüauswahl dargestellt. Der Datei-öffnen Dialog hat, außer seiner Anzeige, keine weitere Funktionalität. Über den Farbauswahl-Dialog kann die Hintergrundfarbe des Fensters eingestellt werden während über den Zeichensatzauswahl-Dialog die dargestellte Schrift entsprechend beeinflusst wird.

 

Projekt DriveInfo

Ermittelt Informationen über alle verfügbaren Laufwerke. Die Laufwerksinformationen werden in der Methode OnDraw(...) des Views ermittelt. Außerdem wird das WINDOWS-Verzeichnis sowie System-Verzeichnis festgestellt.

Ausgabe des Beispiels DriveInfo

Die aktuelle Ausgabe des Programms kann von der oben dargestellten abweichen. Beachten Sie im Beispiel auch, wie mittels sprintf(...) 64-Bit Werte 'ausgegeben' werden.

Projekt FileNotify

Zeigt auf, wie ein beliebiges Verzeichnis überwacht werden kann. Die Überwachung wird in der Methode InitInstance(...) der Anwendungsklasse gestartet. In der OnIdle(...) Methode der Anwendung wird dann abgeprüft, ob eine Veränderung stattgefunden hat. Falls dies der Fall ist, wird eine Nachricht an das aktive Ansichtsobjekt gesendet, das dann das Verzeichnis neu ausgibt. Das zu überwachende Verzeichnis wird in der Datei common.cpp festgelegt.

Ausgabe des Beispiels FileNotify

 

Projekt FindFiles

Sucht in allen Verzeichnissen nach Dateien mit einer bestimmten Extension. Die Extension ist als Konstante in der Datei FindFileView.h definiert. Beachten Sie bei diesem Beispiel, dass die Suchmethode FindFiles(...) rekursiv ist. Die Suche wird abgebrochen wenn entweder alle Dateien oder mehr als 30 Dateien gefunden wurden.

 

Projekt PrintGraphic

Ausgangsbeispiel für dieses Beispiel war die Darstellung einer Messkurve aus dem Kapitel GDI. Diese Messkurve kann jetzt über den Menüpunkt Drucken auf dem Drucker ausgegeben werden. Außerdem ist eine Druckvorschau möglich. Der Rahmen für die Druckerausgabe wird durch die View-Methoden OnBeginPrinting(...), OnPrint(...) und OnEndPrinting(...) realisiert. Die eigentliche Ausgabe erfolgt aber in der bekannten Methode OnDraw(...). Um die Messkurve darzustellen ist zuerst die Datei Line.pts über den Menüeintrag Datei-Öffnen einzulesen!

 

Projekt PropSheet

Zeigt die Handhabung von Property-Sheets. Property-Sheets bestehen im Prinzip aus lauter einzelnen Dialogen, die über eine Tabulatorleiste ausgewählt werden. Sehen Sie sich auch die Steuerung des Buttons Übernehmen in der Property-Page CFirstProp an.

Dialog des Beispiels PropSheet

 

Projekt Registry

Verwendet die Registrierungsdatenbank um die Position und Größe des Fensters beim Verlassen des Programmes abzuspeichern. Beim nächsten Programmstart wird das Fenster an der vorherigen Position und mit der vorherigen Größe dargestellt. Das Schreiben der Daten in die Registrierungsdatenbank erfolgt in der Methode OnDestroy(...) des Rahmenfensters. Das Einlesen der Daten und das Positionieren des Fensters erfolgt analog dazu in der Methode PreCreateWindow(...) des Rahmenfensters.

 

Projekt TabControl

Verwendet eine Tabulatorleiste um zwei Fenster abwechselnd darzustellen. Das erste Fenster ist ein normales, von CWnd abgeleitetes, Fenster. In diesem Fenster werden zur Laufzeit drei Button platziert über die die Farbe des Fensterhintergrundes eingestellt werden kann. Das zweite Fenster wird über eine Dialogvorlage realisiert.

Dialog des Beispiels TabControl

 

Projekt Wizard

Wizards ähneln in ihrem Aufbau den bereits vorhin aufgeführten Property-Sheets. Jedoch erfolgt der Wechsel zwischen den einzelnen Dialogseiten  über die vom Wizard bereitgestellte Buttons 'Zurück' bzw. 'Weiter'. Das Beispiel zeigt auf, wie einzelnen Dialogseiten bei Anwahl eines der Buttons gezielt aufgeschaltet werden können.

 Dialog des Beispiels Wizard

So, und mehr gibt's im Augenblick nicht. Alles andere liegt nun bei Ihnen.

 
Zurück Zum Inhaltsverzeichnis  


Copyright © 2004

Senden Sie Emails mit Fragen oder Kommentaren zu dieser Website an: mailto:info@cpp-tutor.de
 Wolfgang Schröder, Lerchenweg 23, D-72805 Lichtenstein. Tel: +49 7129 6470