Seminar zur Windowsprogrammierung mit den Microsoft Foundation Classes - MFC

Der Gegenstand des Kurses ist die GUI-Programmierung mit der MFC.

Projekte die heute noch die MFC einsetzen, befassen sich üblicherweise mit Legacy Software. Der Code solcher Projekte stammt häufig aus den 90er Jahren und wird nur noch gepflegt und geringfügig verändert. Gleichwohl muss der Code verstanden werden. Junge Entwickler haben im Allgemeinen keine Erfahrung mehr mit diesem Framework. Wenn diese zur Pflege einer solchen Software eingesetzt werden, brauchen sie meistens eine Art generelle Einführung zu den Prinzipien der MFC.

Der Einsatz der MFC wird der Programmierung mit dem Windows SDK gegenübergestellt. Es werden alle Grundarten der Applikationsoberflächen anhand von Beispielen im Kurs entwickelt. Dabei werden alle GUI-Elemente durchgesprochen die Windows dem Programmierer zur Gestaltung seiner Applikation zur Verfügung stellt. Die Nachrichtenbearbeitung und der Einsatz von Message Maps ist ein weiteres Thema des Kurses.

Als Abschluss werden Themen aus der systemnahmen Applikationsentwicklung behandelt. Typische Kommunikationsmechanismen unter Windows und die Speicherverwaltung des Systems. Außerdem werden DLLs erstellt und deren Verwendung gezeigt.

Die folgenden Themen werden durchgenommen:

  • Windowsprogrammierung mit der Win32 API
  • Windows Messages
  • GUI-Programmierung Objektorientiert
  • Die Applikationsklasse
  • Fensterklassen
  • Dialoge
  • Fensterstile
  • Die Message Map
  • Das GDI
  • Zeichen auf einem Device Context
  • Punkt, Linien, Flächen
  • Schrift
  • Bitmaps
  • Dialogelemente
  • Der AppWizard (von Visual C++)
  • Datenaustausch mit Dialogboxen
  • Menüs
  • Das Model-View-Controller Konzept
  • Die Klasse CFrameWnd
  • Die Klasse CView
  • Die Klasse CDocument
  • Nicht-modale Dialoge
  • Die Klasse CDialog
  • Speicherallokation
  • Kommunikation zwischen Prozessen - IPC
  • DLL - Programmierung

Der Kurs wird anhand praktischer Übungen durchgeführt. Vorzugsweise wird die Visual C++ Entwicklungsumgebung eingesetzt. Es können aber auch andere dafür geeignete IDE's und Compiler verwendet werden.

Zuletzt geändert am 13.09.2020