Hier folgt eine kleine Einführung in die Erstellung von Anwendungen mit grafischer Oberfläche unter Windows. Solche GUI-Anwendungen kann man objektorientiert und nicht-objektorientiert erstellen. Geeignet sind Entwicklungsumgebungen verschiedener Hersteller. Hier wird als Entwicklungswerkzeug Visual C++ 6 von Microsoft verwendet. Wer lieber mit Borland C++ 5 und der OWL arbeitet, möge in der Übersicht unter "Borland-OWL" nachschlagen. Ich war genötigt, diese OWL-Verwendung zu verlassen, weil es kaum noch Literatur dazu gibt.
Ich werde hier ausschließlich die objektorientierte Erstellung unter Verwendung der Microsoft Foundation Classes (MFC) behandeln.
In den folgenden Schritten stütze ich mich auf das folgende Buch:
[1] Susanne Wigard: "Visual C++ 6", bhv-Verlag, 1. Auflage
Wie ich erfuhr, sind wohl mehr als eine Auflage als erste Auflage im Handel (???).
Meine Seitenangaben zu diesem Buch sind also inhaltlich zu überprüfen.
[1] Kapitel 8, "Windows-Programme mit MFC, Der Anwendungs-Assistent", S. 285
obligatorisch: S. 285 - 290, optional: S. 290 - 295 oben
Neu: Kleine Einführung in die MFC-Programmierung
Erstellen Sie eine leere Anwendung mit Hilfe des Anwendungsassistenten und prüfen Sie die Handhabungsmöglichkeiten dieser Anwendung!
CChildView ist die vom Anwendungs-Assistenten erzeugte einzige Darstellungsklasse (View)
in dieser SDI-Anwendung (SDI=single dokument interface).
Dieser Klasse gilt unser besonderes Augenmerk.
Sehen Sie sich in der Klassenansicht die Elemente von CChildView an!
Wenn Sie etwas über den "Stammbaum" dieser Klasse wissen wollen,
klicken Sie in der Klassenansicht mit der rechten Maustaste auf diese Klasse
und wählen im Kontextmenü "Basisklassen ..." aus.
Möglicherweise muss dazu das Programm neu übersetzt werden.
Die für uns zunächst interessanteste Elementfunktion ist OnPaint(). Eine Funktion, deren Name mit "On" beginnt, ist hier i. Allg. eine Befehlsbehandlungsfunktion, kurz Eventhandler.
[1] Kapitel 8, "GDI mit MFC", S. 378
obligatorisch: S. 378 - 380, optional: S. 380 - 385 (GDI-Objekte mit MFC)
Lassen Sie zumindest eine Linie zeichnen! Ellipsen (Sonderfall Kreis), Kreisbögen und eine Polylinie
können Sie ebenfalls zeichnen lassen.
Damit im Darstellungsfenster etwas ausgegeben (gezeichnet) wird, müssen geeignete Befehle im Eventhandler
CChildView::OnPaint() eingefügt werden.
Empfehlung:
Lassen Sie ein Polygon (geschlossene Polylinie) zeichnen, dessen Punktdaten
(Klasse CPoint oder struct POINT) in einem Datenfeld oder in einem STL-Vektor abgelegt sind!
Versuchen Sie sich einmal an einem Widerstandssymbol oder etwas Ähnlichem!
Es folgen die Erstellung von Menüressource und zugeordnetem Eventhandler.