7019

Szczegóły
Tytuł 7019
Rozszerzenie: PDF
Jesteś autorem/wydawcą tego dokumentu/książki i zauważyłeś że ktoś wgrał ją bez Twojej zgody? Nie życzysz sobie, aby podgląd był dostępny w naszym serwisie? Napisz na adres [email protected] a my odpowiemy na skargę i usuniemy zabroniony dokument w ciągu 24 godzin.

7019 PDF - Pobierz:

Pobierz PDF

 

Zobacz podgląd pliku o nazwie 7019 PDF poniżej lub pobierz go na swoje urządzenie za darmo bez rejestracji. Możesz również pozostać na naszej stronie i czytać dokument online bez limitów.

7019 - podejrzyj 20 pierwszych stron:

JON BATES TIM TOMPKINS POZNAJ VISUAL C++ 6 Przek�ad z j�zyka angielskiego: Marek Korbecki (1-17), S�awomir Dzieniszewski (18-28, s�owniczek) Najwi�kszemu i najlepszemu ze wszystkich program�w, genetycznemu kodowi �ycia - DNA. O M 1 KO~M� Polska wersja ok�adki: Grzegorz �awniczak Redakcja: Justyna Domas�owska-Szulc Sk�ad komputerowy: Ma�gorzata D�bkowska-Kowalik O au' Kolejna ksi��ka z serii �Poznaj..." dotyczy programu Visual C++ 6, najlepszej, jak dot�d, wersji kompilatora C/C++ autorstwa firmy Microsoft. Wpr` Ksi��ka jest zbiorem u�ytecznych informacji na temat programowania ~" w w j�zyku C++, z kt�rego mo�na korzysta� zar�wno wybi�rczo, jak C, i systematycznie. Mo�na si� z niej nauczy� wielu nowych funkcji, takich jak tworzenie aplikacji "' SDI i MDI, u�ycie wska�nika post�pu, korzystania z list, drzew, opcji Cz�t formatowania i podgl�du HTML, tworzenie, importowanie i edytowanie ikon oraz rysunk�w bitmapowych. Rozd Ksi��ka powsta�a w oparciu o wieloletnie do�wiadczenie autor�w, kt�rzy w najbardziej przyst�pny spos�b wyja�niaj� i opisuj� na konkretnych przyk�adach wszystkie zagadnienia zwi�zane z tworzeniem nowoczesnych, wielodokumentowych aplikacji. Ksi��ka jest adresowana do u�ytkownik�w, kt�rzy maj� ju� pewn� wiedz� w zakresie programowania w tym j�zyku. Authorized translation from English language edition published by QUE CORPORATION Copyright � 1999. All rights reserved. No part of this book may be reproduced or transmitted in any form or any means, electronic or mechanical, including photocopying, recording or by any information storage retrieval system, without permission from the Publisher. Polish language edition published by Wydawnictwo MIKOM, Copyright � 1999. Tytu� orygina�u: Using Visual C++ 6. Wszystkie prawa zastrze�one. Reprodukcja bez zezwolenia zabroniona. Wydawca nie ponosi odpowiedzialno�ci za ewentualne szkody powsta�e przy wykorzystaniu zawartych w ksi��ce informacji. Wydawca: MIKOM, ul. Andrzejowska 3, 02-312 Warszawa, tel. 823-70-77 Rozd; Pr Druk: Wyd. Archidiecezji Warszawskiej, ul. Rybnicka 27, 02-405 Warszawa. pl ISBN 83-7158-190-4 Warszawa, sierpie� 1999 Spis tre�ci O autorach .................................................12 Wprowadzenie...........................................15 Czym jest Visual C++ 6.0 i dlaczego warto go u�ywa�?.................................. 15 C� nowego jest w tej ksi��ce?............. 15 Czy to jest odpowiednia ksi��ka? ......... 16 Konwencje zastosowane w ksi��ce....... 16 Cz�� I. Tworzenie aplikacji Visual C++ 17 Rozdzia� 1. Projektowanie i tworzenie programu w Visual C++..............19 Uruchomienie Visual C++ .................... 19 Tworzenie nowego projektu.................. 20 Wyb�r rodzaju projektu ....................... .21 Nadawanie nazwy projektowi i wyb�r lokalizacj i ............................................. . 21 U�ywanie AppWizard........................... 21 Korzystanie z podstawowych opcji AppWizard............................................ 22 Generowanie i uruchamianie aplikacji.. 24 Wyb�r konfiguracji procesu generowania pliku................................ .24 Przeprowadzanie proces�w kompilacji i ��czenia ............................................... 24 Uruchomienie aplikacji......................... 25 Zgodno�� z interfejsem Windows......... 26 Modyfikacja interfejsu aplikacji ........... 26 Umieszczanie przycisk�w steruj�cych..26 Do��czanie kodu.................................... 30 Sprawdzenie zmian wprowadzonych do aplikacji............................................ 32 Zapisanie i zamkni�cie projektu............ 34 Rozdzia� 2. �rodowisko programistyczne 35 Praca z Developer Studio ...................... 35 Otwieranie istniej�cego projektu........... 35 Okno obszaru roboczego projektu ........ 37 Korzystanie z panelu C1assView........... 38 Ikona ..................................................... 39 Znaczenie .............................................. 39 U�ywanie panelu ResourceView...........46 U�ywanie panelu FileView ...................51 Zarz�dzanie projektami ......................... 53 Konfigurowanie projektu.......................54 Dodatkowe mo�liwo�ci konfiguracyjne54 Cz�� II. Okna dialogowe i kontrolki.......55 Rozdzia� 3. Projektowanie i tworcenie okien dialogowych.................................... 57 Tworzenie szablonu okna dialogowego 58 Przydzielanie identyfikatora oknu dialogowemu .........................................62 Korzystanie z karty Dialog General Properties ...............................................63 Nadawanie stylu oknu dialogowemu.....64 Dodawanie i pozycjonowanie kontrolek. 65 Zmiana rozmiar�w kontrolek ................70 Jednoczesne zaznaczanie kilku obiekt�w .71 Wyr�wnywanie pozycji obiekt�w.........72 U�ycie prowadnic..................................73 Organizacja kontrolek w oknie dialogowym ........................................... 74 Grupowanie obiekt�w ...........................74 Ustalenie porz�dku dost�pu do okien przy u�yciu klawisza Tab ......................76 Ustalanie skr�t�w klawiaturowych .......78 Rozdzia� 4. U�ywanie przycisk�w steruj�cych..................................... 79 U�ycie przycisk�w ................................ 79 Dodawanie funkcji obs�ugi zdarzenia u�ycia przycisku ................................... .81 Istota map komunikat�w ...................... .82 Modyfikacja przycisk�w w czasie pracy programu ............................................... 84 U�ycie prze��cznik�w............................ 90 Dodawanie grupy prze��cznik�w .......... 91 Okre�lenie wybranego przycisku .......... 93 U�ycie p�l wyboru................................. 96 Dodawanie p�l wyboru.......................... 96 Pobieranie i ustalanie stanu p�l wyboru.... 97 -W _ , . _.. _~. ... ... ~ ... ._ _ _ ... ~ ~ ..._ .,. _ 1~ I 4 Spis tre�ci Sl Rozdzia� 5. Stosowanie kontrolek tekstowych ........................,..........101 Stosowanie statycznych p�l tekstowych 101 Formatowanie tekst�w w oknach dialogowych........................................102 ��czenie statycznych p�l tekstowych z polami edycji....................................102 Zmiana zawarto�ci statycznego pola tekstowego w czasie pracy programu . 103 Umieszczanie statycznych p�l tekstowych w oknie dialogowym...........................103 U�ywanie p�l edycji............................ 108 Umieszczanie p�l edycji .....................109 Umieszczanie i pobieranie tekstu z pola edycji ........................................111 Ustalanie reakcji na komunikaty powiadamiaj�ce, dotycz�ce p�l edycji..112 Wyprowadzanie podklas dla p�l edycji 116 Stosowanie wieloliniowych p�l edycji 122 Stosowanie pask�w przewijania..........155 Dodawanie pask�w przewijania do okna dialogowego ........................................155 Przypisanie zmiennych paskom przewijania ..........................................156 Inicjalizowanie pask�w przewijania....157 Obs�uga powiadomie� pask�w przewijania ..........................................160 Stosowanie suwak�w kontrolnych ......164 Umieszczenie suwaka kontrolnego w oknie dialogowym ...........................164 Prcypisanie zmiennej obiektowi suwaka.166 Inicjalizacja obiektu suwaka.............:..166 Odpowiedzi na powiadomienia obiektu suwaka .................................................168 Stosowanie pr�bnik�w daty i godziny.169 Umieszczanie pr�bnik�w daty i godziny w oknie dialogowym ...........................169 Przypisywanie zmiennych do obiekt�w pr�bnik�w daty i godziny....................171 Inicjalizowanie pr�bnik�w daty i godziny ..............................................172 Powiadomienia o zmianie daty............176 Stosowanie kalendarza miesi�cznego..178 Umieszczenie kalendarza miesi�cznego w oknie dialogowym ............................178 Przypisanie zmiennej do obiektu kalendarza............................................179 Inicjalizacja obiektu kalendarza ..........180 Ustalanie zakresu dost�pnych dat w kalendarzu........................................181 Reakcje na powiadomienia o zmianie wyboru daty ........................183 Ro; Rozdzia� 6: U�ywanie list........................ 123 Tworzenie list...................................... 123 Dodawanie list kombinowanych (rozwijanych) ...................................... 124 Dodawanie list drzewiastych .............. 126 Wykorzystanie p�l listy ...................... 128 U�ycie list szczeg�owych.................. 129 Zape�nianie list.................................... 131 Umieszczanie element�w na li�cie kombinowanej ..................................... 132 Reakcja programu na komunikaty powiadamiaj�ce listy kombinowanej.. 135 Wype�nianie listy drzewiastej ............. 136 Wype�nianie pola listy ........................ 139 Reakcja programu na komunikaty powiadamiaj�ce pola listy................... 141 Wype�nianie listy szczeg�owej.......... 143 Rozdzia� 7. Stosowanie wska�nik�w post�pu, pask�w prcewijania, suwak�w oraz obiekt�w pobieraj�cych dat� i godzin� ..... 149 Obiekty zorientowane na zakres warto�ci 149 U�ycie wska�nika post�pu .................. 149 Umieszczenie wska�nika post�pu w oknie dialogowym........................... 150 Przypisanie zmiennej do wska�nika post�pu ................................................ 152 Manipulowanie i zmiany wskaza� wska�nika post�pu .............................. 153 Rozdzia� 8. Obs�uga zdarce� wywo�ywanych mysz�.................185 Obs�uga powiadomie� klawiszy myszy 185 Obs�uga zdarze� naci�ni�cia i zwolnienia klawisza myszy ...............186 Przechwytywanie zdarze� dwukrotnego klikni�cia .............................................191 �ledzenie ruch�w i po�o�enia wska�nika myszy...................................................192 Obs�uga zdarzenia przesuni�cia wska�nika myszy.................................192 Przechwytywanie wska�nika myszy ...196 Ustalanie obszaru testowania ..............198 Stosowanie klasy CRectTracker..........199 Roz Spis tre�ci 5 Rozdzia� 9. Stosowanie kontrolek ActiveX ........................................ 205 Wyb�r kontrolek ActiveX z galerii Component Gallery ............................. 206 Przegl�danie kontrolek ActiveX ......... 206 W��czanie nowego obiektu do bie��cego projektu ..........,.................................... 207 Wyb�r, skalowanie i testowanie kontrolek ActiveX z paska narz�dziowego Controls ............................................... 209 Zmiana w�a�ciwo�ci kontrolki w edytorze zasob�w ............................ 211 Ustalanie w�a�ciwo�ci standardowych 211 Korzystanie z kart w�a�ciwo�ci........... 211 Stosowanie klas dostarczonych z kontrolk�........................................... 212 Dodanie zmiennej sk�adowej dla kontrolki .............................................. 213 Programowe pobieranie i ustalanie w�a�ciwo�ci kontrolki ......................... 213 Implementacja funkcji obs�ugi zdarze� ActiveX za pomoc� C1assWizard ....... 216 Rozdzia� 10. Tworcenie w�asnych okien dialogowych i ich klas................. 221 Tworzenie klasy okna dialogowego.... 221 Dodawanie szablonu nowego okna dialogowego ....................................... . 222 Wyprowadzanie klas z klasy CDialog za pomoc� C1assWizard......................223 Inicjalizowanie nowej klasy okna dialogowego........................................ 225 Wy�wietlanie modalnych okien dialogowych........................................ 226 Dodawanie zmiennej sk�adowej dla zachowywania danych z okna dialogowego........................................ 227 Wymiana i zatwierdzanie danych z okien dialogowych ........................... 229 Stosowanie funkcji Data Exchange (DDX) ................................................. 230 Stosowanie funkcji Data Validation (DDV) ................................................ . 232 Tworzenie w�asnych funkcji zatwierdzaj�cych................................ . 234 U�ywanie niemodalnych okien dialogowych ........................................ 235 Tworzenie i usuwanie niemodalnego okna dialogowego .............................. . 236 Przesy�anie i pobieranie danych z niemodalnego okna dialogowego .....239 Obs�uga komunikatu o zamkni�ciu niemodalnego okna dialogowego........242 Usuni�cie przycisku zamykaj�cego ......243 Cz�� III. Elementy aplikacji ................245 Rozdzia� 11. Praca z rysunkami, bitmapami i ikonami...................247 Stosowanie edytora graficznego .......... 248 Tworzenie i edycja ikon ......................250 Modyfikacja domy�lnej ikony MFC....250 Umieszczanie nowego zasobu ikony...251 Umieszczanie nowego zasobu bitmapy.252 Ustalanie rozmiar�w i liczby kolor�w dla bitmapy ..........................................253 Importowanie rysunk�w......................254 Stosowanie rysunk�w w oknach dialogowych......................................... 255 Ustalanie w�a�ciwo�ci graficznego kontrolki ..............................................256 �adowanie zasob�w graficznych podczas pracy programu............,.......................257 Tworzenie graficznych przycisk�w..... 261 Tworzenie bitmap dla stan�w przycisku.262 U�ycie klasy przycisku graficznego....264 U�ywanie rysunk�w w obiektach steruj�cych ........................................... 265 Istota list obraz�w................................265 Tworzenie i stosowanie list obraz�w...268 Rozdzia� 12. Dokumenty, widoki, ramki oraz ich stosowanie..................... 273 Tworzenie aplikacji SDI...................... 274 Klasy aplikacji SDL............................ .278 Elementy wizualne aplikacji SDI ....... .280 Istota szablon�w dokument�w SDI..... 282 Stosowanie funkcji osnowy w architekturze dokument/widok ........... .284 U�ywanie dokument�w i widok�w ..... 289 Inicjalizacja danych dokumentu......... .290 Dodawanie do dokumentu zmiennych sk�adowych ......................................... .291 Dost�p widoku do danych dokumentu. .292 U�ywanie standardowych zasob�w szablonu.............................................. .294 Od�wie�anie widoku .......................:.. .296 6 Spis tre�ci Rozdzia� 13. Praca z menu ..................... 299 Tworzenie i edycja zasob�w menu ..... 299 Dodawanie nowych zasob�w menu....300 Dodawanie do menu pozycji nag��wk�w ..........................................301 Dodawanie pozycji menu....................302 Przypisywanie identyfikator�w do polece� ........................................... 303 Zmiany w�a�ciwo�ci pozycji menu.....303 Umieszczanie separator�w.................. 304 Tworzenie pozycji menu podrz�dnego. 304 Umieszczanie znacznik�w ..................305 Umieszczanie skr�t�w klawiaturowych305 Obs�uga polece� menu ........................ 306 Dodawanie funkcji obs�uguj�cych polecenia menu ................................... 306 Dodawanie funkcji obs�ugi polece� interfejsu u�ytkownika........................308 Aktywowanie i dezaktywowanie pozycji menu....................................................309 Umieszczanie i usuwanie znacznik�w 309 Dynamiczna zmiana tre�ci pozycji menu.................................................... 310 Dodawanie menu skr�t�w................... 311 Uruchamianie menu skr�t�w .............. 31 I Obs�uga polece� menu skr�t�w .......... 315 Tworzenie i dost�p do obiekt�w menu 316 Inicjalizacja obiektu CMenu ............... 316 Dynamiczne dodawanie pozycji menu . 317 Dynamiczne modyfikowanie pozycji menu....................................................320 Dynamiczne usuwanie pozycji menu..321 Rozdzia� 14. Praca z paskami narc�dzi i stanu........................................... 323 Dostosowywanie standardowych pask�w narz�dziowych..................................... 323 Istota paska narz�dziowego ................324 Umieszczanie nowych przycisk�w na pasku narz�dziowym za pomoc� edytora zasob�w..................................329 Przemieszczanie i usuwanie przycisk�w oraz dodawanie separator�w............... 331 Aktywacja i dezaktywacja przycisk�w paska narz�dziowego ..........................331 Dodawanie w�asnych pask�w narz�dziowych..................................... 332 Umieszczanie paska narz�dziowego w oknie g��wnym................................333 Ukrywanie i wy�wietlanie paska narz�dziowego.....................................334 Lokalizowanie paska narz�dziowego z aplikacji.............................................335 Zachowywanie i za�adowywanie pozycji paska narz�dziowego...........................335 Stosowanie pask�w dialogowych........336 Dodawanie zasobu paska dialogowego.337 Przy��czenie paska dialogowego do okna g��wnego ....................................338 Obs�uga kontrolek pask�w dialogowych 340 Dostosowywanie paska stanu ..............342 Istota standardowego paska stanu .......343 Dodawanie indykator�w i separator�w .......................................345 Dynamiczne zmiany wymiar�w, stylu i tekstu w panelach ..............................349 Istota pask�w kontenerowych w programie Internet Explorer ............ 353 Tworzenie paska kontenerowego za pomoc� AppWizard.............................354 Nadawanie tytu�u i przydzielanie bitmapy t�a paska kontenerowego .......356 Cz�� IV. Tworzenie grafiki....................357 Rozdzia� 15. Rysowanie w kontek�cie urz�dzenia....................................359 Wprowadzenie do poj�cia kontekstu urz�dzenia............................................ 359 Typy kontekst�w urz�dzenia.............. .360 Stosowanie klasy CDC ....................... .360 Stosowanie kontekstu urz�dzenia Client .................................................. .366 Stosowanie kontekstu urz�dzenia Paint . .367 Stosowanie kontekstu urz�dzenia pami�ci ............................................... .372 Stosowanie tryb�w odwzorowania...... 375 Tryby odwzorowania swobodnego skalowania.......................................... .379 Badanie mo�liwo�ci urz�dzenia......... .381 Rozdzia� 16. Stosowanie pi�r i p�dzli.....387 Tworzenie pi�r.....................................387 Stosowanie klasy CPen........................387 Zmiana szeroko�ci pi�ra......................388 Zmiana koloru pi�ra ............................388 U�ycie stosu pi�r.................................390 Wyb�r pi�ra do kontekstu urz�dzenia...390 Usuwanie pi�r......................................392 Spi Roz Spis tre�ci 7 Rysowanie linii i kszta�t�w za pomoc� pi�ra..................................................... 393 Tworzenie kontekstu urz�dzenia do rysowania ............................................394 Zmiana po�o�enia pi�ra....................... 394 Rysowanie linii ...................................396 Rysowanie w oparciu o wsp�rz�dne.. 398 Rysowanie okr�g�w i elips ................. 400 Rysowanie krzywych..........................402 Rysowanie wielok�t�w .......................404 Tworzenie p�dzli................................. 405 Stosowanie klasy CBrush.................... 405 Tworzenie p�dzli rysuj�cych kolorem pe�nym i wzorem kreskowanym ......... 406 Zmiana t�a okna................................... 406 Tworzenie p�dzli z rysunk�w i wzor�w.............................................. 408 U�ywanie stosu p�dzli ........................ 410 Wybieranie p�dzla do kontekstu urz�dzenia ........................................... 412 Usuwanie p�dzli.................................. 413 Malowanie wype�nionych figur za pomoc� P�dzli ..................................... 413 Rysowanie prostok�t�w i prostok�t�w z zaokr�glonymi naro�nikami............. 413 Rysowanie elips i okr�g�w ................. 415 Rysowanie ci�ciw ................:.............. 415 Rysowanie wielok�t�w ....................... 416 Rozdzia� 17. Korzystanie z czcionek...... 421 Funkcje rysuj�ce tekst......................... 421 Odrysowywanie prostego tekstu ........ .422 Ustalanie wyr�wnania tekstu ............. .423 Zmiana koloru czcionki i jej t�a ......... .425 Rysowanie tekstu przezroczystego i nieprzezroczystego........................... .427 Obcinanie tekstu................................. .428 Tworzenie czcionek ............................ 429 Stosowanie klasy CFont..................... .430 Tworzenie czcionek za pomoc� funkcji CreatePointFont()............................... .430 Tworzenie czcionek za pomoc� funkcji CreateFontQ ....................................... . 431 Wyb�r czcionek .................................. 437 Wyliczanie czcionek.......................... .437 U�ywanie okna dialogowego wyboru czcionki .............................................. . 442 Rysowanie tekstu formatowanego i wieloliniowego................................. .445 Usuwanie czcionek ............................ . 447 Cz�� V. Zaawansowane dokumenty i techniki dla widok�w................449 Rozdzia� 18. Rozci�ganie i prcewijanie widok�w .......................................451 Obs�uga rozci�gania okna................... .451 Obs�uga zdarze� rozci�gania............. ..452 Obs�uga zdarzenia Sizing .................. ..453 Obs�uga zdarzenia Size...................... ..456 Definiowanie ogranicze� rozmiar�w okna ................................................... ..462 Okna dialogowe daj�ce si� rozci�ga� ..464 Przewijanie zawarto�ci okna .............. .464 Definiowanie rozmiar�w przewijanego obszaru............................................... ..465 Zmienianie ma�ego i du�ego skoku przewijania ........................................ ..469 Do czego s�u�y bie��ca pozycja widocznego obszaru .......................... ..470 Obs�uga komunikat�w paska przewijania ........................................ ..473 Rozdzia� 19. Widoki List, Tree, Rich Edit i HTML ........................................ 477 Czym s� widoki List, Tree i Rich Edit? .. 477 Tworzenie i korzystanie z widoku List . 477 Tworzenie aplikacji z widokiem List za pomoc� kreatora AppWizard ......... .478 Dodawanie element�w do listy .......... .478 Zmiana stylu listy ............................... .483 Kolumny i nag��wki kolumn.............. .486 Odnajdywanie wybranych przez u�ytkownika element�w na li�cie....... .491 Widok Tree .......................................... 494 Tworzenie widoku Tree za pomoc� kreatora AppWizard ........................... .494 Style widoku Tree............................... .495 Dodawanie element�w do drzewa ....... .496 Odnajdywanie wybranego w�z�a drzewa ................................................ .499 R�czne edytowanie element�w drzewa .501 Widok Rich Edit .................................. 503 Tworzenie widoku Rich Edit.............. .504 Zachowywanie i �adowanie tekstu...... .505 Formatowanie akapit�w tekstu........... .505 Dodawanie obiekt�w OLE ................. .508 HTML - widok do budowania przegl�darki ......................................... 508 Tworzenie widoku HTML.................. .509 Definiowanie adresu URL.................. .509 rr 8 Spis tre�ci Spis Obs�uga zdarze� przegl�darki.............510 Odpowiedni stosunek d�ugo�ci do szeroko�ci strony .................................573 Stronicowanie i orientowanie wydruku ..577 Definiowanie pierwszej i ostatniej Rozdz Rozdzia� 20. Tworzenie okien z kilkoma widokami ..................................... 511 Jak dzia�a okno z kilkoma widokami? 511 Korzystanie z okna dzielonego ........... 512 Tworzenie dynamicznych okien dzielonych.......................................... .512 Inicjalizacja dynamicznych okien dzielonych ........................................... 515 Tworzenie statycznych okien dzielonych 518 Inicjalizacja statycznego okna dzielonego ........................................... 519 Tworzenie aplikacji podobnej do Eksploratora Windows........................ 524 Inne sposoby tworzenia okien z wieloma widokami ........................... 525 Dodawanie i usuwanie widok�w ........ 525 Zarz�dzanie tworzeniem i aktywacj� widoku ............................. 526 strony ...................................................577 Okno dialogowe Print..........................581 Opcje orientacji strony ........................585 Dodawanie obiekt�w GDI za pomoc� funkcji OnBeginPrinting( ) ....................586 Modyfikowanie kontekstu urz�dzenia.588 Przerywanie wydruku..........................589 Drukowanie bez pomocy funkcji szkieletu aplikacji ...............................................589 Bezpo�rednie przyzywanie okna dialogowego Print................................589 Funkcje StartDoc ( ) i EndDoc ( )........592 Funkcje StartPage ( ) i EndPage ( ).........593 Cz�� VI. Eksportowanie danych aplikacji .......................................595 Rozdzia� 21. Aplikacje Rozdzia� 23. Zachowywanie, �adowanie wielodokumentowe..................... 533 i transferowanie danych..............597 Tworzenie aplikacji wielodokumentowej ............................ 534 Hierarchia klas w aplikacji MDI ......... 538 Wizualne elementy aplikacji MDI ...... 540 Szablon dokumentu MDI .................... 543 Porz�dek tworzenia dokumentu, widoku i okna obramowuj�cego MDI ............. 545 Poruszanie si� mi�dzy elementami architektury dokument/widok ............. 548 Przyk�adowa aplikacja MDL............... 550 Dodawanie do dokumentu zmiennych sk�adowych ......................................... 551 Si�ganie do danych dokumentu z klasy widoku .................................... 552 Modyfikowanie danych dokumentu i uaktualnianie widoku........................ 553 Dodawanie nowych szablon�w dokument�w........................................ 556 Rozdzia� 22. Drukowanie i podgl�d wydruku....................................... 563 Drukowanie za pomoc� funkcji szkieletu aplikacji................................ 563 Korzystanie ze standardowych funkcji obs�uguj�cych drukowanie..................564 Pokrywanie funkcji OnPrintQ.... .......568 Kontekst urz�dzenia drukarki ............. 571 Serializacja...........................................597 Tworzenie aplikacji SDI obs�uguj�cej operacje na plikach..............................598 Tworzenie obiekt�w przystosowanych do serializacji.......................................599 Deklarowanie klasy pozwalaj�cej na serializacj� ...........................................601 Przechowywanie danych dokumentu ..606 Serializowanie obiekt�w .....................610 Lista najcz�ciej u�ywanych plik�w ...613 Rejestrowanie typ�w dokument�w ........613 Obs�uga plik�w.................................... 614 Klasa CFile ..........................................614 Otwieranie plik�w ...............................615 Odczytywanie i zapisywanie pliku........616 Bie��ca pozycja pliku..........................621 Odnajdywanie informacji o wykorzystywanym pliku ..................622 Zmienianie nazwy pliku i usuwanie pliku.....................................................624 Klasy pochodne klasy CFile................624 Transferowanie danych za pomoc� schowka ............................................... 625 Definiowanie format�w danych schowka ...............................................626 Kopiowanie danych do schowka.........627 Wklejanie danych ze schowka.............630 Rozd; Cz�� Rozd Spis tre�ci 9 Rozdzia� 24. Bazy danych i widok Record 633 Bazy danych........................................ 633 Relacyjne bazy danych........................ 634 ODBC ................................................ . 634 Konfigurowanie �r�d�a danych.......... . 636 Tworzenie aplikacji korzystaj�cej z bazy danych...................................... 639 Za��czanie do programu bazy danych za pomoc� kreatora AppWizard......... . 639 L�czenie si� z baz� danych................ . 641 Zapytania do bazy danych ................. . 643 Zmienianie danych zapisanych w bazie ............................................... . 646 Wi�zanie p�l z tablicami bazy danych .647 Widok Record ..................................... 648 Edytowanie szablonu widoku Record .648 Wi�zanie kontrolek z polami zbioru rekord�w ............................................ . 650 Rozdzia� 25. Zasady programowania OLE i COM .......................................... 653 Programowanie w oparciu o komponenty...................................... 653 Interfejsy COM ..............:.................... 655 Identyfikatory interfejs�w, identyfikatory klas i identyfikatory GUID ................. 657 Tworzenie egzemplarzy obiekt�w COM 659 Po�rednicz�ce biblioteki DLL i szeregowanie..................................... 661 Wersje interfejs�w .............................. 662 Automatyzacja OLE............................ 663 Jak dzia�a interfejs przesy�aj�cy.......... 663 Warianty.............................................. 664 Tworzenie serwem automatyzacji....... 666 Tworzenie klienta automatyzacji ........ 673 Kontenery OLE, serwery i miniserwery ...................................... 677 Cz�� VII. Zaawansowane zagadnienia programowania ........................... 681 Rozdzia� 26. Tworzenie kontrolek ActiveX ........................................ 683 Tworzenie szkieletu kontrolki ActiveX za pomoc� kreatora ActiveX Control Wizard ................................................. 683 Definiowanie liczby kontrolek, obs�ugi licencjonowania i pomocy .................. 684 Definiowanie nazw klas i dodatkowych opcji............................684 Budowanie kontrolek ActiveX w oparciu o kontrolki ju� istniej�ce ........686 Zaawansowane mo�liwo�ci kontrolek ActiveX................................................686 Tworzenie kodu kontrolki ................... 687 Malowanie kontrolki na ekranie..........688 Zarz�dzanie zdarzeniami wywo�anymi przez u�ytkownika i obs�uga wykonywanych przez niego operacji ................................................691 Szybki spos�b testowania kontrolki........693 Uruchamianie zdarze�.........................695 Tworzenie interfejsu w�a�ciwo�ci .......697 W�a�ciwo�ci wyposa�enia...................698 Dodawanie karty w�a�ciwo�ci definiuj�cych kolory............................700 Dodawanie w�asnych w�a�ciwo�ci ......701 Dodawanie kontrolek kart w�a�ciwo�ci dla w�asnych w�a�ciwo�ci....................704 Utrwalanie ustawie� w�a�ciwo�ci........706 Kompilowanie i rejestrowanie kontrolki. 709 R�ne pliki �r�d�owe...........................709 Tworzenie biblioteki typ�w i plik�w licencji...................................710 Rejestrowanie kontrolki.......................710 Program testuj�cy ActiveX Control Test Container ............................................. 711 Wybieranie testowanej kontrolki.........711 Testowanie w�a�ciwo�ci kontrolki ........711 Obserwowanie uruchomionych zdarze� .713 Rozdzia� 27. Korcystanie ze zintegrowanego debugera...........715 Usuwanie b��d�w z programu i narz�dzia debugera ............................ 715 Tryby Debug i Relase......................... .715 Opcje trybu Debug i wy�wietlane w nim komunikaty ostrzegawcze ....... .717 Tworzenie i korzystanie z informacji programu Source Browser.................. .719 Debugowanie przez sie� oraz opcja Just in time Debugging....................... .722 Makroinstrukcje TRACE, ASSERT i przegl�danie programu krok po kroku.. 723 Makroinstrukcja TRACE.................... .724 Makroinstrukcje ASSERT i VERIFY............................................ .727 Punkty kontrolne i przegl�danie kodu programu krok po kroku..................... .730 Edit and Continue............................... .733 10 Spis tre�ci �ledzenie zmiennych programu......... .733 DirectPlay................................. ...........763 Inne okna debugera............................ .735 DirectInput............. ..............................763 Inne narz�dzia debugowania............... 736 Directsetup........................ ..................764 Spy++................................................. . 736 Tworzenie wiadomo�ci i programowanie Process Viewer................................... .739 obs�ugi poczty za pomoc� MAPL............ 764 OLE/COM Object Viewer .................. 739 Korzystanie z prostszej wersji MAPI ..765 MFC Tracer......................................... 740 Dodawanie programu pocztowego MAPI za pomoc� kreatora AppWizard...767 Rozdzia� 28. Interfejsy API i zestawy Biblioteki multimedialne i interfejs SDK.............................................. 741 MCL.....................................................772 Kr�tkie wprowadzenie API i SDK...... 741 Interfejs multimedialny MCI...............772 Tworzenie szybkich aplikacji Komunikaty powiadamiaj�ce MCL.....776 d�wi�kowych i graficznych za pomoc� Dodawanie do aplikacji okna MCI......780 interfejs�w DirectX............................. 742 Directsound ........................................ 743 S�ownik ..................................................... 785 DirectDraw.......................................... 752 Skorowidz ........................... 799 Direct3D.............................................. 762 ...................... w se kons dow syste asse~ razu nik� Gdy lub c rz�d zacz nycl anal j�tnc racy gie�c (kor tem O autorach Jon Bates przez ostatnie 15 lat pracowa� nad szeroko zakrojonymi projektami w sektorach komercyjnych, przemys�owych i militarnych. Obecnie jest samodzielnym konsultantem i programist� specjalizuj�cym si� w tworzeniu aplikacji dla system�w Win- dows NT/95 i 98, w j�zyku C++. Sw� karier� rozpoczyna� od pisania gier dla mikrokomputer�w. Pracowa� w wielu systemach operacyjnych, takich jak CPM, DOS, TRIPOS, UNIX i Windows oraz r�nych assemblerach, j�zykach trzeciej generacji i zorientowanych obiektowo. Napisa� wiele rozmaitych aplikacji dla obs�ugi poczty e-maik obs�ugi wideo, analizy ob- razu, obs�ugi sieci i urz�dze� telekomunikacyjnych, system�w kontrolnych, a tak�e sterow- nik�w urz�dze�. Opublikowa� r�wnie� kilka artyku��w w pismach informatycznych. Jonathan mieszka z �on� Ruth i psem Chaosem w samym �rodku ch�odnej Brytanii. Gdy nie pracuje na komputerze, lubi spa� i �ni� sny pe�ne fraktali. Kontakt z Jonathanem mo�na nawi�za� pisz�c na adres j on@chaosi . demon . co . uk lub odwiedzaj�c jego stron� WWW, pod adresem www. chaosl . demon. co.uk. Tim Hopkins jest mened�erem do spraw oprogramowania w europejskiej firmie two- rz�cej oprogramowanie, specjalizuj�cej si� w opracowywaniu zintegrowanych system�w zarz�dzania informacjami. Odpowiedzialny jest za projektowanie i wdra�anie komercyj- nych aplikacji, pisanych w j�zyku C++. Kariera programistyczna Tima rozpocz�a si� w roku 1986 od pisania aplikacji do analizy statystycznej dla komputer�w mainframe IBM. Od tamtego czasu rozwin�� umie- j�tno�ci i zdoby� do�wiadczenie w u�ywaniu C i C++, pracuj�c z r�nymi systemami ope- racyjnymi, takimi jak CPM, DOS, UNIX, XENIX, Windows NT/95 oraz 98. Tim zaprojektowa� i napisa� wiele aplikacji wspomagaj�cych planowanie produkcji, gie�dowych, kosztorysuj�cych oraz kontroluj�cych czas pracy. Mieszka w zielonej i mi�ej cz�ci Anglii, ze sw� �on� Tracey i jej koniem Oliverem (ko� przebywa na zewn�trz domu). Kiedy tylko mo�e, je�dzi swym sportowym kabriole- tem (nawet gdy pada deszcz). Mo�na kontaktowa� si� z Timem pod adresem tinytim@globalnet . co . uk. Wx Podzi�kowania Specjalne podzi�kowania dla Matta Purcella i Kelly Marshall za ich nieustaj�ce s�owa otuchy i wielk� dba�o�� o szczeg�y, co pomog�o nam wykona� t� ci�k� prac�. K Sk�adamy podzi�kowania r�wnie� Mattowi Buttlerowi, Tonyi Simpson wszec Kate Givens , i funk oraz Kate Talbot za ich nieocenion� prac� edytorsk� i wskaz�wki, a tak�e wszystkim ci�ko pracuj�cym za kulisami MCP ludziom. szybci szkod: Dzi�kujemy naszym rodzinom i przyjacio�om za wyrozumia�o��, gdy byli zaniedbywani przez kilka ostatnich miesi�cy. CZyI Powiedz nam, co my�lisz v Micrc Jako czytelnik, jeste� naszym najwa�niejszym krytykiem i komentatorem. Bardzo ce- wiem nimy twoj� opini� i chcieliby�my pozna�, co zrobili�my dobrze, co powinni�my poprawi�, i przy doda� oraz wszelkie m�dre s�owa, kt�re chcia�by� nam przekaza�. z�o�o~ Jako redaktor naczelny dzia�u programistycznego w Macmillan Computer Publishing, eleme oczekuj� na twoje komentarze. Mo�esz przes�a� je faksem, poczt� elektroniczn� lub zinteg w formie zwyk�ego listu. Napisz o tym, co ci si� spodoba�o w tej ksi��ce, a co przeszka- grafie dza�o. Pomo�e nam to pisa� ksi��ki jeszcze lepsze. zinteg spraw Chcia�bym jednak, aby� wiedzia�, i� nie jestem w stanie udziela� porad technicznych posiai dotycz�cych tematyki opisanej w niniejszej ksi��ce. Dodatkowo, z uwagi na ogromn� ilo�� mie, l przychodz�cej korespondencji, by� mo�e nie b�d� m�g� w og�le odpowiedzie� na tw�j list. Gdy zdecydujesz si� napisa� do mnie, koniecznie pami�taj o podaniu tytu�u oraz na- Cӯ zwisk autor�w ksi��ki, jak r�wnie� swojego imienia i nazwiska oraz numeru telefonu lub faksu. Uwa�nie przejrz� tw�j list, a zawartymi w nim uwagami podziel� si� z autorami oraz redaktorami, kt�rzy nad okre�lon� ksi��k� pracowali . opisy Fax: 317-817-7070 Micrc mych E-maik [email protected] P Adres pocztowy: Executive Editor Programming r�wni Macmillan Computer Publishing P 201 West 103N Street czone aplika Indianapolis, IN 46290 USA i pysk Wprowadzenie Komputery u�ywaj�ce r�nych wersji systemu operacyjnego Windows sta�y si� po- wszechnym narz�dziem w domach i biurach na ca�ym �wiecie. Popularyzacja Internetu i funkcji multimedialnych powoduje wzrost zapotrzebowania na r�norodne i silne, coraz szybciej dzia�aj�ce oprogramowanie. Wygl�da na to, �e wedle obecnej mody pr�buje si� szkodzi� firmie Microsoft za jej ogromny sukces. Czym jest Visual C++ 6.0 i dlaczego warto go u�ywa�? Visual C++ 6.0 jest ostatni� i najlepsz� jak dot�d wersj� kompilatora C/C++ autorstwa Microsoftu. Produkt ten to jednak co� znacznie wi�cej ni� tylko kompilator. Zawiera bo- wiem obszern�. bibliotek� Microsoft Foundation Classes, kt�ra znacznie upraszcza i przyspiesza tworzenie aplikacji. W bibliotece tej znajduj� si� narz�dzia do tworzenia z�o�onych okien dialogowych, menu, pask�w narz�dziowych, obrazk�w i wielu innych element�w nowoczesnych aplikacji dla system�w Windows. Zawarte jest tak�e doskonale zintegrowane �rodowisko programistyczne, zwane Developer Studio, kt�re w spos�b graficzny prezentuje ca�� struktur� aplikacji, ju� w momencie jej tworzenia. Ca�kowicie zintegrowane narz�dzie do debugowania (usuwania b��d�w) pozwala na natychmiastowe sprawdzenie ka�dego szczeg�u podczas biegu programu. Opr�cz tego, Visual C++ 6 posiada ogromn� liczb� funkcji umo�liwiaj�cych pisanie aplikacji o najwy�szym pozio- mie, przy wykorzystaniu wszelkich stosowanych obecnie technik. C� nowego jest w tej ksi��ce? Visual C++ 6 zawiera wiele nowych funkcji, z kt�rych tak du�o jak by�o to mo�liwe, opisali�my w niniejszej ksi��ce. Nowe obiekty steruj�ce, pola wstawiania daty, kt�re znamy z takich program�w, jak Microsoft Outlook, s� teraz w zasi�gu r�ki i mog� by� wykorzystywane w naszych w�a- snych aplikacjach (zosta�y one opisane w rozdziale 7) Dzi�ki zastosowaniu rozszerzonych list rozwijanych, listy te mog� obecnie zawiera� r�wnie� rysunki, widoczne jako pozycje listy (m�wi o tym rozdzia� 11). Paski narz�dziowe znane z Microsoft Office 98 lub Internet Explorera 4, zosta�y w��- czone do biblioteki Microsoft Foundation Class, a st�d dost�pne s� r�wnie� dla waszych aplikacji (mo�ecie o tym przeczyta� w rozdziale 15 o u�ywaniu pask�w narz�dziowych i pask�w stanu). 14 Poznaj Visual C++ 6 Wpr Mo�liwe jest r�wnie� u�ycie Internet Explorera �spod" aplikacji przez nas napisa- KOII nych, co umo�liwia przegl�danie stron WWW i kodu HTML (rozdzia� 20). Pot�ne narz�dzie AppWizard tworzy szeroki wyb�r z�o�onych aplikacji, w��czaj�c dzy it w to aplikacje w stylu Windows Explorer, zarz�dzaj�ce kilkoma widokami jednocze�nie. Dzia�aj�ca aplikacja powstaje zanim jeszcze umie�cimy w kodzie programu cho�by jedn� S lini� (tworzenie aplikacji wielowidokowych opisano w rozdziale 21). �' Programowanie zorientowane obiektowo oraz mechanizm Distributed Component Object Model (DCOM) s� obecnie standardami w tworzeniu nowoczesnych aplikacji (m�wimy o nich w rozdziale 26). Naj�wie�sze wersje bibliotek API oraz SDK, na przyk�ad DirectX Game SDK, om�- wione zosta�y w rozdziale 32. . Opis wszystkich z powy�szych oraz wielu innych funkcji nowego Visual C++ 6, sta- nowi w�a�nie tre�� tej ksi��ki. rzyli Czy to jest odpowiednia ksi��ka? Pisz�c t� ksi��k� za�o�yli�my, i� czytelnicy posiadaj� pewn� wiedz� i do�wiadczenie z zakresu programowania w j�zyku C++. Niekonieczna przy tym jest znajomo�� budowy �rodowiska Windows ani te� biblioteki Microsoft Foundation Class, ale na pewno b�dzie pomocna. Czytelnik powinien jednak m�c porusza� si� w systemie Windows 95/98 lub NT i jego graficznym interfejsie. Ksi��ki niniejszej mo�na u�y� jako zbioru podstawowych wiadomo�ci na temat pro- gramowania w j�zyku C++, od samego pocz�tku, rozdzia� po rozdziale lub skorzysta� jedynie z wybranych rozdzia��w, opisuj�cych konkretny temat. Tim i ja posiadamy pewne do�wiadczenie w pisaniu kr�tkich ksi��eczek opisuj�cych pewne istotne dla programist�w zagadnienia. Postanowili�my postawi� krok dalej, korzy- staj�c z w�asnych do�wiadcze� i wyja�niaj�c na konkretnych przyk�adach pewne problemy i wymagania stawiane nowoczesnym, komercyjnym aplikacjom. Czytelnicy wyposa�eni w t� ksi��k�, naucz� si� pisa� wyszukane aplikacje, u�ywaj�c do tego celu najbardziej produktywnego i uniwersalnego �rodowiska programistycznego: Visual C++ 6.0. Wprowadzenie 15 Konwencje zastosowane w ksi��ce Aby zwi�kszy� czytelno�� informacji przedstawionych w ksi��ce, zastosowano mi�- dzy innymi nast�puj�ce zasady ich oznaczania: � S�owa i zwroty u�yte w tek�cie po raz pierwszy wyr�nione s� kursyw�, a tak�e obja- �niane w s�owniczku. Wszystkie s�owa, kt�re pojawiaj� si� na ekranie s� pogrubione. Skr�ty klawiszowe oraz "gor�ce klawisze" s� oznaczane poprzez podkre�lenie zna- cz�cego klawisza. � Wiersze kodu oraz nazwy klas, kt�re u�yte s� w kodzie, s� drukowane czcionk� co- urier. � Informacje powi�zane z omawianym tematem s� drukowane w ramkach, �eby nie zak��ca�y g��wnego toku wypowiedzi i mo�na je by�o �atwo znale��. Ka�da z tych in- formacji ma kr�tki tytu�, pomagaj�cy w jej szybkim zidentyfikowaniu. �yczymy czytelnikom sukces�w i mamy nadziej�, �e z pomoc� tej ksi��ki b�d� two- rzyli udane aplikacje w Visual C++ 6.0. Cz�� I Tworzenie aplikacji Visual C++ Rozdzia� l Projektowanie i tworzenie programu w Visual C++ Generowanie aplikacji dla Windows przy u�yciu AppWizard Modyfikowanie wygl�du aplikacji przy wykorzystaniu edytora pli-k�w �r�d�owych___________________________ Dodawanie kodu w celu zmiany reakcji aplikacji Ci, kt�rzy nigdy nie pr�bowali napisa� aplikacji dla Windows s�dz�, �e jest to bardzo ci�kie i �mudne zadanie. Jednak�e odpowiednie narz�dzia sprawiaj�, i� zadanie takie staje si� �atwiejsze, a najlepszym tego rodzaju narz�dziem jest Visual C++ 6. U�ywaj�c go, mo�emy stworzy� dzia�aj�c� aplikacj� dla Windows w mniej ni� minut�, zacz�� jednak powinni�my od nieco wolniejszego tempa. Inne okre�lenia Visual Studio Developer Studio jest nazywane r�wnie� Visual Studio. Opr�cz tego mo�na si� spotka� r�wnie� z terminem ID� (Integrated Development Enviroment). Uruchomienie Visual C++ Aby uruchomi� Visual C++, musimy z menu Start na pasku zada� wybra� Microsoft Visual C++ 6.0. Gdy program zostanie uruchomiony, na ekranie uka�e si� okno Microsoft Visual Studio. Uruchomienie Visual C++ wywo�uje zatem pojawienie si� okna Visual Studio. Visual Studio jest nazw� nadan� interfejsowi u�ytkownika w Visual C++, a pokazano go na rysunku 1.1. Visual Studio jest w�a�ciwym obszarem roboczym. Gdy widok okna w naszym monitorze nie b�dzie identyczny z zaprezentowanym, nie nale�y si� tym przejmowa�. 20 Poznaj Visual C++ 6 Czytaj�c niniejsz� ksi��k� nauczymy si� jak wywo�ywa� i korzysta� z koniecznych funkcji programu. Rysunek 1.1. Okno Visual Studio Tworzenie nowego projektu Aby rozpocz�� pisanie nowej aplikacji, musimy najpierw utworzy� projekt. Jest on przeznaczony do zarz�dzania wszystkimi elementami sk�adaj�cymi si� na program Visual C++ oraz gotow� aplikacj� Windows. W celu utworzenia nowego projektu wybieramy pozycj� New z menu File. Ukazuj�ce si� w tym momencie okno dialogowe pokazane jest na rysunku 1.2. Filei PrciecL- Wo!kspac"s J Othe; Docirnerds, I ^ojset aame; ^BWWff 3 CIu^�ei Re;iJUice T^ Wi;aid ^]Cu-,[omAppWeaid ifIDatabaseProject :: 8iDevSludBAdd-inWi;ard 1: S; Eitended Stmed Proc Wzad 811SAF1 EHlendonWeafd ^Makelh 8SMFCAclivB>:C(mln]f*fctld [gMFCAppWBardlljl) gJMFCAppWiardlene) jS:NfwDalaba"Wizaid nu""Pio|ect <)Wrl32Aililfcatk"l 3Wn32CmsoleAp(fcation 3wn32 D>tiarr";4.inkLtmi" ^^M-ii^jllBtiSal^r 1' -11- - :-' : :":la .ctsaEion;. : .: CAProgfam Files'^ic>osoH Vsue J ^ Create new workspace r �.' .i',:,.,, .� . ; . r i:...:-.-.. . l d Wonni: ,-'l'v.'r�2 i:"^:i::::':::::i^|^:^^;fc". � ^s^^aii | Cancd | Rysunek 1.2. Okno dialogowe New Projektowanie i tworzenie programu w Visual C++ 21 Wyb�r rodzaju projektu Na pocz�tku nale�y okre�li� rodzaj projektu, kt�ry chcemy utworzy�. W tym celu trzeba klikn�� kart� Projects w oknie dialogowym New, o ile nie jest aktualnie wybrana, a na wy�wietlonej li�cie zaznaczy� typ projektu, kt�ry b�dzie tworzony. W przyk�adzie s�u��cym w niniejszym rozdziale b�dzie to MFC AppWizard (exe). Wyb�r tej opcji oznacza, �e owocem naszych dzia�a� b�dzie typowy, wykonywalny program dla Windows. Do czego s�u�y MFC? Visual Studio zosta�o wyposa�one w bibliotek� Microsoft Foundation Ciass. Jest to zestaw predefiniowanych klas j�zyka C++. AppWizard tworzy szkielet projektu, u�ywaj�c klas wyprowadzonych z klas MFC. U�ywanie biblioteki MFC jest zilustrowane w�a�nie w niniejszej ksi��ce. Nadawanie nazwy projektowi i wyb�r lokalizacji Pole Locatiori s�u�y do ustalenia katalogu dyskowego, w kt�rym umieszczony zostanie projekt. Lokalizacja mo�e pozosta� w tym przyk�adzie niezmieniona. Lokalizacja bie��ca, wy�wietlana w polu Location, zale�y od naszego wyboru poczynionego podczas instalacji Visual C++. Aby j� zmieni�, musimy wpisa� now� bezpo�rednio w polu lub klikn�� klawisz znajduj�cy si� obok pola. Pozwoli to nam na przejrzenie drzewa katalog�w na dysku i wyb�r jednego z nich. Nazwa katalogu, w kt�rym zostanie umieszczony projekt, wynika z nazwy samego projektu, na przyk�ad: C:\Program Fi-les\Microsoft Visual Studio\My Projects\Minute. Nadawanie nazw projektom Swoim projektom mo�na nadawa� nazwy odmienne od sugerowanych tutaj. Aby jednak unikn�� nieporozumie�, wskazane jest u�ywanie tych samych nazw, jakie wyst�puj� w omawianych przyk�adach. W aplikacjach nale�y u�ywa� takich nazw, kt�re okre�laj� czynno�ci wykonywane przez dan� aplikacj�. Obecnej aplikacji nadany zosta� tytu� Minut�, gdy� jak ju� wspomnieli�my wcze�niej, now� aplikacj� mo�na utworzy� w czasie kr�tszym ni� minuta. U�ywanie AppWizard Po dokonaniu wszystkich ustawie� w oknie dialogowym New klikamy OK, by rozpocz�� tworzenie nowego projektu. AppWizard rozpocznie ten proces za u�ytkownika. Zadaniem tego kreatora jest utworzenie ko��ca programu, kt�ry nast�pnie b�dziemy rozbu- 22 Poznaj Visual C++ 6 dowywa� o kolejne elementy. Tworzenie szkieletu projektu odbywa si� poprzez wyb�r odpowiedniej klasy spo�r�d Microsoft Foundation Ciass, dla utworzenia wszystkich plik�w koniecznych w projekcie Visual Studio. PATRZ TAK�E " Wi�cej szczeg��w dotycz�cych tworzenia aplikacji opartych o okna dialogowe znajduje w rozdziale 3 Korzystanie z podstawowych opcji AppWizard Okno dialogowe AppWizard (pokazane na rysunku 1.3) pozwala nam wybra� interfejs aplikacji spo�r�d trzech dost�pnych. W projekcie Minut� interfejsem b�dzie okno dialogowe. Nale�y wi�c wybra� opcj� Dialog Based. Mo�liwy jest tak�e wyb�r z rozwijanej listy j�zyka, kt�ry zostanie u�yty w plikach �r�d�owych. W niniejszym przyk�adzie mo�emy pos�u�y� si� bie��cym wyborem. Wszystkie informacje, kt�rych AppWizard wymaga i kt�re wykorzysta w tworzeniu nowego projektu, s� w tym punkcie ju� ustalone. Nale�y wi�c klikn�� Finish, po czym pojawi si� nowe okno - The New Project Information, jak na rysunku 1.4. MFC AppWizald Sie� 1 Whdl type ot appficafion wouldyou like to cieate? f Stf^gle document f Mufcpte docuftients 17 fil*^"1! f? ;.""".:;1,,/,:.-..-1 -- - What ianguage wouid you iike youi reiources in? [Engirch [Uniled Sia�e�] [APPAZENU.DLL^ < Ba* l Ma* > Rysunek 1.3. AppWizard MFC - krok l, ustalaj�cy typ nowego projektu Okno to zostaje wy�wietlone przez AppWizard w celu zatwierdzenia szczeg��w dotycz�cych tworzonego projektu. Wewn�trz tego okna ujawnione s� nazwy klas u�ytych w projekcie oraz nazwy plik�w, kt�re zostan� utworzone. Z listy tej mo�emy si� dowiedzie� r�wnie� o innych sk�adnikach funkcyjnych, jakie kreator w��czy do projektu. Aby zamkn�� okno The New Project Information, klikamy OK. Projektowanie i tworzenie programu w Visual C++ 23 New Pioleci Inionoation AppWizard wH create a new $kefeton ploject w^h the following specificalions: Applicatt�n t^pe c^ Minut�: D iatog-B ased Appfcahon targetng: Win32 Ciasses to be cteated; Applicafion: CMinuteApp in