Cyfroteka.pl

klikaj i czytaj online

Cyfro
Czytomierz
00393 006097 13603390 na godz. na dobę w sumie
Visual C++ 6. Vademecum profesjonalisty - książka
Visual C++ 6. Vademecum profesjonalisty - książka
Autor: , Liczba stron: 1208
Wydawca: Helion Język publikacji: polski
ISBN: 83-7197-260-1 Data wydania:
Lektor:
Kategoria: ebooki >> komputery i informatyka >> programowanie >> visual c++ - programowanie
Porównaj ceny (książka, ebook, audiobook).
Jeśli potrafi to Visual C++, Ty także osiągniesz zamierzony efekt. Szybko opanujesz zdolności potrzebne do tworzenia zaawansowanych, komercyjnych aplikacji dla Windows i sieci WWW -- poznasz wszystko, co jest do tego potrzebne, od podstaw tworzenia menu i obsługi myszy, przez technologię ODBC, DAO aż do własnych skryptów. Korzystając z książki zawodowych programistów Ricka Leineckera i Toma Archera -- 'Visual C++ 6. Vademecum profesjoanlisty', szybko zdobędziesz najświeższe informacje potrzebne do utrzymania się w czołówce najlepszych programistów.

Proponujemy Ci doskonałą lekturę, która pomoże w:

Na dołączonej do książki płytce CD-ROM znajdziesz rozbudowane narzędzia programistyczne oraz programy demonstracyjne, między innymi: A także pełne programy zademonstrowane w książce!
Znajdź podobne książki Ostatnio czytane w tej kategorii

Darmowy fragment publikacji:

IDZ DO IDZ DO PRZYK£ADOWY ROZDZIA£ PRZYK£ADOWY ROZDZIA£ SPIS TRE(cid:140)CI SPIS TRE(cid:140)CI KATALOG KSI¥flEK KATALOG KSI¥flEK KATALOG ONLINE KATALOG ONLINE ZAM(cid:211)W DRUKOWANY KATALOG ZAM(cid:211)W DRUKOWANY KATALOG TW(cid:211)J KOSZYK TW(cid:211)J KOSZYK DODAJ DO KOSZYKA DODAJ DO KOSZYKA CENNIK I INFORMACJE CENNIK I INFORMACJE ZAM(cid:211)W INFORMACJE ZAM(cid:211)W INFORMACJE O NOWO(cid:140)CIACH O NOWO(cid:140)CIACH ZAM(cid:211)W CENNIK ZAM(cid:211)W CENNIK CZYTELNIA CZYTELNIA FRAGMENTY KSI¥flEK ONLINE FRAGMENTY KSI¥flEK ONLINE Wydawnictwo Helion ul. Chopina 6 44-100 Gliwice tel. (32)230-98-63 e-mail: helion@helion.pl Visual C++ 6. Vademecum profesjonalisty Autorzy: Richard C. Leinecker i Tom Archer T‡umaczenie: Marcin Pancewicz ISBN: 83-7197-260-1 Tytu‡ orygina‡u: Format: B5, stron: 1208 oprawa twarda Zawiera CD-ROM Visual C++ Bible Je(cid:156)li potrafi to Visual C++, Ty tak¿e osi„gniesz zamierzony efekt. Szybko opanujesz zdolno(cid:156)ci potrzebne do tworzenia zaawansowanych, komercyjnych aplikacji dla Windows i sieci WWW -- poznasz wszystko, co jest do tego potrzebne, od podstaw tworzenia menu i obs‡ugi myszy, przez technologiŒ ODBC, DAO a¿ do w‡asnych skrypt(cid:243)w. Korzystaj„c z ksi„¿ki zawodowych programist(cid:243)w Ricka Leineckera i Toma Archera -- (cid:132)Visual C++ 6. Vademecum profesjoanlisty(cid:148), szybko zdobŒdziesz naj(cid:156)wie¿sze informacje potrzebne do utrzymania siŒ w czo‡(cid:243)wce najlepszych programist(cid:243)w. Proponujemy Ci doskona‡„ lekturŒ, kt(cid:243)ra pomo¿e w: opanowaniu og(cid:243)lnych i szczeg(cid:243)‡owych technik programowania dla Windows -- od menu do obs‡ugi wyj„tk(cid:243)w i operacji wej(cid:156)cia-wyj(cid:156)cia; zwiŒkszeniu mo¿liwo(cid:156)ci obs‡ugi baz danych za pomoc„ ODBC, klasy baz danych MFC, DAO, ADO oraz OLE DB; rozszerzeniu aplikacji o dynamicznie ‡„czone biblioteki DLL oraz biblioteki innych programist(cid:243)w; lepszym wykorzystaniu MFC do tworzenia kontrolek ActiveX lub ATL do tworzenia kontrolek o bardzo ma‡ej objŒto(cid:156)ci kodu; pisaniu dynamicznych aplikacji internetowych, aplikacji korzystaj„cych z klasy CHtmlView oraz aplikacji DHTML; poznaniu zaawansowanych mo¿liwo(cid:156)ci pakietu Visual Studio, w‡„cznie z(cid:160) makrami VBScript oraz kreatorami AppWizard tworzonymi przez u¿ytkownika. Na do‡„czonej do ksi„¿ki p‡ytce CD-ROM znajdziesz rozbudowane narzŒdzia programistyczne oraz programy demonstracyjne, miŒdzy innymi: Objective Grid, Objective Grid Lite, Objective Toolkit, Objective Chart, Objective Edit, Objective plug-in oraz Objective Diagram stworzone przez Stingray Software Ultimate Grid oraz Ultimate Wizard Factory stworzone przez Dundas Software BoundsChecker firmy Compuware NuMega Lab A tak¿e pe‡ne programy zademonstrowane w ksi„¿ce! Część I Podstawy Visual C++ Rozdział 1. Zaczynamy ................................................................................................................. 33 Co nowego pojawiło się w Visual C++ 6.0 ...................................................a...........................34 Program HelloWorld1...................................................a...................................................a.........35 Program HelloWorld2...................................................a...................................................a.........38 Kontrolka ATL HelloWorld3...................................................a.................................................40 Podsumowanie ...................................................a...................................................a....................43 Rozdział 2. Korzystanie z zalet zintegrowanego środowiska programisty ............................ 45 Korzystanie ze zintegrowanego środowiska ...................................................a..........................45 Tworzenie pierwszego projektu ...................................................a.............................................47 Dostosowywanie IDE ...................................................a...................................................a.........50 Przeglądanie aktualnych skrótów ...................................................a....................................50 Dodawanie, modyfikowanie i usuwanie skrótów ...................................................a............51 Korzystanie z pasków narzędzi...................................................a..............................................53 Wyświetlanie i ukrywanie pasków narzędzi...................................................a....................53 Dostosowywanie pasków narzędzi ...................................................a..................................54 Podsumowanie ...................................................a...................................................a....................54 Rozdział 3. Debuggowanie: gdy aplikacja nie działa ................................................................ 55 Co każdy debugger posiadać powinien...................................................a..................................56 Debugger zintegrowany z Visual Studio ...................................................a...............................57 Przygotowanie aplikacji do debuggowania ...................................................a.....................57 Korzystanie z debuggera podczas działania aplikacji ...................................................a.....59 Okna debuggowania ...................................................a...................................................a.....60 Korzystanie z punktów wstrzymania i wykonywanie programu krok po kroku ................64 Korzystanie z etykietek danych i okna szybkiego podglądu ..............................................67 Użycie okien wątków i wyjątków w trakcie debuggowania ..............................................67 Proste techniki debuggowania ...................................................a...............................................69 Korzystanie z okien komunikatów w celu przyspieszenia debuggowania .........................69 Wyjście debuggera...................................................a...................................................a........69 Korzystanie z asercji...................................................a...................................................a.....70 Zrzut obiektów...................................................a...................................................a..............71 Klasa CMemoryState i wykrywanie wycieków pamięci...................................................a.71 Komunikaty śledzenia MFC ...................................................a............................................72 Zdalne debuggowanie ...................................................a...................................................a.........72 2 Visual C++6. Vademecum profesjonalisty Debuggowanie „just-in-time” ...................................................a................................................74 Debuggowanie typu „edit and continue” ...................................................a.........................74 Debuggowanie usług Windows NT...................................................a.................................75 Podsumowanie ...................................................a...................................................a....................76 Rozdział 4. Poprawianie wydajności aplikacji .......................................................................... 77 Optymalizowanie kodu ...................................................a...................................................a.......78 Wprowadzenie do profilowania ...................................................a.............................................80 Podstawy profilowania aplikacji...................................................a......................................82 Działanie Profilera ...................................................a...................................................a........82 Rodzaje profilowania...................................................a...................................................a....83 Zaawansowane ustawienia Profilera...................................................a................................84 Włączanie profilowania w Visual C++ 6.0...................................................a............................84 Sterowanie profilowaniem z poziomu Visual Studia ...................................................a......85 Wybór funkcji do profilowania ...................................................a.......................................86 Działanie programu PREP ...................................................a...............................................86 Profilowanie czasu wykonywania funkcji ...................................................a.......................89 Profilowanie pokrycia funkcji ...................................................a.........................................89 Opcje profilowania linii ...................................................a...................................................a90 Profilowanie pokrycia linii ...................................................a..............................................91 Łączenie wyników działania Profilera...................................................a.............................91 Eksportowanie danych z Profilera ...................................................a...................................92 Analizowanie danych Profilera...................................................a........................................92 Zawartość globalnych rekordów informacyjnych ...................................................a...........93 Lokalne rekordy informacyjne ...................................................a........................................94 Analizowanie statyki profilowania ...................................................a..................................95 Przetwarzanie wyników profilera w Excelu ...................................................a....................96 Profilowanie bibliotek łączonych dynamicznie...................................................a...............96 Profilowanie komponentów ActiveX lub kontrolek ActiveX ............................................96 Profilowanie kodu typu inline ...................................................a.........................................98 Profilowanie aplikacji wielowątkowych...................................................a..........................98 Profilowanie wydajności aplikacji...................................................a...................................99 Użycie programu CAP do wyeliminowania powtórzonych wywołań......................................99 Profilowanie usług Windows NT ...................................................a..................................101 Podsumowanie ...................................................a...................................................a..................102 Rozdział 5. Inne narzędzia......................................................................................................... 103 Spy++ ...................................................a...................................................a................................103 Dostosowywanie menu Tools ...................................................a..............................................107 Inne operacje w menu Tools ...................................................a................................................108 Przeglądanie klas...................................................a...................................................a...............109 Przeglądanie kodu źródłowego MFC...................................................a...................................111 Podsumowanie ...................................................a...................................................a..................112 Część II Podstawy programowania Windows Rozdział 6. Przegląd programowania w MFC......................................................................... 115 Co to jest MFC? ...................................................a...................................................a................116 Filozofia MFC...................................................a...................................................a...................117 Zalety płynące z wykorzystania MFC ...................................................a.................................117 Właściwości, właściwości, właściwości...................................................a........................119 Nadająca się do rozbudowy architektura ...................................................a.......................119 Spis treści 3 Hierarchia klas MFC ...................................................a...................................................a.........120 Usługi plików...................................................a...................................................a..............120 Okna...................................................a...................................................a............................120 Grafika ...................................................a...................................................a........................124 Obsługa baz danych ...................................................a...................................................a....125 Nie używasz MFC?...................................................a...................................................a...........125 Podsumowanie ...................................................a...................................................a..................126 Rozdział 7. Menu ......................................................................................................................... 127 Tworzenie i edycja menu ...................................................a...................................................a..128 Tworzenie menu ...................................................a...................................................a.........129 Komunikaty menu w MFC ...................................................a............................................131 Klawisze akceleratorów ...................................................a...................................................a....132 Polecenia wprowadzane poprzez klawiaturę ...................................................a.................133 Definiowanie klawiszy akceleratorów...................................................a...........................134 Wybór odpowiednich klawiszy akceleratorów...................................................a..............135 Korzystanie z kilku tabel akceleratorów...................................................a........................138 Dynamicznie zmieniane menu ...................................................a.............................................140 Zakresy poleceń menu ...................................................a...................................................a140 Zmiana menu w czasie wykonania ...................................................a................................141 Zmiana istniejącego menu ...................................................a.............................................142 Stałe i tymczasowe mapy uchwytów ...................................................a.............................145 Menu kontekstowe ...................................................a...................................................a............147 Podsumowanie ...................................................a...................................................a..................149 Rozdział 8. Mysz i klawiatura ...................................................................................................151 Komunikaty wejściowe i stan systemu ...................................................a................................152 Obsługa myszy...................................................a...................................................a..................152 Tworzenie funkcji obsługi komunikatów myszy...................................................a...........153 Konwersja pomiędzy współrzędnymi ekranowymi a współrzędnymi okna ....................155 Tworzenie programu MFC obsługującego zdarzenia myszy..................................................156 Zdarzenia myszy nie związane z obszarem roboczym ...................................................a..161 Zmiana wyglądu wskaźnika myszy ...................................................a...............................162 Demonstracyjny program zmieniający kształt wskaźnika myszy...........................................163 Przechwytywanie wskaźnika myszy...................................................a..............................166 Ograniczanie ruchów myszy...................................................a..........................................167 Odczyt danych z klawiatury...................................................a.................................................168 Klawiatura fizyczna ...................................................a...................................................a....168 Odzwierciedlanie ogniska wprowadzania ...................................................a.....................172 Podsumowanie ...................................................a...................................................a..................178 Rozdział 9. Grafika...................................................................................................................... 179 Wprowadzenie do interfejsu urządzeń graficznych ...................................................a.............180 Rodzaje grafiki...................................................a...................................................a............180 Rodzaje urządzeń GDI...................................................a...................................................a182 Kontekst urządzenia ...................................................a...................................................a..........183 Atrybuty rysunkowe kontekstu urządzenia ...................................................a...................184 Komunikat WM_PAINT ...................................................a...............................................187 Współrzędne rysowania...................................................a.................................................188 Generowanie komunikatu WM_PAINT...................................................a........................188 Rysowanie poza komunikatem WM_PAINT ...................................................a................190 4 Visual C++6. Vademecum profesjonalisty Manipulowanie tekstem ...................................................a...................................................a....191 Obsługa koloru przez GDI...................................................a.............................................191 Kolor tekstu ...................................................a...................................................a................193 Wyrównywanie tekstu ...................................................a...................................................a194 Justowanie tekstu ...................................................a...................................................a........195 Czcionki ...................................................a...................................................a............................196 Czym jest czcionka? ...................................................a...................................................a...196 Wybieranie obiektów w kontekście urządzenia ...................................................a............196 Wybieranie czcionek magazynowych ...................................................a...........................197 Wybieranie czcionek niemagazynowych ...................................................a......................197 Pióra i pędzle...................................................a...................................................a.....................201 Pióra ...................................................a...................................................a............................202 Pędzle...................................................a...................................................a..........................204 Tryby odwzorowania ...................................................a...................................................a........206 Operacje rastrowe ...................................................a...................................................a.............207 Funkcje rysujące tekst...................................................a...................................................a.209 Obliczanie współrzędnych tekstu ...................................................a..................................210 Regiony obcinania...................................................a...................................................a.............215 Podsumowanie ...................................................a...................................................a..................216 Rozdział 10. Bitmapy, palety, DIB-y oraz podwójne buforowanie......................................... 217 Pamięć bitmapy i pamięć obrazu ...................................................a.........................................218 Tworzenie obiektów CBitmap ...................................................a.............................................220 Ładowanie i ustawianie zawartości bitmapy ...................................................a.......................222 Rysowanie obiektów CBitmap na ekranie ...................................................a...........................223 Operacje rastrowe ...................................................a...................................................a.............226 Program BlitDemo ...................................................a...................................................a............229 Palety i kolor ...................................................a...................................................a.....................234 Palety logiczne...................................................a...................................................a............237 Zdarzenia dotyczące palety...................................................a............................................239 Funkcja SetSystemPaletteUse()...................................................a.....................................241 Bitmapy niezależne od urządzenia...................................................a.......................................241 Anatomia pliku DIB ...................................................a...................................................a...241 Klasa CDib...................................................a...................................................a..................243 Program demonstracyjny ShowDIB ...................................................a..............................249 Podwójne buforowanie ...................................................a...................................................a.....252 Podsumowanie ...................................................a...................................................a..................254 Rozdział 11. Obsługa wyjątków MFC ........................................................................................ 255 Obsługa wyjątków strukturalnych ...................................................a.......................................256 Składnia obsługi wyjątków ...................................................a..................................................256 Zgłaszanie wyjątków ...................................................a...................................................a..256 Wychwytywanie wyjątków ...................................................a...........................................257 Porównanie technik obsługi błędów ...................................................a....................................258 Posługiwanie się kodami błędów...................................................a...................................258 Obsługa błędów we właściwym kontekście ...................................................a..................259 Poprawa czytelności kodu ...................................................a.............................................261 Zgłaszanie wyjątków przez konstruktory ...................................................a......................262 Klasa CException...................................................a...................................................a..............263 Tworzenie i usuwanie obiektów CException ...................................................a................263 Pobieranie od obiektu CException informacji o błędzie ..................................................264 Wychwytywanie wyjątków kilku typów ...................................................a.......................265 Spis treści 5 Definiowanie klas wyprowadzonych z klasy CException ...................................................a...266 Klasa CFileException ...................................................a...................................................a.267 Przykładowy program CFileException...................................................a..........................269 Definiowanie własnych klas wyprowadzonych z klasy CException ...............................272 Zaawansowane techniki obsługi wyjątków...................................................a..........................275 Decydowanie, która funkcja powinna wychwycić wyjątek .............................................276 Wybór kodu przeznaczonego do umieszczenia w bloku try ............................................277 Wybór kodu przeznaczonego do umieszczenia w bloku catch ........................................278 Zgłaszanie wyjątków w funkcjach wirtualnych ...................................................a............279 Podsumowanie ...................................................a...................................................a..................282 Rozdział 12. Kontrolki .................................................................................................................. 283 Wprowadzenie ...................................................a...................................................a..................283 Tworzenie kontrolek ...................................................a...................................................a.........284 Używanie klasy CButton ...................................................a...............................................287 Używanie klasy CListBox ...................................................a.............................................289 Używanie klasy CEdit ...................................................a...................................................a293 Używanie klasy CStatic ...................................................a.................................................297 Używanie klasy CScrollBar...................................................a...........................................300 Używanie klasy CComboBox...................................................a........................................303 Program Mini edytora ...................................................a...................................................a.......306 Zaawansowane programowanie kontrolek...................................................a...........................307 Dodawanie interfejsu klawiatury ...................................................a...................................307 Modyfikowanie działania kontrolki...................................................a...............................308 Przyciski z bitmapami...................................................a...................................................a.309 Zmiana koloru kontrolki ...................................................a................................................311 Podsumowanie ...................................................a...................................................a..................313 Rozdział 13. Modalne i niemodalne okna dialogowe ................................................................ 315 Korzystanie z edytora dialogów...................................................a...........................................316 Szablony dialogów...................................................a...................................................a......316 Tworzenie nowego szablonu projektu ...................................................a...........................317 Edycja szablonu dialogu ...................................................a................................................318 Testowanie dialogu ...................................................a...................................................a.....323 Klasa CDialog ...................................................a...................................................a...................323 Modalne i niemodalne okna dialogowe ...................................................a.........................323 Tworzenie za pomocą ClassWizarda klas wyprowadzonych z klasy CDialog ................325 Zatwierdzanie i wymiana danych dialogu ...................................................a...........................326 Tworzenie zmiennych DDX ...................................................a..........................................326 Funkcje DoDataExchange oraz UpdateData ...................................................a.................327 Program demonstracyjny AddressBook...................................................a...............................329 Edycja przykładowego dialogu...................................................a......................................329 Klasa CContact ...................................................a...................................................a...........331 Przesłaniamy funkcję OnInitDialog ...................................................a..............................332 Obsługa komunikatu WM_DESTROY ...................................................a.........................333 Wyświetlanie danych...................................................a...................................................a..334 Obsługa komunikatów przycisków...................................................a................................334 Budowanie i testowanie programu demonstracyjnego ...................................................a..335 Stosowanie w dialogach kontrolek klas pochodnych ...................................................a..........336 Tworzenie klas kontrolek ...................................................a..............................................336 Program AddressBook: CAutoCompleteComboBox ...................................................a....340 6 Visual C++6. Vademecum profesjonalisty Serializacja ...................................................a...................................................a........................342 Uczynienie klas serializowalnymi ...................................................a.................................343 Implementowanie funkcji wirtualnej Serialize() ...................................................a...........343 Odczyt danych z dysku ...................................................a..................................................344 Zapis danych na dysk...................................................a...................................................a..344 Dodanie serializacji do programu AddressBook ...................................................a...........344 Podsumowanie ...................................................a...................................................a..................350 Rozdział 14. Karty i arkusze właściwości................................................................................... 351 Klasy CPropertySheet oraz CPropertyPage ...................................................a.........................352 Tworzenie zasobu karty właściwości ...................................................a............................353 Tworzenie klasy CPropertyPage...................................................a....................................354 Tworzenie i wyświetlanie modalnego arkusza właściwości ............................................354 Tworzenie i wyświetlanie niemodalnego arkusza właściwości........................................354 Tworzenie i wyświetlanie arkusza właściwości wewnątrz istniejącego dialogu..............356 Program demonstrujący modalny arkusz właściwości ...................................................a........357 Karty i arkusze właściwości: rady i techniki ...................................................a.......................359 Usuwanie standardowych przycisków...................................................a...........................359 Zmiana położenia standardowych przycisków ...................................................a..............361 Zmiana tytułów standardowych przycisków ...................................................a.................362 Wyłączanie zakładek ...................................................a...................................................a..362 Ponowne włączanie kart właściwości...................................................a............................366 Dynamiczna zmiana tytułów kart właściwości...................................................a..............367 Zmiana czcionki zakładek ...................................................a.............................................370 Użycie mnemonik z obiektami CPropertyPage ...................................................a.............370 Podsumowanie ...................................................a...................................................a..................372 Rozdział 15. Zapis i odczyt danych ............................................................................................. 373 Klasa CString ...................................................a...................................................a....................374 Tworzenie łańcuchów ...................................................a...................................................a.374 Dostęp do łańcucha znaków ...................................................a..........................................375 Porównania łańcuchów ...................................................a..................................................376 Wydzielanie podłańcuchów...................................................a...........................................378 Wyszukiwanie podłańcuchów ...................................................a.......................................378 Program StringDemo ...................................................a...................................................a........379 Klasa CFile...................................................a...................................................a........................385 Program FileDemo ...................................................a...................................................a............389 Klasa CCompressedFile ...................................................a...................................................a....395 Program CompressDemo ...................................................a...................................................a..396 Kompresja danych...................................................a...................................................a.............398 Metoda Huffmana ...................................................a...................................................a.......398 LZSS ...................................................a...................................................a...........................399 LZW...................................................a...................................................a............................399 Funkcje klasy CCompressedFile ...................................................a...................................400 Działanie programu CompressDemo...................................................a.............................402 Klasa CSerial dla komunikacji szeregowej...................................................a..........................405 Komunikacja szeregowa ...................................................a................................................405 Klasa CSerial ...................................................a...................................................a..............406 Klasa CRegistry ...................................................a...................................................a................408 Wartości Rejestru...................................................a...................................................a........408 Predefiniowane klucze Rejestru ...................................................a....................................408 Powszechnie wykorzystywane klucze Rejestru...................................................a.............409 Działanie klasy CRegistry ...................................................a.............................................410 Korzystanie ze schowka...................................................a...................................................a....412 Podsumowanie ...................................................a...................................................a..................415 Spis treści 7 Rozdział 16. Dźwięk....................................................................................................................... 417 Odtwarzanie zarejestrowanych dźwięków...................................................a...........................417 Rzut okiem na klasę CWave...................................................a..........................................418 Odtwarzanie plików dźwiękowych za pomocą Windows API.........................................418 Funkcje klasy CWave ...................................................a...................................................a.421 Program WaveDemo...................................................a...................................................a.........422 Odtwarzanie plików MIDI ...................................................a...................................................a425 Czym jest MIDI? ...................................................a...................................................a........426 Rzut okiem na klasę CMidi ...................................................a...........................................426 Funkcje klasy CMidi...................................................a...................................................a...426 Program MIDIDemo ...................................................a...................................................a.........427 CD Audio ...................................................a...................................................a..........................431 Rzut okiem na klasę CCDAudio...................................................a....................................432 Media Control Interface...................................................a.................................................432 Funkcje klasy CCDAudio...................................................a..............................................433 Program CDPlayer ...................................................a...................................................a............434 Podsumowanie ...................................................a...................................................a..................440 Rozdział 17. Timery oraz przetwarzanie w jałowym czasie aplikacji.................................... 441 Timery ...................................................a...................................................a...............................442 Przygotowanie timera do wysyłania komunikatów WM_TIMER ...................................442 Przygotowanie timera do wywoływania funkcji zwrotnej ...............................................444 Program Clock ...................................................a...................................................a..................446 Przetwarzanie w jałowym czasie aplikacji...................................................a...........................452 Program OnIdleDemo ...................................................a...................................................a.......454 Podsumowanie ...................................................a...................................................a..................457 Część III Architektura Rozdział 18. Zarządzanie pamięcią ............................................................................................ 461 Zarządzanie pamięcią systemową ...................................................a........................................461 32-bitowy, stronicowany tryb adresowania Intela...................................................a.........464 Przestrzeń adresowa procesu w Windows 98 ...................................................a................466 Porządkowanie pamięci systemowej ...................................................a.............................470 Prywatna pamięć procesu...................................................a...................................................a..472 Alokowanie stron...................................................a...................................................a........473 Pamięć alokowana przez kompilator ...................................................a.............................478 Prywatne sterty Win32 ...................................................a..................................................483 Pamięć wspólna...................................................a...................................................a.................490 Pliki odwzorowane w pamięci...................................................a.......................................492 Dynamiczne alokowanie wspólnych stron ...................................................a....................498 Statyczne alokowanie wspólnych stron ...................................................a.........................502 Podsumowanie ...................................................a...................................................a..................503 Rozdział 19. Dokumenty, widoki i SDI....................................................................................... 505 Projekt typu dokument-widok...................................................a..............................................506 Klasa CDocument ...................................................a...................................................a.............507 Deklarowanie klasy dokumentu w aplikacji...................................................a..................508 Zmienne składowe klasy CDocument ...................................................a...........................509 Dokumenty a przetwarzanie komunikatów ...................................................a...................511 Przesłanianie wirtualnych funkcji dokumentu...................................................a...............512 Praca ze złożonymi danymi dokumentu ...................................................a........................513 Zalety klas CCmdTarget oraz CDocItem ...................................................a......................516 8 Visual C++6. Vademecum profesjonalisty Znaczenie funkcji InitInstance dla dokumentów ...................................................a.................518 W jaki sposób aplikacja zarządza dokumentami i widokami ...........................................519 Klasa CSingleDocTemplate...................................................a...........................................519 Okna ramek...................................................a...................................................a.................520 Zasoby wzorców dokumentów ...................................................a......................................520 W jaki sposób zasób łańcucha wpływa na wzorzec dokumentu ......................................521 Podział zasobu łańcucha ...................................................a................................................522 Przegląd standardowych zasobów widoków ...................................................a.................523 Czas życia wzorca dokumentu...................................................a.......................................524 Zaawansowane posługiwanie się wzorcami ...................................................a..................525 Praca z kilkoma wzorcami...................................................a.............................................525 Niszczenie wzorców dodanych funkcją składową AddDocTemplate() ...........................527 Wykorzystanie klasy CView...................................................a................................................528 Deklarowanie klasy widoku ...................................................a..........................................528 Funkcje składowe klasy CView...................................................a.....................................529 Widoki a komunikaty ...................................................a...................................................a.531 Warianty klasy okna wyprowadzone z klasy CView ...................................................a....532 Aplikacje oparte na klasie CFormView i aplikacje okien dialogowych...........................533 Powrót do okien ramki...................................................a...................................................a533 Znaczenie funkcji AfxGetMainWnd()...................................................a...........................534 Aplikacja jednodokumentowa HexView ...................................................a.............................535 Podsumowanie ...................................................a...................................................a..................541 Rozdział 20. Układ aplikacji MDI............................................................................................... 543 Ponowny przegląd modelu dokument-widok ...................................................a......................544 Ponowny przegląd klasy CDocument ...................................................a..................................546 Zarządzanie bardziej złożonymi kombinacjami dokumentów, widoków i ramek..................547 Praca z kilkoma rodzajami dokumentów...................................................a.......................547 Użycie kilku rodzajów widoków dokumentu ...................................................a................548 Klasa CMDIFrameWnd...................................................a.................................................550 Klasa CMDIChildWnd ...................................................a..................................................551 Klasa CMultiDocTemplate ...................................................a............................................553 Narzut związany z użyciem klasy CDocument ...................................................a.............554 Dalsze właściwości aplikacji MDI ...................................................a................................554 Program PaintObj...................................................a...................................................a..............555 Dzielone okna ...................................................a...................................................a...................562 Różnice pomiędzy dzielonymi oknami ...................................................a.........................563 Specyfika klasy CSplitterWnd...................................................a.......................................564 Dodatkowe uwagi na temat dynamicznych okien dzielonych..........................................566 Użycie różnych widoków w dynamicznych panelach...................................................a...567 Użycie obiektu CRuntimeClass ...................................................a.....................................568 Użycie okien dzielonych z widokami powiązanymi z więcej niż jednym dokumentem .569 Użycie statycznych okien dzielonych...................................................a............................570 Tworzenie statycznego okna dzielonego ...................................................a.......................570 Wspólne paski przewijania ...................................................a............................................571 Wyznaczanie rozmiaru aktualnego i idealnego ...................................................a.............572 Wydajność okien dzielonych ...................................................a.........................................573 Program Dynsplit ...................................................a...................................................a..............573 Subclassing okien potomnych...................................................a..............................................578 Subclassing okien z pomocą MFC ...................................................a................................579 Alternatywy dla architektury dokument-widok...................................................a.............580 Podsumowanie ...................................................a...................................................a..................581 Spis treści 9 Rozdział 21. Wydruk i podgląd wydruku .................................................................................. 583 Obsługa wydruku wbudowana w API Windows ...................................................a.................584 Informacje o drukarce...................................................a...................................................a.587 Znaczenie charakterystyki tekstu...................................................a...................................588 Przykład drukowania z użyciem API Windows ...................................................a..................589 Drukowanie w MFC......................................a...................................................a.......................591 Podział ról przy drukowaniu...................................................a..........................................591 Sekwencja wydruku w MFC ...................................................a.........................................592 Dalszy wgląd w domyślny proces drukowania w MFC ...................................................a595 Protokół wydruku ...................................................a...................................................a.......596 Przesłanianie funkcji klasy widoku ...................................................a...............................596 Klasa CPrintInfo ...................................................a...................................................a.........598 Strony wydruku a strony dokumentu...................................................a.............................598 Implementacja podziału na strony (paginacji)...................................................a...............599 Dodanie funkcji pomocniczych ...................................................a.....................................601 Paginacja w czasie wydruku ...................................................a..........................................604 Powrót do drukowanie nagłówków i stopek...................................................a..................604 Alokowanie zasobów GDI dla wydruku...................................................a........................605 Powiększanie drukowanego obrazu...................................................a...............................606 Architektura podglądu wydruku ...................................................a..........................................606 Proces podglądu wydruku...................................................a..............................................607 Modyfikowanie podglądu wydruku...................................................a...............................607 Rozszerzanie podglądu wydruku w aplikacji ...................................................a................608 Klasa CPrintDialog ...................................................a...................................................a.....610 Program HexViewMDI...................................................a...................................................a.....611 Podsumowanie ...................................................a...................................................a..................615 Rozdział 22. MFC i elementy zaawansowanego interfejsu użytkownika............................... 617 Czasem potrzeba większej kontroli...................................................a......................................618 Pętla modalna ...................................................a...................................................a....................619 Wnętrze funkcji RunModalLoop()...................................................a.......................................619 Parametry pętli modalnej ...................................................a...................................................a..622 Przerywanie pętli modalnej...................................................a..................................................623 Tworzenie modalnej aplikacji ...................................................a..............................................623 Tworzenie i zamykanie okna modalnego...................................................a.............................624 Dodawanie funkcji obsługi ...................................................a............................................624 Prosta modalna aplikacja ...................................................a...............................................627 Dalsza rozbudowa modalnego okna ...................................................a....................................628 Rysowanie przezroczystej bitmapy na przezroczystym obszarze roboczym..........................632 Wyświetlanie bitmapy ...................................................a...................................................a633 Wyznaczenie miejsca wklejenia bitmapy ...................................................a......................636 Zgodne konteksty urządzeń ...................................................a...........................................637 Struktura BITMAP ...................................................a...................................................a.....638 Składanie wszystkiego razem ...................................................a........................................640 Ograniczenie obszaru kliknięcia...................................................a....................................642 Podsumowanie ...................................................a...................................................a..................643 Rozdział 23. Paski stanu i paski narzędzi................................................................................... 645 Tworzenie i wykorzystywanie pasków stanu...................................................a.......................646 Tworzenie paska stanu...................................................a...................................................a646 Dostosowywanie pasków stanu ...................................................a.....................................647 Tworzenie i kontrolowanie pasków narzędzi...................................................a.......................651 Paski kontrolek MFC ...................................................a...................................................a..651 Tworzenie i inicjowanie paska narzędzi...................................................a........................652 10 Visual C++6. Vademecum profesjonalisty Korzystanie z kontrolek ReBar ...................................................a............................................657 Podsumowanie ...................................................a...................................................a..................658 Rozdział 24. Kontrolka widoku drzewa i kontrolka widoku listy .......................................... 659 CTreeCtrl ...................................................a...................................................a..........................660 Podstawy kontrolki widoku drzewa...................................................a...............................661 Klasa CTreeCtrl ...................................................a...................................................a..........662 Program demonstracyjny CTreeCtrlDemo ...................................................a....................670 CListCtrl...................................................a...................................................a............................675 Podstawy kontrolki widoku listy ...................................................a...................................675 Klasa CListCtrl ...................................................a...................................................a...........676 Podsumowanie ...................................................a...................................................a..................681 Rozdział 25. Wątki......................................................................................................................... 683 Wątki ...................................................a...................................................a.................................684 Tworzenie wątków roboczych ...................................................a.......................................685 Funkcja wątku...................................................a...................................................a.............687 Tworzenie wątków interfejsu użytkownika...................................................a...................687 Wstrzymywanie i wznawianie wątków ...................................................a.........................688 Usypianie wątków ...................................................a...................................................a......689 Kończenie działania wątku ...................................................a............................................689 Kończenie działania wątku z wnętrza innego wątku ...................................................a.....690 Wątki, procesy i priorytety ...................................................a............................................693 Klasy priorytetu procesu...................................................a................................................695 Dzielenie obiektów MFC pomiędzy wątkami ...................................................a.....................695 Używanie funkcji biblioteki czasu wykonania C w aplikacjach wielowątkowych ................698 Program ThreadDemo1...................................................a...................................................a.....699 Podsumowanie ...................................................a...................................................a..................703 Część IV Programowanie baz danych Rozdział 26. ODBC........................................................................................................................ 707 Terminologia związana z ODBC i bazami danych ...................................................a..............708 ODBC – potrzeba standardu ...................................................a................................................710 Standard ODBC ...................................................a...................................................a..........710 Poziomy zgodności ODBC API ...................................................a....................................711 Poziomy zgodności ODBC SQL ...................................................a...................................712 ODBC – implementacja ...................................................a...................................................a....713 Konfigurowanie ODBC ...................................................a.................................................713 Łączenie się ze źródłem danych ...................................................a....................................715 Pobieranie informacji o źródle danych ...................................................a..........................716 Przygotowywanie i wykonywanie poleceń SQL ...................................................a...........716 Pobieranie danych...................................................a...................................................a.......717 Odłączanie się od źródła danych ...................................................a...................................718 Użycie ODBC do pobierania danych...................................................a...................................719 Dodawanie obsługi ODBC do projektu Visual C++ ...................................................a.....720 Modyfikowanie okna dialogowego programu...................................................a...............720 Dodawanie kodu inicjalizacji i dostępu do bazy danych..................................................721 Użycie ODBC do dynamicznego odpytywania źródła danych...............................................727 Deklaracja klasy CODBCDynamic ...................................................a...............................727 Działanie klasy CODBCDynamic ...................................................a.................................729 Użycie klasy CODBCDynamic ...................................................a.....................................734 Podsumowanie ...................................................a...................................................a..................735 Spis treści 11 Rozdział 27. Klasy baz danych MFC.......................................................................................... 737 Klasa CDatabase ...................................................a...................................................a...............738 Klasa CRecordset...................................................a...................................................a........741 Konstruowanie rekordsetu ...................................................a.............................................745 Otwieranie rekordsetu...................................................a...................................................a.746 Odczyt i zapis danych z użyciem RFX...................................................a..........................746 Filtrowanie rekordów...................................................a...................................................a..747 Sortowanie rekordów zwróconych przez rekordset...................................................a.......749 Poruszanie się w zestawie wyników...................................................a..............................750 Zapisywanie rekordów...................................................a...................................................a751 Usuwanie rekordów ...................................................a...................................................a....751 Użycie klas baz danych MFC ...................................................a..............................................752 Dodanie obsługi klas baz danych MFC ...................................................a.........................752 Tworzenie interfejsu użytkownika dla programu demonstracyjnego...............................752 Dodawanie klasy pomocniczej reprezentującej dane użytkownika..................................753 Tworzenie klasy rekordsetu dla tabeli UserMaster ...................................................a.......754 Modyfikowanie pliku nagłówkowego dialogu ...................................................a..............754 Modyfikowanie pliku implementującego dialog ....................................
Pobierz darmowy fragment (pdf)

Gdzie kupić całą publikację:

Visual C++ 6. Vademecum profesjonalisty
Autor:
,

Opinie na temat publikacji:


Inne popularne pozycje z tej kategorii:


Czytaj również:


Prowadzisz stronę lub blog? Wstaw link do fragmentu tej książki i współpracuj z Cyfroteką: