Ein Windows- Betriebssystem angetrieben Nachricht Umwelt. Ein Ereignis wie ein Mausklick oder ein Drucker Signal sendet eine Nachricht an die ausgeführte Anwendung , die wiederum verarbeitet die Nachricht. Die Microsoft Foundation Class (MFC) -Bibliothek unterstützt eine Nachricht driven Programmiermodell. Die zentrale Komponente ist die Nachricht Karte . Hier übernimmt die Funktion OnLButtonDown linken Mausklicks im CMyWindow Klasse. Was Sie brauchen
Microsoft Visual Studio IDE ( integrierte Entwicklungsumgebung )
Buchen auf Visual C + + , wie Windows- Programmierung mit MFC von Jeff Prosise
Weitere Anweisungen
1 anzeigen
Starten Sie Microsoft Visual Studio. Für dieses Beispiel Visual C + + 6.0 verwendet wurde.
2
erstellen Win32 -Anwendung-Projekt . Klicken Sie auf Datei , Neu, Projekte und dann auf " Win32-Anwendung " . Geben Sie einen beliebigen Namen in das "Projektname" Textfeld . Auf der zweiten Seite des Assistenten wählen Sie " Ein leeres Projekt" . Klicken Sie auf Fertig stellen und klicken Sie auf OK . Dieses Projekt hat keine Standard- Dateien .
3
Fügen Sie eine Quelldatei zum Projekt. Klicken Sie auf Projekt , " Add to Project " Neu und wählen Sie dann " C + + Source File " . Geben Sie der Datei einen Namen in das Feld "Dateiname " Textfeld . Klicken Sie auf " OK".
4 Kopieren Sie den folgenden Code in der Quelldatei :
# include
Klasse CMyWindow : public CFrameWnd
{
public:
CMyWindow () {
Create ( NULL, " MFC Nachricht Karte Demo "); }
nichtig OnLButtonDown ( UINT Fahnen, CPoint Punkt);
DECLARE_MESSAGE_MAP ()
} ;
BEGIN_MESSAGE_MAP ( CMyWindow , CFrameWnd )
ON_WM_LBUTTONDOWN ()
END_MESSAGE_MAP ()
nichtig CMyWindow :: OnLButtonDown ( UINT Fahnen, CPoint Punkt )
{
CFrameWnd :: OnLButtonDown (Fahnen, Punkt);
MessageBox ( " Left Button geklickt "); }
Klasse MeineAnw : public CWinApp
{
CMyWindow * pMyWin ;
public :
BOOL InitInstance () {
pMyWin = new CMyWindow ();
m_pMainWnd = pMyWin ;
m_pMainWnd -> ShowWindow (1);
return 1;
} }
;
MeineAnw theApp ;
5 Verstehen, was der Code bedeutet :
DECLARE_MESSAGE_MAP :
dieses Makro erzählt die Anwendung , dass die Klasse , die sie enthält , in diesem Fall " CMyWindow " , hat eine Botschaft Karte und können Nachrichten verarbeiten . Nur Klassen aus CCmdTarget abgeleitet ausführen kann Meldungszuordnungen
BEGIN_MESSAGE_MAP & END_MESSAGE_MAP : .
Diese Makros können wie die open close Klammern einer Nachricht Karte gedacht werden . " BEGIN_MESSAGE_MAP " benötigt zwei Parameter , der Name der Klasse, die die Nachricht Karte gehostet wird, in diesem Fall " CMyWindow " , und seine unmittelbaren Vorfahren , " CFrameWnd "
ON_WM_LBUTTONDOWN : .
Das ist die Spezialität Makro, die angibt, CMyWindow Haltegriffe links Mausklicks durch die Funktion OnLButtonDown . Wenn ein linker Mausklick mit CMyWindow verbunden ist die OnLButtonDown Klasse wird automatisch aufgerufen. Seite 6
Klicken und führen Sie das Programm . Klicken Sie auf " Erstellen " im Menü und " Compile Programmname " . Warten Sie, bis es kompiliert . Klicken Sie auf " Build" und "Ausführen Programmname " .