En Windows -operativsystemet är budskapet driven miljö . En händelse som ett musklick eller en skrivare signal sänder ett budskap till det program som körs som i sin tur hanterar meddelandet . Microsoft Foundation Class ( MFC ) Biblioteket stöder ett meddelande driven programmering modell . Dess centrala komponent är Message Map . Här hanterar OnLButtonDown funktionen vänster musklick i CMyWindow klassen . Saker du behöver
Microsoft Visual Studio IDE ( integrerad utvecklingsmiljö ) katalog Boka på Visual C + + , såsom Programmering Windows Med MFC Jeff Prosise
Visa fler instruktioner
1
Starta din Microsoft Visual Studio . För detta exempel Visual C + + 6.0 användes .
2
Skapa en Win32 Application projekt . Klicka på Arkiv , Nytt , Projekt och sedan " Win32-program " . Ange vilket namn du vill ha i " Project " textrutan . I den andra sidan i guiden väljer " ett tomt projekt " . Klicka på Slutför och klicka på OK . Detta projekt har inga default -filer .
3
Lägg en källfil till projektet . Klicka på Projekt , " Lägg till Project , " Nytt och välj sedan " C + + Source File " . Ge filen ett namn i " Filnamn " textrutan . Klicka på " OK . "
4 Kopiera och klistra in följande kod på källfilen :
inkluderar #
klass CMyWindow : public CFrameWnd
{
allmänheten :
CMyWindow ( ) katalog { Review Skapa ( NULL , " MFC Message Karta Demo " ) ;
}
void OnLButtonDown ( uint flaggor , CPoint punkt);
DECLARE_MESSAGE_MAP ( ) katalog } ;
BEGIN_MESSAGE_MAP ( CMyWindow , CFrameWnd ) katalog ON_WM_LBUTTONDOWN ( ) katalog END_MESSAGE_MAP ( )
void CMyWindow :: OnLButtonDown ( uint flaggor , CPoint punkt ) katalog {
CFrameWnd :: OnLButtonDown ( flaggor , punkt ) ,
MessageBox ( " Vänster knapp klickat " ) ;
}
klass MyApp : public CWinApp
{
CMyWindow * pMyWin ;
allmänheten :
BOOL InitInstance ( ) katalog {
pMyWin = ny CMyWindow ( ) ;
m_pMainWnd = pMyWin ,
m_pMainWnd - > ShowWindow ( 1 ) ,
avkastning 1 ;
}
};
MyApp Theapp ,
5 Förstå vad koden betyder :
DECLARE_MESSAGE_MAP :
detta makro berättar ansökan att den klass som innehåller det , i detta fall " CMyWindow " , har ett budskap karta och kan hantera meddelanden . Endast klasser härledda från CCmdTarget kan exekvera meddelande kartor
BEGIN_MESSAGE_MAP & END_MESSAGE_MAP : .
Dessa makron kan ses som de öppna nära hängslen av ett meddelande karta . " BEGIN_MESSAGE_MAP " tar två parametrar , namnet på den klass som är värd meddelandet kartan , i det här fallet " CMyWindow " , och dess omedelbara förfader , " CFrameWnd "
ON_WM_LBUTTONDOWN : .
Detta är den specialitet makro som anger att CMyWindow hanterar vänster musklick via funktionen OnLButtonDown . När ett vänster musklick är associerad med CMyWindow den OnLButtonDown klassen anropas automatiskt .
6
Klicka och kör programmet . Klicka på " Build " på menyn och " Compile programnamn " . Vänta tills den sammanställer . Klicka på " Build " och " Kör programnamn " .