Nwlapcug.com


Come creare mappe messaggi in MFC

Un sistema operativo Windows è basato sui messaggi ambiente. Un evento come un clic del mouse o un segnale di stampante Invia un messaggio per l'applicazione in esecuzione che a sua volta gestisce il messaggio. La libreria Microsoft Foundation Class (MFC) supporta un messaggio determinato modello di programmazione. Il suo componente centrale è la mappa dei messaggi. Qui, il OnLButtonDown funzione maniglie sinistro clic del mouse nella classe CMyWindow.

Istruzioni

1

Avviare Microsoft Visual Studio. Per questo esempio è stato utilizzato Visual c + + 6.0.

2

Creare un progetto di applicazione Win32. Fare clic su File, nuovo, progetti e quindi "Applicazione Win32". Immettere il nome desiderato nella casella di testo "Nome progetto". Nella seconda pagina della procedura guidata selezionare "Un progetto vuoto". Fare clic su fine e fare clic su OK. Questo progetto non ha nessun file predefinito.

3

Aggiungere un file sorgente al progetto. Fare clic su progetto, "Aggiungi al progetto" New e selezionare "File di origine C++". Assegnare al file un nome nella casella di testo "Nome File". Fare clic su "OK".

4


Copiare e incollare il codice seguente nel file di origine:

#include

Classe CMyWindow: pubblico CFrameWnd

{

pubblico:

CMyWindow()

{

Creare (NULL, "MFC messaggio mappa Demo");

}

void OnLButtonDown (UINT flags, punto CPoint);

DECLARE_MESSAGE_MAP()

};

BEGIN_MESSAGE_MAP (CMyWindow, CFrameWnd)

ON_WM_LBUTTONDOWN()

END_MESSAGE_MAP()

Sub CMyWindow::OnLButtonDown (UINT flags, punto CPoint)

{

CFrameWnd::OnLButtonDown (bandiere, punto);

MessageBox ("Left Button clicked");

}

Classe MyApp: pubblico CWinApp

{

CMyWindow * pMyWin;

pubblico:

InitInstance () As Boolean

{

pMyWin = nuovo CMyWindow();

m_pMainWnd = pMyWin;

m_pMainWnd -> ShowWindow(1);

return 1;

}

};

MyApp theApp;

5


Capire che cosa significa il codice:

DECLARE_MESSAGE_MAP:

Questa macro indica l'applicazione che la classe che contiene, in questo caso "CMyWindow", ha una mappa messaggi e può gestire i messaggi. Solo le classi derivate da CCmdTarget possono eseguire mappe messaggi.

BEGIN_MESSAGE_MAP ed END_MESSAGE_MAP:

Queste macro possono essere pensate come l'aperte graffe stretta di una mappa messaggi. "BEGIN_MESSAGE_MAP" accetta due parametri, il nome della classe che ospita la mappa messaggi, in questo caso "CMyWindow", e il suo immediato predecessore, "CFrameWnd".

ON_WM_LBUTTONDOWN:

Questa è la macro di specialità che specifica che CMyWindow maniglie sinistro del mouse click attraverso la funzione OnLButtonDown. Quando un sinistro del mouse è associato con CMyWindow classe OnLButtonDown viene chiamata automaticamente.

6

Scegliere ed eseguire il programma. Fare clic su "Build" del menu e "Compilare Nome_programma". Attendere che venga compilata. Fare clic su "Build" e "Eseguire Nome_programma".

Consigli & Avvertenze

  • Una classe può avere solo una mappa messaggi.