Tartalomjegyzék | 3 |
Útmutató a könyv használatához | 11 |
Bevezetés | 15 |
A Visual C++ bemutatása | 17 |
A Visual C++ telepítése | 18 |
A Visual C++ fejlesztőkörnyezet | 20 |
Használt varázslóink: | 21 |
Az alkalmazásvarázsló | 21 |
Az osztályvarázsló | 22 |
A Workspace ablak | 25 |
További ablakok a képernyőn | 26 |
Az Output ablak | 27 |
Eszköztárak | 27 |
A súgó használata | 27 |
Nyomkövetés | 30 |
Kérdések | 33 |
Összefoglalás | 33 |
Üzenetkezelés | 35 |
A Visual C++ alkalmazás szerkezete | 35 |
Esemény, üzenet, kezelő metódus | 39 |
Az események feldolgozása | 41 |
Üzenetek a szálak üzenetsorában | 41 |
Az üzenetek feldolgozása | 42 |
Az üzenetkezelő ciklus függvényei | 43 |
Aszinkron - szinkron üzenetek | 44 |
Az üzenettérkép (Message_Map) | 45 |
Üzenet kategóriák kezelése | 47 |
Ablaküzenetek kezelése | 47 |
Vezérlést bejelentő üzenetek kezelése | 48 |
Parancsüzenetek kezelése | 49 |
Üzenetek csoportos kezelése | 50 |
A fejlesztő által definiált üzenetek kezelése | 51 |
Regisztrált üzenetek | 51 |
Külső üzenetek | 52 |
Billentyűüzenetek | 52 |
Egérüzenetek | 53 |
A Spy++ | 54 |
Kérdések | 56 |
Összefoglalás | 56 |
Párbeszédablakok | 59 |
Erőforrások | 59 |
Vezérlők | 60 |
A párbeszédfelület szerkesztése | 64 |
Párbeszédablak | 64 |
Előredefiniált párbeszédablakok | 65 |
Szerkesztett párbeszédablak | 66 |
Változó hozzárendelése a vezérlőhöz | 67 |
Hozzárendelés az osztályvarázsló segítségével | 67 |
Kapcsolattartás a vezérlő és a tagváltó között | 69 |
Vezérlők kezelésének lehetőségei | 71 |
Ideiglenes mutatón keresztül | 71 |
Objektum segítségével, üzenetkezelő metódusok a szülőablakban | 71 |
Származtatással, új üzenetkezelő metódusok a vezérlő osztályban | 72 |
A párbeszédablak életciklusa | 73 |
A párbeszédalapú alkalmazás szerkezete | 75 |
Új szerkesztett párbeszédablak | 76 |
Activex vezérlő csatolása | 77 |
A file nyilvántartásba vétele | 78 |
Regisztrált vezérlők tesztelése | 79 |
ActiveX vezérlő használata az alkalmazásban | 80 |
Kérdések | 83 |
Összefoglalás | 84 |
Az MFC felépítése | 85 |
Az MFC áttekintése | 85 |
API: Application Programming Interface | 86 |
Az MFC mint osztálykönyvtár | 86 |
Az MFC mint framework | 87 |
Információk az MFC osztályokról | 87 |
A CObject osztály | 90 |
A CObject főbb utódosztályai | 91 |
Az alkalmazások főbb alaposztályai | 92 |
A kivételezést támogató osztályok | 92 |
A fájlkezelést támogató osztályok | 92 |
A konténerosztályok | 93 |
Az alkalmazásszerkezeti osztályok | 94 |
A CCmdTarget osztály | 95 |
A CWinThread osztály | 95 |
Többszálú alkalmazások | 95 |
A megjelenítést támogató osztályok | 98 |
Az ablakok | 99 |
A CWnd osztály | 100 |
Az időzítő | 101 |
CWnd és HWND kapcsolata | 102 |
A CFrameWnd osztály | 104 |
A CView osztály | 105 |
Drag & drop technika | 106 |
A CDialog osztály és utódai | 106 |
A vezérlők a CWnd utódai | 109 |
Néhány további vezérlőosztály | 109 |
Vezérlők futásidejű létrehozása | 113 |
Az egyszerű érték típusok kategória osztályai | 113 |
A CString osztály | 113 |
A CTime és a CTimeSpan osztály | 116 |
Az osztályok tárolása | 117 |
Globális függvények | 117 |
Kérdések | 119 |
Összefoglalás | 120 |
Megjelenítés a grafikus felületen | 121 |
A DC | 121 |
A CDC objektumai | 122 |
Az objektumok kiválasztása a DC-be | 123 |
Hogyan férjünk hozzá a DC-hez? | 124 |
A CDC osztály utódosztályai | 124 |
A GDI (Graphics Device Interface) | 125 |
A GDI objektumok | 126 |
CPen | 126 |
CBrush | 127 |
CBitmap | 127 |
CFont | 128 |
CRgn | 129 |
A színek | 130 |
Grafikus objektum törlése | 131 |
Rajzolás a képernyőre | 132 |
A WM_PAINT üzenet és kezelése | 132 |
A CDC osztály tagfüggvényei | 133 |
Logikai és fizikai megjelenítés | 135 |
Az ikonok | 138 |
Az egérkurzor a képernyőn | 139 |
Tetszőleges alakú kurzor | 139 |
Általunk rajzolt kurzor | 140 |
Animált kurzor | 142 |
A kurzort kezelő függvények | 144 |
Az egér mozgásának korlátozása | 145 |
Kérdések | 145 |
Összefoglalás | 146 |
SDI, MDI alkalmazások | 149 |
A Document/View architektúra | 150 |
SDI, MDI alkalmazások | 150 |
A Document/View architektúra osztályai | 152 |
Az alkalmazásosztály | 152 |
A dokumentumsablon-osztály | 152 |
A keretablakosztály | 153 |
A nézetosztály | 154 |
A dokumentumosztály | 155 |
Az SDI alkalmazássablon osztályai | 157 |
Az MDI alkalmazássablon osztályai | 159 |
Szerializáció | 161 |
Az alkalmazáshoz rendelt fájlkiterjesztés | 161 |
Szerializáció | 163 |
Szerializáció a dokumentumosztályban | 164 |
Új dokumentum parancs (New document) | 165 |
Létező dokumentum nyitása (Open) | 165 |
A dokumentum mentése vagy bezárása | 166 |
Szerializáció különböző típusú adatok esetén | 167 |
Szerializáció osztályok készítése | 167 |
A keretablak interfészei | 170 |
Menükezelés | 170 |
Menüpontok szerkesztése | 170 |
Menüparancsok kezelése | 172 |
A menüpont megjelenése | 174 |
Gyorsmenü | 174 |
Menü a párbeszédablakban | 175 |
Dummy menü | 176 |
Gyorsgombok | 176 |
Az eszköztár | 177 |
Az eszköztár szerkesztése | 177 |
Több eszköztár az alkalmazásban | 178 |
Az állapotsor | 180 |
Állapotsor a kódban | 180 |
Új ablak az állapotsorban | 181 |
Kiírás az állapotsorba | 182 |
További elemek | 183 |
Több ablak az alkalmazásban | 184 |
Egy nézet, több ablak | 184 |
Egy dokumentum, több nézet | 186 |
Osztott nézetek | 187 |
Önálló nézetek | 191 |
Kérdések | 192 |
Összefoglalás | 193 |
A Registry használata | 197 |
A regisztrációs adatbázis szerkezete | 198 |
A regisztrációs adatbázis módosítása | 200 |
Módosítás szerkesztővel | 200 |
Módosítás telepítéskor | 201 |
A Registry módosítása az alkalmazásból | 202 |
Adatok írása a regisztrybe | 203 |
Dokumentumok megnyitása duplakattintásra | 204 |
Az utolsó használt dokumentum nyitása indításkor | 204 |
Kérdések | 205 |
Összefoglalás | 205 |
Gyakorlatok | |
Bevezető feladat | 211 |
Hello alkalmazás | 211 |
Az alkalmazás szerkezete | 221 |
Kézzel írt minimális alkalmazás | 221 |
Párbeszédalapú alkalmazások | 233 |
Gyümölcsárazó automata | 234 |
Terv | 234 |
A párbeszédfelület és kezelése | 236 |
Új párbeszédablakok | 246 |
Második megoldás: mindez vezérlőobjektum változókkal | 252 |
Feladatok: | 256 |
Köszöntés hanggal | 256 |
Számológép | 257 |
Fényképtár | 257 |
Tili-toli játék | 257 |
Telefon | 257 |
Nyomógomb képpel | 257 |
Szókirakó játék | 258 |
Memória játék (memory) | 258 |
MFC osztályok | 258 |
Amőba játék | 265 |
Terv | 265 |
Előkészítő lépések | 266 |
Kódolás | 266 |
Egér használata | 268 |
Ablakok a Spy++-ban | 273 |
Feladatok | 275 |
Időmérés az Amőba feladatban | 275 |
Kapj el gomb! | 276 |
Elégedett Ön a fizetésével? | 276 |
Szerencsekerék | 276 |
Fuss! | 276 |
DragList | 277 |
Feladatütemező | 277 |
Többfülű alkalmazás | 278 |
Varázsló | 278 |
Fényújság | 278 |
Videólejátszó | 278 |
Ötletek a feladatok megoldásához: | 278 |
Grafikus felület kezelése | 289 |
Rajz készítése | 289 |
Rajzoljunk ablakunkba egy ábrát! | 289 |
Tároljuk a rajzot metafájlban! | 291 |
Metafájlt kirajzoló alkalmazás! | 294 |
Rajzolás egérrel | 295 |
Terv | 296 |
Rajzolás pontokkal | 296 |
Rajzolás vonalakkal | 297 |
Tároljuk a rajzot a memóriában! | 300 |
Módosítsuk az egérkurzort! | 304 |
A toll és az ecset beállítása a párbeszédfelületen | 309 |
A terv | 309 |
A rajz | 309 |
A toll és az ecset tulajdonságlapja | 313 |
A toll beállításai | 314 |
Az ecset tulajdonságlapja | 324 |
Az egér elkapása, téglalapba zárása | 332 |
Feladatok: | 334 |
Animált kurzor | 334 |
Pattogó pöttyös labda | 334 |
Pöttyös labda görbült térben | 335 |
Tetszőleges alakú gomb | 335 |
Besüllyedő nyomógomb | 335 |
Számoló ovisok | 335 |
Kapj el! | 335 |
Figyellek! | 336 |
Kávé | 336 |
Karácsonyi képeslap | 336 |
Ötletek a feladatok megoldásához: | 336 |
SDI, MDI alkalmazások | 353 |
'Mindenütt körök' feladat | 353 |
A kör alkalmazás standard tagváltozókkal | 355 |
Tároljuk egy kör adatait egy CCircle osztályban! | 361 |
Több kör tárolása | 365 |
Mindenütt alakzatok | 369 |
A kertablak interfészei | 374 |
Menüpontok | 375 |
Az eszköztár | 376 |
Gyorsgombok | 384 |
Az állapotsor | 386 |
Egy dokumentum, több nézet | 389 |
Egy nézet több ablak | 393 |
Legyen több megosztott nézet | 398 |
Szövegszerkesztő alkalmazás | 401 |
Feladatok | 401 |
Arc | 401 |
SDI pulzáló kör | 401 |
Képrajzolás | 401 |
Kapj el! | 401 |
Rajz gyorsmenüvel | 402 |
Eseménykezelés | 402 |
Egy dokumentum, több önálló nézettel | 402 |
Mindenütt körök több nézettel | 403 |
Ötletek a feladatok megvalósításához | 403 |
A registry használata | 417 |
Beállítások tárolása a registryben | 417 |
Feladatok | 420 |
Az utoljára használt dokumentum beolvasása indításkor | 420 |
Készítsünk ini fájlt az alkalmazásunkhoz! | 420 |
Tanulmányozzuk a registry bejegyzéseket | 420 |
Irodalomjegyzék | 421 |
Tárgymutató | 425 |