| I. KÖTET | |
| Bevezetés | 3 |
| A Microsoft Visual C++ 6 bemutatása | 7 |
| A szoftver telepítése | 11 |
| A Visual C++ 6 telepítése | 11 |
| Mit tartalmaz a Visual C++ 6? | 14 |
| A mellékelt CD használata | 18 |
| Programok készítése a Microsoft Developer Studioval | 23 |
| Projektek készítése | 23 |
| A program forrásfájljainak létrehozása és szerkesztése | 30 |
| Projektbeállítások megváltoztatása | 37 |
| A program fordítása | 40 |
| A program tesztelése | 44 |
| Bevezetés a C++-ba | 51 |
| Váltás a C++-ra | 55 |
| Áttérés C-ről C++-ra | 56 |
| A C++ új lehetőségei | 61 |
| C++-osztályok létrehozása | 95 |
| Osztály létrehozása | 95 |
| Példányok létrehozása | 97 |
| Tagok elérése | 98 |
| Egységbezárás | 99 |
| Konstruktorok és destruktorok | 103 |
| Inline tagfüggvények | 114 |
| Forrásállományok elrendezése | 116 |
| A this mutató | 118 |
| Statikus tagok | 120 |
| C++ osztályok származtatása | 127 |
| Osztály származtatása | 127 |
| Osztályhierarchia létrehozása | 134 |
| Virtuális függvények használata | 140 |
| Túlterhelés, másolás és konverzió | 155 |
| Operátorok túlterhelése | 155 |
| A másolási és konverziós konstruktorok használata | 169 |
| C++ sablonok használata | 185 |
| Függvénysablonok definiálása | 185 |
| Osztálysablonok definiálása | 190 |
| Kivételkezelés C++-ban | 203 |
| Kiváltott kivételek kezelése | 203 |
| A Win32 kivételek kezelése | 217 |
| Windows-programozás az MFC osztálykönyvtárral | 227 |
| Windows GUI program fejlesztése | 231 |
| A Windows GUI programozása | 231 |
| A program létrehozása és lefordítása | 233 |
| A program osztályai és fájljai | 248 |
| Hogyan működik a program? | 252 |
| A nézet megvalósítása | 267 |
| A MiniDraw program | 267 |
| A MiniEdit program | 293 |
| A dokumentum megvalósítása | 307 |
| A grafikus adatok tárolása | 308 |
| Az ablak újrarajzolása | 313 |
| Menüpontok létrehozása | 314 |
| A dokumentum adatainak törlése | 315 |
| A menüpontok megvalósítása | 317 |
| A MiniDraw program forráskódja | 323 |
| Dokumentumok tárolása háttértárolón | 329 |
| A fájl I/O megvalósítása a MiniDraw programban | 329 |
| A fájl I/O megvalósítása a MiniEdit programban | 342 |
| Görgethető és elválasztott nézetek | 357 |
| Görgetés megvalósítása | 357 |
| A feloszthatóság megvalósítása | 372 |
| A nézetablakok frissítése | 375 |
| A MiniDraw program forráslistái | 383 |
| Státuszsorok és eszköztárak használata | 391 |
| Eszköztár és státuszsor hozzáadása új programhoz | 391 |
| Eszköztár hozzáadása a MiniDraw programhoz | 395 |
| Státuszsor hozzáadása a MiniDraw programhoz | 414 |
| A MiniDraw forráskódja | 418 |
| Dialógussávok és rebar kontrolok | 419 |
| Saját dialógusablakok létrehozása | 425 |
| Modális dialógusablak létrehozása | 426 |
| Nem modális dialógusablak létrehozása | 465 |
| Több fülből álló dialógusablak létrehozása | 467 |
| Beépített dialógusablakok | 476 |
| Dialógus alapú alkalmazások készítése | 483 |
| Egyszerű dialógus alapú program készítése | 483 |
| Form alapú program készítése | 495 |
| II. KÖTET | |
| Többdokumentumos alkalmazások készítése | 3 |
| A többdokumentumos felület | 3 |
| A program elkészítése | 5 |
| A programhoz tartozó osztályok, fájlok és forráskód | 8 |
| Az alkalmazásosztály | 8 |
| A dokumentum osztály | 8 |
| A fő keretablak osztály | 9 |
| A gyermek keretablak osztály | 10 |
| Több dokumentumtípus együttes használata | 12 |
| A nézetosztály | 13 |
| A generált kód | 13 |
| Tervezzünk előre! | 14 |
| Az erőforrások testreszabása | 14 |
| Menüpontok másolása | 16 |
| Néhány szó a New Window menüpontról | 17 |
| Ikon másolása | 18 |
| A MiniEdit példaprogram forráskódja | 19 |
| Összefoglalás | 19 |
| Szöveges input- és outputkezelés | 25 |
| Szöveg kiírása | 25 |
| A program elkészítése | 27 |
| A sorok megjelenítését végző kód megírása | 27 |
| A Font objektum létrehozása és a szöveg tárolása | 33 |
| Alapfontok használata | 47 |
| Gördítés megvalósítása | 49 |
| Az InitInstance függvény módosítása | 52 |
| Olvasás a billentyűzetről | 52 |
| Billentyűk olvasása egy WM_KEYDOWN üzenetkezelő segítségével | 52 |
| Billentyűk beolvasása egy WM_CHAR üzenetkezelő segítségével | 59 |
| A forráskód előállítása | 60 |
| Az erőforrások módosítása | 60 |
| Az üzenetkezelők definiálása | 61 |
| Kód hozzáadása | 62 |
| Kurzorkezelés | 65 |
| A TextDemo és az Echo programok forráskódja | 70 |
| Összefoglalás | 70 |
| Rajzolófüggvények használata | 75 |
| Az eszköz-környezet objektum létrehozása | 76 |
| Rajzeszközök kiválasztása | 78 |
| Alap rajzolóeszközök választása | 79 |
| Saját rajzeszközök létrehozása | 81 |
| Rajzolási tulajdonságok beállítása | 86 |
| A leképezési mód | 88 |
| Grafikák rajzolása | 92 |
| Pontok rajzolása | 93 |
| A Mandel program | 94 |
| Egyenes vonalak és ívek rajzolása | 101 |
| Egyenes vonalak | 101 |
| Reguláris görbék | 102 |
| Nem reguláris görbék | 103 |
| Vonalak rajzolási módjai | 106 |
| A háttérmód és háttérszín nem szolid vonalak esetén | 107 |
| Zárt alakzatok rajzolása | 107 |
| Egyéb rajzoló függvények | 112 |
| A MiniDraw program | 113 |
| Az alakzatok osztályainak definiálása | 120 |
| Egyéb kódmódosítások | 131 |
| A MiniDraw forráskódja | 138 |
| Összefoglalás | 139 |
| Bittérképek és bitműveletek használata | 143 |
| Bittérképek létrehozása | 143 |
| Bittérképek betöltése erőforrásból | 144 |
| Bittérképek létrehozása rajzolófüggvényekkel | 146 |
| Bittérképek megjelenítése | 150 |
| Bittérképek használatának további módjai | 153 |
| Bitműveletek használata | 153 |
| BatBlt | 154 |
| BitBlt | 156 |
| A BitBlt használata animációkhoz | 158 |
| StretchBlt | 160 |
| Ikonok megjelenítése | 161 |
| A BitDemo program | 164 |
| A bittérkép megtervezése | 165 |
| A kód módosítása | 166 |
| A BitDemo forráskódja | 168 |
| Összefoglalás | 169 |
| Nyomtatás és a nyomtatási kép | 173 |
| Egyszerű nyomtatás és nyomtatási kép | 173 |
| Erőforrások módosítása | 174 |
| A forrásprogram módosítása | 176 |
| Nyomtatási támogatás hozzáadása egy CEditView ablakhoz | 181 |
| Kibővített nyomtatás | 182 |
| A nyomtatási terület méretének változtatása | 182 |
| Virtuális nyomtatási eljárások felüldefiniálása | 183 |
| Az OnDraw függvény módosítása | 190 |
| A GetDeviceCaps függvény | 192 |
| Altenatív leképezési módok használata | 194 |
| A MiniDraw forráskódja | 194 |
| Összefoglalás | 195 |
| Többszálú programok | 201 |
| Másodlagos szálak készítése és kezelése | 201 |
| Szálak megállítása | 205 |
| Szálak kezelése | 205 |
| Korlátozások MFC osztályokra | 207 |
| Szálak szinkronizálása | 209 |
| További szinkronizációs objektumok | 213 |
| Más szinkronizációs módszerek | 214 |
| A Mandel program többszálú változata | 215 |
| A MandelMT forráskódja | 223 |
| Összefoglalás | 223 |
| Processzek közötti kommunikáció | 229 |
| Új processz indítása | 229 |
| Processzek szinkronizálása, osztott objektumok kezelése | 233 |
| Örökölt és másolt azonosítók | 236 |
| Adatcsere csatorna használatával | 237 |
| Osztott memória | 239 |
| A vágólap használata | 240 |
| Vágólap parancsok | 240 |
| A vágólap használata szöveges adatok továbbítására | 244 |
| Szöveg küldése a vágólapra | 244 |
| Szöveg beillesztése a vágólapról | 250 |
| A vágólap használata grafikus adatok továbbítására | 254 |
| Bittérkép másolása a vágólapra | 254 |
| Bittérkép beillesztése a vágólapról | 257 |
| A vágólap használata regisztrált formátum továbbítására | 260 |
| Összefoglalás | 262 |
| Az OLE használata | 267 |
| Beágyazás, csatolás és Automation | 268 |
| Szerveralkalmazás készítése | 271 |
| A szerveralkalmazás vázának elkészítése az AppWizard-dal | 272 |
| Az alkalmazás osztály | 273 |
| A dokumentumosztály | 277 |
| A szerver adatelem osztály | 277 |
| A helyben-szerkesztő keretablak osztály | 278 |
| A nézetosztály | 279 |
| Az erőforrások | 280 |
| A szerveralkalmazás-specifikus részleteinek elkészítése | 280 |
| Az OLE támogatás megvalósítása | 281 |
| A ServDemo program forráslistái | 288 |
| Tárolóalkalmazás készítése | 289 |
| Az alkalmazás osztály | 290 |
| A dokumentumosztály | 290 |
| A tároló adatelem osztálya | 291 |
| A nézetosztály | 293 |
| Az erőforrások | 294 |
| A ContDemo program lefordítása és futtatása | 296 |
| A ContDemo program forráslistája | 299 |
| Összefoglalás | 299 |
| ActiveX vezérlők készítése és használata | 305 |
| ActiveX vezérlő készítése | 306 |
| A forrásfájlok elkészítése | 307 |
| Az ActiveX vezérlő program testre szabása | 308 |
| A vezérlőben megjelenített bittérképek elkészítése | 308 |
| A program ábrájának és ikonjának megváltoztatása | 310 |
| A bittérképek elkészítése és megjelenítése | 310 |
| Üzenetkezelő készítése a kattintás eseményhez | 311 |
| Tulajdonságok definiálása | 312 |
| A BackColor beépített tulajdonság definiálása | 312 |
| A saját készítésű ShowFrame tulajdonság definiálása | 314 |
| Az OnDraw függvény megváltoztatása | 316 |
| A tulajdonság-lapok megváltoztatása | 317 |
| Metódusok definiálása | 320 |
| Események definiálása | 321 |
| A vezérlő lefordítása | 322 |
| Az AXCtrl program forráslistája | 322 |
| ActiveX vezérlőt tartalmazó tárolóalkalmazás készítése | 323 |
| A forráskód fájlok elkészítése | 323 |
| Az ActiveX vezérlő beillesztése a projektbe | 324 |
| A program dialógusablakának elkészítése | 326 |
| Az ActiveX vezérlő és a burkoló osztály példányának összekapcsolása | 328 |
| Üzenetkezelők definiálása a nyomógombokhoz | 328 |
| Üzenetkezelő létrehozása a kattintás eseményhez | 329 |
| Az AXCont program lefordítása és tesztelése | 330 |
| Az ACXont program forráslistái | 330 |
| Összefoglalás | 331 |
| Tárgymutató | 335 |