Beispiel 1: Einfachstes denkbares MFC-Beispiel

Dieses Beispiel zeigt die minimalst mögliche MFC-Anwendung, nämlich eine CView mit minimalen Zeichenoperationen.
Hier gibt es das Beispiel zum Download: MFCMinimal.zip

Schritt 1: Anwendungsgerüst

Erstellen des Anwendungsgerüsts (SDI-Anwendung) gemäß Beschreibung von Hr. Dreher.
Einziger Unterschied ist dass wir im letzten Schritt als Basisklasse der View-Klasse "CView" auswählen.
Schritt 1 - CView
Die in Hr. Drehers Anleitung deaktivierte Druckunterstützung (Schritt "Erweiterte Features") können wir belassen, da eine CView druckbar ist.

Schritt 2: In der CView-Klasse ein bißchen Zeichenlogik zufügen

Die Datei "MFCMinimalView" öffnen und die Methode "OnDraw" öffnen. Zuallererst einmal muss der auskommentierte Parameter "pDC" einkommentiert werden (Mysteriös, mysteriös... In der vorherigen Visual-Studio-Version gab es dieses Verhalten nicht...). Der Methodenkopf sollte also so aussehen:
	void CMFCMinimalView::OnDraw(CDC* pDC) 
In der Methode nach dem TODO folgenden Code einfügen:
	pDC->Rectangle (100, 100, 200, 200);
Dadurch wird ein Rechteck an der Stelle 100/100 bis 200/200 gezeichnet.
Das Codebeispiel enthält außerdem noch ein Stück Code mit einem erweiterten Zeichenbeispiel (Hintergrund- und Vordergrundfarbe geändert):
	//Ein Rechteck in anderer Vordergrund- und Hintergrundfarbe.
	//Dazu müssen wir uns einen Brush definieren.
	CBrush *brushRed = new CBrush (RGB (255, 0, 0) );
	CPen *penBlue = new CPen (PS_SOLID, 2, RGB (0, 0, 255) );
	pDC->SelectObject (brushRed);
	pDC->SelectObject (penBlue);
	//Noch ein Rechteck, diesmal gefüllt...
	pDC->Rectangle (100, 210, 200, 310);
	//Den Brush und den Pen wieder freigeben:
	delete brushRed;
	delete penBlue;
Beachtet was beim Beenden des Programms im "Output"-Fenster steht, wenn die beiden "delete"-Zeilen auskommentiert sind !
	Detected memory leaks!
	Dumping objects ->
	c:\temp\mfcminimal\mfcminimalview.cpp(62) : {118} client block at 0x003265B0, subtype c0, 8 bytes long.
	a CPen object at $003265B0, 8 bytes long
	c:\temp\mfcminimal\mfcminimalview.cpp(61) : {114} client block at 0x003257B0, subtype c0, 8 bytes long.
	a CBrush object at $003257B0, 8 bytes long
	Object dump complete.
Also immer schön den Speicher aufräumen !
Fertisch !


Version 1.0.0.0, Stand 02.04.2005
Historie: