SlideShare une entreprise Scribd logo
1  sur  12
Télécharger pour lire hors ligne
IDZ DO
         PRZYK£ADOWY ROZDZIA£

                           SPIS TREŒCI
                                         Visual C++ 2005 Express
                                         Edition. Tworzenie aplikacji
           KATALOG KSI¥¯EK               dla Windows
                                         Autor: Rafa³ Wileczek
                      KATALOG ONLINE     ISBN: 83-246-0488-X
                                         Format: B5, stron: 168
       ZAMÓW DRUKOWANY KATALOG           Przyk³ady na ftp: 195 kB


              TWÓJ KOSZYK
                                                                 Stwórz aplikacje dla platformy .NET 2.0
                    DODAJ DO KOSZYKA         • Poznaj œrodowisko programistyczne
                                             • Wykorzystaj mo¿liwoœci programowania obiektowego
                                             • Po³¹cz aplikacjê z baz¹ danych i sieci¹
         CENNIK I INFORMACJE             œrodowisko programistyczne Visual C++ 2005 Express Edition to uproszczona
                                         i okrojona wersja Visual C++ 2005. Mimo tego jest bardzo przydatnym i wydajnym
                   ZAMÓW INFORMACJE      narzêdziem dla programisty chc¹cego tworzyæ aplikacje dla platformy .NET. Umo¿liwia
                     O NOWOŒCIACH        korzystanie z bibliotek .NET Framework u³atwiaj¹cych ¿mudny proces tworzenia
                                         aplikacji. Jest œwietnym narzêdziem nie tylko dla pocz¹tkuj¹cego twórcy aplikacji,
                       ZAMÓW CENNIK      ale tak¿e dla tych programistów, którzy nie potrzebuj¹ zaawansowanych œrodowisk
                                         w wersjach Enterprise. Dodatkowym atutem œrodowiska Visual C++ 2005 Express
                                         Edition jest mo¿liwoœæ pobrania go i u¿ywania za darmo do listopada 2007 roku.
                 CZYTELNIA               Ksi¹¿ka „Visual C++ 2005 Express Edition. Tworzenie aplikacji dla Windows” to
          FRAGMENTY KSI¥¯EK ONLINE       podrêcznik, dziêki któremu poznasz mo¿liwoœci tego œrodowiska programistycznego
                                         tworz¹c w³asne aplikacje. Dowiesz siê, jak zaprojektowaæ interfejs u¿ytkownika
                                         korzystaj¹c z komponentów zawartych w .NET Framework. Nauczysz siê ³¹czyæ
                                         aplikacje z bazami danych oraz z sieci¹ Internet. Przeczytasz tak¿e o obs³udze plików
                                         graficznych i dŸwiêkowych oraz drukowaniu. Znajdziesz tu równie¿ dodatek, w którym
                                         opisano podstawy programowania w jêzyku C++.
                                             • Okreœlanie parametrów nowego projektu w Visual C++ 2005 Express Edition
                                             • Kompilacja i uruchamianie aplikacji
                                             • Podstawy programowania obiektowego
                                             • Tworzenie graficznych interfejsów u¿ytkownika
                                             • Po³¹czenia z bazami danych i internetem
                                             • Programowanie wielow¹tkowe
Wydawnictwo Helion                           • Drukowanie grafiki i dokumentów
ul. Chopina 6
44-100 Gliwice                                                  Rozwiñ swoje umiejêtnoœci programowania
tel. (32)230-98-63                                    oraz tworzenia profesjonalnych aplikacji dla platformy .NET 2.0
e-mail: helion@helion.pl
Spis treści
                 Wstęp .............................................................................................. 5
                 Co zawiera ta książka? ......................................................................................................6
                 Dla kogo jest ta książka? ...................................................................................................7
                 Konwencje i oznaczenia ...................................................................................................7
Rozdział 1. Środowisko Visual C++ 2005 Express Edition — rozpoznanie ............. 9
                 Platforma .NET ...............................................................................................................10
                 Tworzenie i konfiguracja projektu ..................................................................................10
                 Kompilowanie i uruchamianie projektu ..........................................................................17
Rozdział 2. Aplikacja z graficznym interfejsem użytkownika
            (Windows Forms Application) — zaczynamy .................................... 23
                 Projekt i okno główne .....................................................................................................24
                 Elementy kontrolne .........................................................................................................25
                 Zdarzenia ........................................................................................................................30
Rozdział 3. Wprowadzenie do programowania obiektowego ............................... 33
                 Język C++/CLI ...............................................................................................................34
                 Podstawowe pojęcia związane z programowaniem obiektowym ....................................35
                 Definicja klasy ................................................................................................................36
                 Właściwości ....................................................................................................................46
                 Dziedziczenie ..................................................................................................................49
                 Podsumowanie ................................................................................................................54
Rozdział 4. Dostęp do danych ........................................................................... 55
                 Tworzenie bazy danych ..................................................................................................56
                 Integracja aplikacji z bazą danych ..................................................................................58
                 Nie tylko Microsoft SQL Server 2005 ............................................................................66
Rozdział 5. Integracja z siecią Internet ............................................................. 71
                 Własna przeglądarka WWW ...........................................................................................72
                 Korzystanie z usług sieciowych XML ............................................................................81
Rozdział 6. Obsługa wyjątków .......................................................................... 87
                 Przechwytywanie wyjątków ...........................................................................................87
                 Zgłaszanie wyjątków ......................................................................................................89
                 Obsługa wyjątków na poziomie graficznego interfejsu użytkownika .............................91
Rozdział 7. Wątki ............................................................................................. 93
                 Wykonywanie operacji w tle ..........................................................................................94
                 Synchronizacja wątków — semafory Dijkstry ................................................................98
4                                     Visual C++ 2005 Express Edition. Tworzenie aplikacji dla Windows


Rozdział 8. Multimedia ................................................................................... 105
                Grafika ..........................................................................................................................105
                Dźwięk ..........................................................................................................................112
                Multimedialne all-in-one, czyli Windows Media Player ...............................................114
Rozdział 9. Drukowanie .................................................................................. 119
                Komponent PrintDocument, czyli kwintesencja drukowania .......................................119
                Drukowanie tekstu ........................................................................................................120
                Drukowanie grafiki .......................................................................................................122
                Program demonstracyjny ..............................................................................................122
                Podsumowanie ............................................................................. 131
Dodatek A Przystosowanie Visual C++ 2005 Express Edition
          do tworzenia natywnych aplikacji Windows .................................... 133
                Pobieranie i instalacja Windows Server 2003 SP1 Platform SDK ................................133
                Wprowadzanie zmian do konfiguracji Visual C++ 2005 Express Edition ....................134
                Aplikacja testowa ..........................................................................................................135
Dodatek B Dokumentacja kodu programu ....................................................... 137
                Przygotowanie pliku dokumentującego przez środowisko ...........................................137
                Komentarze dokumentujące ..........................................................................................138
                Konfiguracja i dostosowanie programu NDoc ..............................................................142
                Generowanie i przeglądanie dokumentacji ...................................................................143
Dodatek C Podstawy C++ .............................................................................. 145
                Pierwszy program .........................................................................................................145
                Zmienne ........................................................................................................................146
                Operatory ......................................................................................................................148
                Instrukcja warunkowa i instrukcja wyboru ...................................................................150
                Pętle ..............................................................................................................................154
                Funkcje .........................................................................................................................158
                Podsumowanie ..............................................................................................................159
                Skorowidz...................................................................................... 161
Rozdział 2.
Aplikacja z graficznym
interfejsem użytkownika
(Windows Forms
Application) — zaczynamy
   W rozdziale 1. zapoznałeś się ze środowiskiem Visual C++ 2005 Express Edition
   — utworzyliśmy projekt aplikacji okienkowej (Windows Forms Application), ale go
   nie rozwijaliśmy. W tym rozdziale zajmiemy się podstawami tworzenia graficznego
   interfejsu użytkownika z wykorzystaniem komponentów dostarczanych przez platformę
   .NET w przestrzeni nazw Windows.Forms. Komponenty te pozwalają na utworzenie apli-
   kacji o dowolnym zastosowaniu, w pełni funkcjonalnej i — co ważniejsze — o przyja-
   znym i znajomym dla współczesnego użytkownika komputerów wyglądzie.

   Wbrew temu, co by się mogło wydawać, tworzenie graficznego interfejsu użyt-
   kownika jest sztuką i rządzi się ściśle określonymi zasadami. Istnieje wiele opra-
   cowań prezentujących teoretyczne i praktyczne aspekty tworzenia interfejsów użyt-
   kownika, poparte badaniami psychologów i socjologów, analizujących zachowania,
   reakcje i przyzwyczajenia użytkowników. Właśnie przyzwyczajenia użytkowni-
   ków mają spore znaczenie podczas projektowania wyglądu aplikacji — nieraz
   spotkaliśmy się z pozytywną reakcją (naszą lub naszych znajomych) na wygląd
   i obsługę programu, kiedy użytkownik odkrył, że dany program obsługuje się po-
   dobnie jak inny, np. popularny edytor tekstów. Istotą współczesnych programów
   jest łatwość i intuicyjność obsługi. Tworząc program, nie chcemy, aby użytkow-
   nik musiał uczyć się jego obsługi od zera. Bardzo dobrym i pożądanym nawykiem
   jest podpatrywanie rozwiązań stosowanych przez „wielkich” — chodzi przede
   wszystkim o układ menu i pasków narzędziowych, stosowanie odpowiednich ele-
   mentów do informowania użytkownika o stanie aplikacji itp.
24                     Visual C++ 2005 Express Edition. Tworzenie aplikacji dla Windows


     W tym rozdziale nie będziemy zajmować się teorią tworzenia programów z graficz-
     nym interfejsem użytkownika, natomiast spróbujemy napisać program, za pomocą
     którego nauczysz się stosować podstawowe elementy kontrolne (przyciski, pola tek-
     stowe, etykiety itp.) i programować zdarzenia generowane przez elementy kontrolne.



Projekt i okno główne
     Zaczniemy od otwarcia projektu, który wykorzystaliśmy w rozdziale 1. Najpierw
     zajmiemy się oknem głównym. Kod okna głównego został wygenerowany przez
     kreatora aplikacji jako klasa o niefortunnej nazwie Form1 i umieszczony w pliku
     Form1.h. My zwykle chcemy, żeby nazwy wszelkich klas, zmiennych, stałych i me-
     tod były znaczące, dlatego też przemianujemy nazwę klasy naszego okna na Okno-
     Glowne. W tym celu:
         przejdź do widoku kodu okna głównego i odszukaj w nim nagłówek deklaracji
         klasy Form1 (public ref class Form1 : public System::Windows::Forms::Form);
         kliknij w ten nagłówek (umieścisz w nim kursor);
         w oknie Properties, służącym do zmiany właściwości poszczególnych
         elementów projektu (po pierwszym użyciu będzie już zawsze widoczne
         i jego zawartość będzie się zmieniała w zależności od tego, który w danym
         momencie element czy plik będzie wskazany), znajdź właściwość o nazwie
         Name umieszczoną w nawiasach (właściwości domyślnie podzielone są
         na kategorie tematyczne, więc czasem łatwiej daną właściwość znaleźć,
         domyślając się, do jakiej kategorii należy) i zmień jej wartość na OknoGlowne
         — po zatwierdzeniu zmiany (np. przez naciśnięcie klawisza Enter) nazwa
         klasy zostanie zmieniona;
         w następnym kroku musisz zmienić nazwę pliku — przejdź zatem do okienka
         Solution Explorer i kliknij prawym przyciskiem myszy nazwę pliku Form1.h;
         z menu kontekstowego wybierz opcję Rename i wprowadź nowa nazwę pliku,
         w naszym przypadku OknoGlowne.h;

       W języku C++/CLI nazwa pliku nie musi odpowiadać nazwie klasy publicznej
       umieszczonej w tym pliku (pojęcie klasy wyjaśniamy w rozdziale 3.), ale trzymanie
       się tej zasady może znacznie poprawić przejrzystość projektu.


         pozostaje wskazać plikowi zawierającemu punkt startowy programu (w naszym
         przypadku jest to plik o nazwie Projekt.cpp znajdujący się w folderze Source
         Files), w którym pliku znajduje się definicja okna głównego programu i jaka
         jest nazwa klasy okna głównego; w tym celu otwórz plik Projekt.cpp, klikając
         na niego dwukrotnie, i zamień wystąpienie napisu Form1 na OknoGlowne
         — można to zrobić automatycznie, używając mechanizmu „znajdź i zamień”
         dostępnego poprzez menu Edit (rysunek 2.1).
Rozdział 2. ♦ Aplikacja z graficznym interfejsem użytkownika — zaczynamy                25


Rysunek 2.1.
Zmiana nazwy pliku
nagłówkowego
i klasy w pliku
źródłowym projektu




        Po dokonaniu tych zmian warto projekt przebudować — nie powinno być żadnych
        problemów.

        Wprowadziliśmy porządek do naszego projektu, możemy zatem zająć się właściwo-
        ściami okna głównego. Jeżeli kiedykolwiek odwoływaliśmy się do okna Properties,
        to jest ono widoczne po prawej stronie w oknie środowiska. Kliknijmy w projekt okna
        głównego naszej aplikacji — w oknie Properties wyświetlone zostaną właściwości
        okna głównego. Właściwości te służą przede wszystkim do konfiguracji wyglądu
        i zachowania naszego okna. Ustalmy, że nasze okno będzie miało rozmiar początko-
        wy 400 na 300 pikseli i będzie umieszczane każdorazowo po uruchomieniu w cen-
        trum ekranu. W tym celu musimy w oknie Properties zmienić wartości właściwości
        Size oraz StartPosition. We właściwości Size zmieniamy domyślne rozmiary okna
        na założone przez nas, natomiast w przypadku właściwości StartPosition wybieramy
        z listy rozwijalnej wartość CenterScreen. Teraz, po przebudowaniu i uruchomieniu,
        okno naszego programu zawsze będzie się pojawiało na środku ekranu.

        Na pewno zauważyłeś, że na belce programu nadal znajduje się napis Form1. Za napis,
        który jest wyświetlany na belce okna, odpowiada właściwość Text — zmieńmy jej
        wartość (poprzez okno Properties), np. na Mój pierwszy program.

        Warto dokładniej przyjrzeć się właściwościom dostępnym poprzez okno Properties
        i poeksperymentować z różnymi ustawieniami — efekty mogą być zadziwiające
        (o czym można się przekonać, czytając dalej tę książkę).



Elementy kontrolne
        Elementy kontrolne to wszystkie składniki interfejsu użytkownika, które mogą mieć
        za pośrednictwem użytkownika wpływ na działanie programu. Podstawowe elementy
        kontrolne, z których będziemy korzystać podczas tworzenia interfejsu użytkownika
        w przykładowym programie, to:
             przyciski (Button);
             pola tekstowe (TextBox);
             pola wyboru (CheckBox);
             listy rozwijane (ComboBox);
26                           Visual C++ 2005 Express Edition. Tworzenie aplikacji dla Windows


               etykiety (Label);
               menu główne programu (MenuStrip);
               pasek narzędziowy (ToolStrip);
               pasek stanu (StatusStrip).

       Platforma .NET poprzez przestrzeń nazw Windows.Forms udostępnia oczywiście o wiele
       więcej elementów kontrolnych — będziemy je wprowadzać w miarę potrzeby w ko-
       lejnych rozdziałach. W tym rozdziale będziemy po kolei tłumaczyć, co trzeba zrobić,
       aby umieścić dany element kontrolny w obszarze okna, i jak zmienić jego właściwo-
       ści. W następnych rozdziałach wprowadzimy dla ułatwienia tabelkę, która będzie za-
       wierała typ elementu kontrolnego, jego nazwę oraz zmienione właściwości — wpły-
       nie to niewątpliwie na przejrzystość rozdziałów.

       Zacznijmy więc od wyposażenia naszego programu w menu główne. Po prawej stro-
       nie okna głównego środowiska schowane jest okienko Toolbox (rysunek 2.2) zawie-
       rające elementy kontrolne, za pomocą których będziemy budować naszą aplikację.
       Dla ułatwienia pracy można to okienko „przypiąć” — po prawej stronie pojawi się
       dwuczęściowe okienko składające się z okna Toolbox u góry i okna Properties u dołu.

Rysunek 2.2.
Okno Toolbox




       Elementy kontrolne w oknie Toolbox podzielone zostały na kategorie, aby ułatwić
       wyszukiwanie konkretnego elementu. Znajdźmy element o nazwie MenuStrip, wskażmy
       go lewym przyciskiem myszy, a następnie przeciągnijmy na projekt okna głównego
       naszej aplikacji — okno to zostanie wyposażone w menu główne, którego pozycję
       musimy teraz wprowadzić, wykorzystując bardzo prosty edytor. Najpierw jednak po-
Rozdział 2. ♦ Aplikacja z graficznym interfejsem użytkownika — zaczynamy                   27


        winniśmy zmienić nazwę obiektu naszego menu — w tym celu klikamy w menu
        i udajemy się do okna Properties, gdzie zmieniamy właściwość Name na menuGlowne.

        Rysunek 2.3 przedstawia sposób edycji pozycji menu głównego.

Rysunek 2.3.
Edycja menu
głównego




        Warto pamiętać, że wpisanie symbolu & przed literą w nazwie pozycji menu (oraz
        w przypadku innych elementów kontrolnych) spowoduje podkreślenie tej litery
        i wprowadzenie klawisza skrótu dla danej opcji (na przykład, aby rozwinąć menu
        Plik, wystarczy nacisnąć kombinację klawiszy Alt+P).

        Nasze menu będzie się składać z pozycji Plik i Pomoc. Menu Plik będzie zawierało
        pozycje Otwórz, Zapisz i Zakończ, natomiast menu Pomoc będzie zawierało pozycję
        O programie... Oprócz nazw poszczególnych pozycji, na etapie edycji menu można
        zadecydować (przez wybranie opcji z listy rozwijalnej), jakiego typu będzie dana po-
        zycja menu (np. separator, lista rozwijalna itp.) lub czy dana pozycja będzie podmenu.

        Teraz wyposażymy nasz program w pasek narzędziowy, który będzie zawierał dwa
        przyciski dublujące działanie pierwszych dwóch pozycji menu. Odnajdźmy w oknie
        Toolbox komponent o nazwie ToolStrip i umieśćmy go w oknie głównym programu.
        Następnie, w podobny sposób jak podczas dodawania nowych pozycji menu, dodaj-
        my do paska narzędziowego dwa podstawowe elementy (klikając ikonkę dodawania
        elementu). Podstawowym elementem paska narzędziowego jest przycisk, ale można
        dodać też inne elementy, np. etykietę, listę rozwijalną, pasek postępu itp. Musimy
        również pamiętać o zmianie nazwy obiektu paska narzędziowego (właściwości Name
        przypisać wartość, np. pasekNarzedziowy). Warto przygotować sobie kilka ikonek,
        które będzie można umieścić na przyciskach paska narzędziowego — ikonki te
        wprowadzamy za pomocą właściwości Image w oknie Properties dla danego przyci-
        sku (wybieramy plik graficzny, najlepiej z obrazkiem o rozmiarach 16 na 16 pikseli).
        Dodatkowo właściwość ToolTipText przycisku zawiera tekst wyświetlany w „dymku”
        po umieszczeniu kursora myszy nad elementem kontrolnym — warto zmienić ten
        tekst na rzeczywistą podpowiedź. Rysunek 2.4 przedstawia projekt okna głównego
        z paskiem narzędziowym i dwoma dodanymi przyciskami.

        Bardzo przydatnym elementem każdego programu z graficznym interfejsem użytkow-
        nika jest pasek stanu, umieszczany u dołu okna. Zawiera on najczęściej informacje,
        którymi użytkownik niekoniecznie chciałby być bombardowany (pod postacią różnych
        okien dialogowych) — chodzi tu głównie o postęp pobierania pliku, wyświetlanie pod-
        powiedzi lub statusu operacji itp.
28                       Visual C++ 2005 Express Edition. Tworzenie aplikacji dla Windows


Rysunek 2.4.
Okno główne
z paskiem
narzędziowym




       Pasek stanu dodajemy do okna w podobny sposób jak w przypadku poprzednich
       komponentów — przez przeciągnięcie i upuszczenie na projekcie okna komponentu
       StatusStrip. Po umieszczeniu paska stanu w oknie aplikacji powinniśmy zmienić je-
       go nazwę (właściwość Name — np. pasekStanu). Podstawowym elementem, który może
       być umieszczony na pasku stanu, jest etykieta — dodaje się ją w analogiczny sposób
       jak przyciski w pasku narzędziowym, przez kliknięcie ikony dodawania etykiety.
       Dodajmy zatem jedną etykietę i przypiszmy jej właściwości Text napis Gotowy!.
       Twoją uwagę na pewno przykuł wygląd paska stanu, znacznie różniący się od wyglą-
       du pozostałych elementów (paska narzędziowego i menu). Aby dostosować wygląd
       paska stanu do pozostałych komponentów, kliknijmy piktogram przedstawiający
       strzałkę, umieszczony w prawym górnym narożniku paska stanu, i w okienku zadań
       ustawmy RenderMode na Professional (rysunek 2.5).

Rysunek 2.5.
Zmiana wyglądu
paska stanu




       Pasek stanu mamy przygotowany. Możemy zatem wyposażyć okno naszego progra-
       mu w pozostałe elementy kontrolne. Dodajmy do naszego okna trzy etykiety (Label)
       i ustawmy ich właściwości Text jako Imię:, Nazwisko: i Język programowania:. Na-
       stępnie dodajmy do okna głównego dwa pola tekstowe (TextBox) i nazwijmy je (Name)
       txtImie i txtNazwisko. Teraz dodajmy jedno pole wyboru (CheckBox) i nazwijmy je
       cbPoczatkujacy (właściwości Text przypiszmy początkujący programista). Na ko-
       niec dodajmy jedną listę rozwijalną (ComboBox) i nazwijmy ją cmbJezyk oraz jeden przy-
       cisk (Button) — nazwiemy go btnOK i właściwość Text ustalimy na OK. Jak te wszystkie
       operacje wykonać — już wiemy. Rysunek 2.6 przedstawia poprawne rozmieszczenie
       elementów kontrolnych w oknie programu.

       Lista rozwijalna zawierać będzie klika nazw języków programowania. Ponadto bę-
       dziemy chcieli, żeby użytkownik mógł wpisać inny język programowania, niewymie-
       niony na liście. Najpierw wprowadzimy języki programowania do wyboru. Kliknijmy
       w widoku projektu naszą listę rozwijalną prawym przyciskiem myszy i wybierzmy
       pozycję Edit Items. Zostaniemy przeniesieni do okna dialogowego umożliwiającego
       wprowadzenie elementów listy rozwijalnej, tak jak pokazano na rysunku 2.7.
Rozdział 2. ♦ Aplikacja z graficznym interfejsem użytkownika — zaczynamy               29


Rysunek 2.6.
Rozmieszczenie
elementów
kontrolnych
w oknie programu




Rysunek 2.7.
Wprowadzanie
elementów listy
rozwijalnej




         Jak pewnie zauważyłeś, wykorzystując klawisz Tab, możemy się przemieszczać w pew-
         nej logicznej kolejności po elementach kontrolnych okna. Spróbujmy w takim razie
         ustalić kolejność przechodzenia klawiszem Tab przez elementy kontrolne w naszym
         programie. W tym celu w widoku projektu okna z menu View wybierzmy pozycję
         Tab Order. Nasze okno zmieni wygląd tak jak na rysunku 2.8 — obok każdego ele-
         mentu kontrolnego pojawi się numerek, oznaczający kolejność przechodzenia za po-
         mocą klawisza Tab.

Rysunek 2.8.
Ustalanie kolejności
przechodzenia
między elementami
kontrolnymi
z wykorzystaniem
klawisza Tab




         Kolejność przejść ustalamy, klikając numerki od pierwszego elementu do ostatniego
         zgodnie z przyjętym założeniem. Edycję przejść wyłączamy, wybierając ponownie
         View/Tab Order.
30                           Visual C++ 2005 Express Edition. Tworzenie aplikacji dla Windows


         Przykładowy program jest już gotowy. Możemy go przebudować i uruchomić; po-
         winniśmy otrzymać efekt jak na rysunku 2.9.

Rysunek 2.9.
Działający program




         Brakuje tylko jednej rzeczy: obsługi zdarzeń generowanych przez elementy kontrolne.



Zdarzenia
         Elementy kontrolne generują zdarzenia — obsługa tych zdarzeń to podstawa działania
         programów z graficznym interfejsem użytkownika. Zacznijmy od oprogramowania
         zdarzenia kliknięcia przycisku OK naszego okna głównego. Możemy to zrobić na
         dwa sposoby. Można kliknąć przycisk, przenieść się do okna Properties, przełączyć
         się na widok zdarzeń (ang. Events) za pomocą przycisku z błyskawicą, odnaleźć zda-
         rzenie Click i kliknąć dwukrotnie puste pole po prawej stronie tego zdarzenia. Można
         też po prostu kliknąć dwukrotnie przycisk. Obie te akcje spowodują przeniesienie nas
         do okna edycji kodu, gdzie będziemy mogli oprogramować to zdarzenie. Wygene-
         rujmy więc w jeden z tych sposobów funkcję obsługi zdarzenia Click przycisku OK
         i wprowadźmy do niej kod z listingu 2.1.

Listing 2.1. Funkcja obsługi zdarzenia kliknięcia w przycisk OK

            private: System::Void btnPokaz_Click(System::Object^ sender, System::EventArgs^ e)
            {
               String^ komunikat = txtImie->Text + " " + txtNazwisko->Text + "n";
               if (cbPoczatkujacy->Checked) {
                komunikat += "Początkujący programistan";
               } else {
                komunikat += "Zaawansowany programistan";
               }
               if (cmbJezyk->Text->Length != 0) {
                komunikat += "Język programowania: " + cmbJezyk->Text;
               }
               MessageBox::Show(komunikat, "Dane programisty", MessageBoxButtons::OK,
               MessageBoxIcon::Information);
            }
Rozdział 2. ♦ Aplikacja z graficznym interfejsem użytkownika — zaczynamy                    31


        W pierwszym wierszu funkcji zmiennej komunikat przypisujemy wartości właściwo-
        ści pól tekstowych połączone spacją i zakończone znakiem nowego wiersza.

           Środowiska programistyczne Microsoft wyposażone są w technologię IntelliSense,
           dzięki której w sposób szybki i efektywny możemy uzyskać podpowiedź dotyczącą
           wyboru metody czy właściwości dla danego obiektu w oknie edycji kodu. Podpo-
           wiedź można tez uruchomić ręcznie, za pomocą kombinacji klawiszy Ctrl+Spacja.


        Dalej za pomocą instrukcji warunkowej if sprawdzamy, czy użytkownik zaznaczył
        pole wyboru cbPoczatkujacy (właściwość Checked przyjmuje wartości True lub False
        w zależności od tego, czy pole zostało zaznaczone, czy nie). Jeśli tak, do zmiennej
        komunikat dołączamy informację Początkujący programista, w przeciwnym razie do
        zmiennej komunikat dołączamy informację Zaawansowany programista. Następnie
        sprawdzamy, czy z listy rozwijalnej wybrany został język programowania (lub też
        użytkownik wpisał nazwę języka). Jeśli tak (długość ciągu znaków we właściwości
        Text jest większa od zera), do zmiennej komunikat dołączamy zawartość pola edycyj-
        nego listy rozwijalnej. Na koniec wyświetlamy komunikat, używając wygodnego
        i łatwego w zastosowaniu predefiniowanego okna informacyjnego MessageBox. Efekt
        działania programu widoczny jest na rysunku 2.10.

Rysunek 2.10.
Efekt obsługi
zdarzenia Click
przycisku OK.




        Obsługę zdarzeń pozostałych przycisków i pozycji menu pozostawiamy Czytelnikowi
        jako ćwiczenie własne.

        Podsumujmy: w rozdziale tym nauczyliśmy się tworzyć aplikacje z graficznym inter-
        fejsem użytkownika i pisać funkcje obsługi zdarzeń. Będziemy teraz mogli — ekspe-
        rymentując z oknem Properties — tworzyć różne aplikacje oraz rozwijać przykłado-
        we programy przedstawione w następnych rozdziałach. Ponieważ pewne umiejętności
        już mamy, począwszy od rozdziału 5., lista komponentów użytych do utworzenia in-
        terfejsu użytkownika umieszczana będzie we wspomnianej już tabeli.

Contenu connexe

Tendances

Macromedia Flash 8. Oficjalny podręcznik
Macromedia Flash 8. Oficjalny podręcznikMacromedia Flash 8. Oficjalny podręcznik
Macromedia Flash 8. Oficjalny podręcznikWydawnictwo Helion
 
Visual Basic .NET. Księga eksperta
Visual Basic .NET. Księga ekspertaVisual Basic .NET. Księga eksperta
Visual Basic .NET. Księga ekspertaWydawnictwo Helion
 
Macromedia Studio 8. Oficjalny podręcznik
Macromedia Studio 8. Oficjalny podręcznikMacromedia Studio 8. Oficjalny podręcznik
Macromedia Studio 8. Oficjalny podręcznikWydawnictwo Helion
 
Visual C# 2008. Projektowanie aplikacji. Pierwsze starcie
Visual C# 2008. Projektowanie aplikacji. Pierwsze starcieVisual C# 2008. Projektowanie aplikacji. Pierwsze starcie
Visual C# 2008. Projektowanie aplikacji. Pierwsze starcieWydawnictwo Helion
 
Visual C# 2005. Zapiski programisty
Visual C# 2005. Zapiski programistyVisual C# 2005. Zapiski programisty
Visual C# 2005. Zapiski programistyWydawnictwo Helion
 
Wstęp do programowania w języku C#
Wstęp do programowania w języku C#Wstęp do programowania w języku C#
Wstęp do programowania w języku C#Wydawnictwo Helion
 
Delphi 2007 dla WIN32 i bazy danych
Delphi 2007 dla WIN32 i bazy danychDelphi 2007 dla WIN32 i bazy danych
Delphi 2007 dla WIN32 i bazy danychWydawnictwo Helion
 
Delphi dla .NET. Vademecum profesjonalisty
Delphi dla .NET. Vademecum profesjonalistyDelphi dla .NET. Vademecum profesjonalisty
Delphi dla .NET. Vademecum profesjonalistyWydawnictwo Helion
 
C++Builder Borland Developer Studio 2006. Kompendium programisty
C++Builder Borland Developer Studio 2006. Kompendium programistyC++Builder Borland Developer Studio 2006. Kompendium programisty
C++Builder Borland Developer Studio 2006. Kompendium programistyWydawnictwo Helion
 
C++ Builder 6. Vademecum profesjonalisty
C++ Builder 6. Vademecum profesjonalistyC++ Builder 6. Vademecum profesjonalisty
C++ Builder 6. Vademecum profesjonalistyWydawnictwo Helion
 
Delphi 2005. Ćwiczenia praktyczne
Delphi 2005. Ćwiczenia praktyczneDelphi 2005. Ćwiczenia praktyczne
Delphi 2005. Ćwiczenia praktyczneWydawnictwo Helion
 
J2EE. Podstawy programowania aplikacji korporacyjnych
J2EE. Podstawy programowania aplikacji korporacyjnychJ2EE. Podstawy programowania aplikacji korporacyjnych
J2EE. Podstawy programowania aplikacji korporacyjnychWydawnictwo Helion
 
ASP.NET 3.5 dla programistów PHP
ASP.NET 3.5 dla programistów PHPASP.NET 3.5 dla programistów PHP
ASP.NET 3.5 dla programistów PHPWydawnictwo Helion
 
Macromedia Flash MX 2004. Sztuka projektowania
Macromedia Flash MX 2004. Sztuka projektowaniaMacromedia Flash MX 2004. Sztuka projektowania
Macromedia Flash MX 2004. Sztuka projektowaniaWydawnictwo Helion
 
Delphi 8 .NET. Kompendium programisty
Delphi 8 .NET. Kompendium programistyDelphi 8 .NET. Kompendium programisty
Delphi 8 .NET. Kompendium programistyWydawnictwo Helion
 
J2EE. Vademecum profesjonalisty. Wydanie II
J2EE. Vademecum profesjonalisty. Wydanie IIJ2EE. Vademecum profesjonalisty. Wydanie II
J2EE. Vademecum profesjonalisty. Wydanie IIWydawnictwo Helion
 

Tendances (19)

Macromedia Flash 8. Oficjalny podręcznik
Macromedia Flash 8. Oficjalny podręcznikMacromedia Flash 8. Oficjalny podręcznik
Macromedia Flash 8. Oficjalny podręcznik
 
Visual Basic .NET. Księga eksperta
Visual Basic .NET. Księga ekspertaVisual Basic .NET. Księga eksperta
Visual Basic .NET. Księga eksperta
 
Macromedia Studio 8. Oficjalny podręcznik
Macromedia Studio 8. Oficjalny podręcznikMacromedia Studio 8. Oficjalny podręcznik
Macromedia Studio 8. Oficjalny podręcznik
 
Visual C# 2008. Projektowanie aplikacji. Pierwsze starcie
Visual C# 2008. Projektowanie aplikacji. Pierwsze starcieVisual C# 2008. Projektowanie aplikacji. Pierwsze starcie
Visual C# 2008. Projektowanie aplikacji. Pierwsze starcie
 
Visual C# 2005. Zapiski programisty
Visual C# 2005. Zapiski programistyVisual C# 2005. Zapiski programisty
Visual C# 2005. Zapiski programisty
 
Wstęp do programowania w języku C#
Wstęp do programowania w języku C#Wstęp do programowania w języku C#
Wstęp do programowania w języku C#
 
Delphi 2007 dla WIN32 i bazy danych
Delphi 2007 dla WIN32 i bazy danychDelphi 2007 dla WIN32 i bazy danych
Delphi 2007 dla WIN32 i bazy danych
 
Visual Basic 2005. Od podstaw
Visual Basic 2005. Od podstawVisual Basic 2005. Od podstaw
Visual Basic 2005. Od podstaw
 
Delphi dla .NET. Vademecum profesjonalisty
Delphi dla .NET. Vademecum profesjonalistyDelphi dla .NET. Vademecum profesjonalisty
Delphi dla .NET. Vademecum profesjonalisty
 
C++Builder Borland Developer Studio 2006. Kompendium programisty
C++Builder Borland Developer Studio 2006. Kompendium programistyC++Builder Borland Developer Studio 2006. Kompendium programisty
C++Builder Borland Developer Studio 2006. Kompendium programisty
 
C++ Builder 6. Vademecum profesjonalisty
C++ Builder 6. Vademecum profesjonalistyC++ Builder 6. Vademecum profesjonalisty
C++ Builder 6. Vademecum profesjonalisty
 
Delphi 2005. Ćwiczenia praktyczne
Delphi 2005. Ćwiczenia praktyczneDelphi 2005. Ćwiczenia praktyczne
Delphi 2005. Ćwiczenia praktyczne
 
J2EE. Podstawy programowania aplikacji korporacyjnych
J2EE. Podstawy programowania aplikacji korporacyjnychJ2EE. Podstawy programowania aplikacji korporacyjnych
J2EE. Podstawy programowania aplikacji korporacyjnych
 
C# i .NET
C# i .NETC# i .NET
C# i .NET
 
ASP.NET 3.5 dla programistów PHP
ASP.NET 3.5 dla programistów PHPASP.NET 3.5 dla programistów PHP
ASP.NET 3.5 dla programistów PHP
 
Macromedia Flash MX 2004. Sztuka projektowania
Macromedia Flash MX 2004. Sztuka projektowaniaMacromedia Flash MX 2004. Sztuka projektowania
Macromedia Flash MX 2004. Sztuka projektowania
 
Delphi 8 .NET. Kompendium programisty
Delphi 8 .NET. Kompendium programistyDelphi 8 .NET. Kompendium programisty
Delphi 8 .NET. Kompendium programisty
 
C# i ASP.NET. Szybki start
C# i ASP.NET. Szybki startC# i ASP.NET. Szybki start
C# i ASP.NET. Szybki start
 
J2EE. Vademecum profesjonalisty. Wydanie II
J2EE. Vademecum profesjonalisty. Wydanie IIJ2EE. Vademecum profesjonalisty. Wydanie II
J2EE. Vademecum profesjonalisty. Wydanie II
 

En vedette

PowerShell from *nix user perspective
PowerShell from *nix user perspectivePowerShell from *nix user perspective
PowerShell from *nix user perspectiveJuraj Michálek
 
Migracja I Integracja Bazy
Migracja I Integracja BazyMigracja I Integracja Bazy
Migracja I Integracja BazyPrzemysław ...
 
Visual Studio 2005. Programowanie z Windows API w języku C++
Visual Studio 2005. Programowanie z Windows API w języku C++Visual Studio 2005. Programowanie z Windows API w języku C++
Visual Studio 2005. Programowanie z Windows API w języku C++Wydawnictwo Helion
 
SQL Server 2008 Tips & tricks administracji
SQL Server 2008 Tips & tricks administracjiSQL Server 2008 Tips & tricks administracji
SQL Server 2008 Tips & tricks administracjiSQLExpert.pl
 
Visual Basic 2008. Warsztat programisty
Visual Basic 2008. Warsztat programistyVisual Basic 2008. Warsztat programisty
Visual Basic 2008. Warsztat programistyWydawnictwo Helion
 
Ms Sql Server
Ms Sql ServerMs Sql Server
Ms Sql Serverscale
 
Kurs MySQL i SQL, bazy danych - prezentacja ppt, pdf, porady, trening, kurs i...
Kurs MySQL i SQL, bazy danych - prezentacja ppt, pdf, porady, trening, kurs i...Kurs MySQL i SQL, bazy danych - prezentacja ppt, pdf, porady, trening, kurs i...
Kurs MySQL i SQL, bazy danych - prezentacja ppt, pdf, porady, trening, kurs i...twitch.tv/katmpb
 
Windows Server 2008 PL. Księga eksperta
Windows Server 2008 PL. Księga ekspertaWindows Server 2008 PL. Księga eksperta
Windows Server 2008 PL. Księga ekspertaWydawnictwo Helion
 
Kompletny przewodnik po SQL injection dla developerów PHP (i nie tylko)
Kompletny przewodnik po SQL injection dla developerów PHP (i nie tylko)Kompletny przewodnik po SQL injection dla developerów PHP (i nie tylko)
Kompletny przewodnik po SQL injection dla developerów PHP (i nie tylko)Krzysztof Kotowicz
 
Uprawnienia W Sql Server 2005
Uprawnienia W Sql Server 2005Uprawnienia W Sql Server 2005
Uprawnienia W Sql Server 2005rypki
 

En vedette (12)

PowerShell from *nix user perspective
PowerShell from *nix user perspectivePowerShell from *nix user perspective
PowerShell from *nix user perspective
 
Migracja I Integracja Bazy
Migracja I Integracja BazyMigracja I Integracja Bazy
Migracja I Integracja Bazy
 
Visual Studio 2005. Programowanie z Windows API w języku C++
Visual Studio 2005. Programowanie z Windows API w języku C++Visual Studio 2005. Programowanie z Windows API w języku C++
Visual Studio 2005. Programowanie z Windows API w języku C++
 
SQL Server 2008 Tips & tricks administracji
SQL Server 2008 Tips & tricks administracjiSQL Server 2008 Tips & tricks administracji
SQL Server 2008 Tips & tricks administracji
 
100 sposobów na Ubuntu
100 sposobów na Ubuntu100 sposobów na Ubuntu
100 sposobów na Ubuntu
 
Visual Basic 2008. Warsztat programisty
Visual Basic 2008. Warsztat programistyVisual Basic 2008. Warsztat programisty
Visual Basic 2008. Warsztat programisty
 
Ms Sql Server
Ms Sql ServerMs Sql Server
Ms Sql Server
 
Kurs MySQL i SQL, bazy danych - prezentacja ppt, pdf, porady, trening, kurs i...
Kurs MySQL i SQL, bazy danych - prezentacja ppt, pdf, porady, trening, kurs i...Kurs MySQL i SQL, bazy danych - prezentacja ppt, pdf, porady, trening, kurs i...
Kurs MySQL i SQL, bazy danych - prezentacja ppt, pdf, porady, trening, kurs i...
 
Windows Server 2008 PL. Księga eksperta
Windows Server 2008 PL. Księga ekspertaWindows Server 2008 PL. Księga eksperta
Windows Server 2008 PL. Księga eksperta
 
SQL. Od podstaw
SQL. Od podstawSQL. Od podstaw
SQL. Od podstaw
 
Kompletny przewodnik po SQL injection dla developerów PHP (i nie tylko)
Kompletny przewodnik po SQL injection dla developerów PHP (i nie tylko)Kompletny przewodnik po SQL injection dla developerów PHP (i nie tylko)
Kompletny przewodnik po SQL injection dla developerów PHP (i nie tylko)
 
Uprawnienia W Sql Server 2005
Uprawnienia W Sql Server 2005Uprawnienia W Sql Server 2005
Uprawnienia W Sql Server 2005
 

Similaire à Visual C++ 2005 Express Edition. Tworzenie aplikacji dla Windows

Visual Basic 2005. Zapiski programisty
Visual Basic 2005. Zapiski programistyVisual Basic 2005. Zapiski programisty
Visual Basic 2005. Zapiski programistyWydawnictwo Helion
 
Microsoft Visual Basic .NET 2003. Księga eksperta
Microsoft Visual Basic .NET 2003. Księga ekspertaMicrosoft Visual Basic .NET 2003. Księga eksperta
Microsoft Visual Basic .NET 2003. Księga ekspertaWydawnictwo Helion
 
PHP. 101 praktycznych skryptów. Wydanie II
PHP. 101 praktycznych skryptów. Wydanie IIPHP. 101 praktycznych skryptów. Wydanie II
PHP. 101 praktycznych skryptów. Wydanie IIWydawnictwo Helion
 
ASP.NET 2.0. Projektowanie aplikacji internetowych
ASP.NET 2.0. Projektowanie aplikacji internetowychASP.NET 2.0. Projektowanie aplikacji internetowych
ASP.NET 2.0. Projektowanie aplikacji internetowychWydawnictwo Helion
 
.NET Framework 2.0. Zaawansowane programowanie
.NET Framework 2.0. Zaawansowane programowanie.NET Framework 2.0. Zaawansowane programowanie
.NET Framework 2.0. Zaawansowane programowanieWydawnictwo Helion
 
C++. Wykorzystaj potęgę aplikacji graficznych
C++. Wykorzystaj potęgę aplikacji graficznychC++. Wykorzystaj potęgę aplikacji graficznych
C++. Wykorzystaj potęgę aplikacji graficznychWydawnictwo Helion
 
Programowanie obiektowe w Visual Basic .NET dla każdego
Programowanie obiektowe w Visual Basic .NET dla każdegoProgramowanie obiektowe w Visual Basic .NET dla każdego
Programowanie obiektowe w Visual Basic .NET dla każdegoWydawnictwo Helion
 
Visual Basic .NET. Encyklopedia
Visual Basic .NET. EncyklopediaVisual Basic .NET. Encyklopedia
Visual Basic .NET. EncyklopediaWydawnictwo Helion
 
C++Builder. Kompendium programisty
C++Builder. Kompendium programistyC++Builder. Kompendium programisty
C++Builder. Kompendium programistyWydawnictwo Helion
 
Asembler. Podręcznik programisty
Asembler. Podręcznik programistyAsembler. Podręcznik programisty
Asembler. Podręcznik programistyWydawnictwo Helion
 
PHP5. Zaawansowane programowanie
PHP5. Zaawansowane programowaniePHP5. Zaawansowane programowanie
PHP5. Zaawansowane programowanieWydawnictwo Helion
 
Excel. Programowanie dla profesjonalistów
Excel. Programowanie dla profesjonalistówExcel. Programowanie dla profesjonalistów
Excel. Programowanie dla profesjonalistówWydawnictwo Helion
 

Similaire à Visual C++ 2005 Express Edition. Tworzenie aplikacji dla Windows (17)

Visual Basic 2005. Zapiski programisty
Visual Basic 2005. Zapiski programistyVisual Basic 2005. Zapiski programisty
Visual Basic 2005. Zapiski programisty
 
Microsoft Visual Basic .NET 2003. Księga eksperta
Microsoft Visual Basic .NET 2003. Księga ekspertaMicrosoft Visual Basic .NET 2003. Księga eksperta
Microsoft Visual Basic .NET 2003. Księga eksperta
 
PHP. 101 praktycznych skryptów. Wydanie II
PHP. 101 praktycznych skryptów. Wydanie IIPHP. 101 praktycznych skryptów. Wydanie II
PHP. 101 praktycznych skryptów. Wydanie II
 
ASP.NET 2.0. Projektowanie aplikacji internetowych
ASP.NET 2.0. Projektowanie aplikacji internetowychASP.NET 2.0. Projektowanie aplikacji internetowych
ASP.NET 2.0. Projektowanie aplikacji internetowych
 
.NET Framework 2.0. Zaawansowane programowanie
.NET Framework 2.0. Zaawansowane programowanie.NET Framework 2.0. Zaawansowane programowanie
.NET Framework 2.0. Zaawansowane programowanie
 
C++. Wykorzystaj potęgę aplikacji graficznych
C++. Wykorzystaj potęgę aplikacji graficznychC++. Wykorzystaj potęgę aplikacji graficznych
C++. Wykorzystaj potęgę aplikacji graficznych
 
Programowanie obiektowe w Visual Basic .NET dla każdego
Programowanie obiektowe w Visual Basic .NET dla każdegoProgramowanie obiektowe w Visual Basic .NET dla każdego
Programowanie obiektowe w Visual Basic .NET dla każdego
 
C#. Programowanie
C#. ProgramowanieC#. Programowanie
C#. Programowanie
 
Visual Basic .NET. Encyklopedia
Visual Basic .NET. EncyklopediaVisual Basic .NET. Encyklopedia
Visual Basic .NET. Encyklopedia
 
C++Builder. Kompendium programisty
C++Builder. Kompendium programistyC++Builder. Kompendium programisty
C++Builder. Kompendium programisty
 
Asembler. Podręcznik programisty
Asembler. Podręcznik programistyAsembler. Podręcznik programisty
Asembler. Podręcznik programisty
 
C++Builder 6 i bazy danych
C++Builder 6 i bazy danychC++Builder 6 i bazy danych
C++Builder 6 i bazy danych
 
ASP.NET 2.0. Księga eksperta
ASP.NET 2.0. Księga ekspertaASP.NET 2.0. Księga eksperta
ASP.NET 2.0. Księga eksperta
 
PHP5. Zaawansowane programowanie
PHP5. Zaawansowane programowaniePHP5. Zaawansowane programowanie
PHP5. Zaawansowane programowanie
 
Visual C# .NET. Encyklopedia
Visual C# .NET. EncyklopediaVisual C# .NET. Encyklopedia
Visual C# .NET. Encyklopedia
 
J2ME. Praktyczne projekty
J2ME. Praktyczne projektyJ2ME. Praktyczne projekty
J2ME. Praktyczne projekty
 
Excel. Programowanie dla profesjonalistów
Excel. Programowanie dla profesjonalistówExcel. Programowanie dla profesjonalistów
Excel. Programowanie dla profesjonalistów
 

Plus de Wydawnictwo Helion

Tworzenie filmów w Windows XP. Projekty
Tworzenie filmów w Windows XP. ProjektyTworzenie filmów w Windows XP. Projekty
Tworzenie filmów w Windows XP. ProjektyWydawnictwo Helion
 
Blog, więcej niż internetowy pamiętnik
Blog, więcej niż internetowy pamiętnikBlog, więcej niż internetowy pamiętnik
Blog, więcej niż internetowy pamiętnikWydawnictwo Helion
 
Pozycjonowanie i optymalizacja stron WWW. Ćwiczenia praktyczne
Pozycjonowanie i optymalizacja stron WWW. Ćwiczenia praktycznePozycjonowanie i optymalizacja stron WWW. Ćwiczenia praktyczne
Pozycjonowanie i optymalizacja stron WWW. Ćwiczenia praktyczneWydawnictwo Helion
 
E-wizerunek. Internet jako narzędzie kreowania image'u w biznesie
E-wizerunek. Internet jako narzędzie kreowania image'u w biznesieE-wizerunek. Internet jako narzędzie kreowania image'u w biznesie
E-wizerunek. Internet jako narzędzie kreowania image'u w biznesieWydawnictwo Helion
 
Microsoft Visual C++ 2008. Tworzenie aplikacji dla Windows
Microsoft Visual C++ 2008. Tworzenie aplikacji dla WindowsMicrosoft Visual C++ 2008. Tworzenie aplikacji dla Windows
Microsoft Visual C++ 2008. Tworzenie aplikacji dla WindowsWydawnictwo Helion
 
Co potrafi Twój iPhone? Podręcznik użytkownika. Wydanie II
Co potrafi Twój iPhone? Podręcznik użytkownika. Wydanie IICo potrafi Twój iPhone? Podręcznik użytkownika. Wydanie II
Co potrafi Twój iPhone? Podręcznik użytkownika. Wydanie IIWydawnictwo Helion
 
Makrofotografia. Magia szczegółu
Makrofotografia. Magia szczegółuMakrofotografia. Magia szczegółu
Makrofotografia. Magia szczegółuWydawnictwo Helion
 
Java. Efektywne programowanie. Wydanie II
Java. Efektywne programowanie. Wydanie IIJava. Efektywne programowanie. Wydanie II
Java. Efektywne programowanie. Wydanie IIWydawnictwo Helion
 
Ajax, JavaScript i PHP. Intensywny trening
Ajax, JavaScript i PHP. Intensywny treningAjax, JavaScript i PHP. Intensywny trening
Ajax, JavaScript i PHP. Intensywny treningWydawnictwo Helion
 
PowerPoint 2007 PL. Seria praktyk
PowerPoint 2007 PL. Seria praktykPowerPoint 2007 PL. Seria praktyk
PowerPoint 2007 PL. Seria praktykWydawnictwo Helion
 
Serwisy społecznościowe. Budowa, administracja i moderacja
Serwisy społecznościowe. Budowa, administracja i moderacjaSerwisy społecznościowe. Budowa, administracja i moderacja
Serwisy społecznościowe. Budowa, administracja i moderacjaWydawnictwo Helion
 

Plus de Wydawnictwo Helion (20)

Tworzenie filmów w Windows XP. Projekty
Tworzenie filmów w Windows XP. ProjektyTworzenie filmów w Windows XP. Projekty
Tworzenie filmów w Windows XP. Projekty
 
Blog, więcej niż internetowy pamiętnik
Blog, więcej niż internetowy pamiętnikBlog, więcej niż internetowy pamiętnik
Blog, więcej niż internetowy pamiętnik
 
Access w biurze i nie tylko
Access w biurze i nie tylkoAccess w biurze i nie tylko
Access w biurze i nie tylko
 
Pozycjonowanie i optymalizacja stron WWW. Ćwiczenia praktyczne
Pozycjonowanie i optymalizacja stron WWW. Ćwiczenia praktycznePozycjonowanie i optymalizacja stron WWW. Ćwiczenia praktyczne
Pozycjonowanie i optymalizacja stron WWW. Ćwiczenia praktyczne
 
E-wizerunek. Internet jako narzędzie kreowania image'u w biznesie
E-wizerunek. Internet jako narzędzie kreowania image'u w biznesieE-wizerunek. Internet jako narzędzie kreowania image'u w biznesie
E-wizerunek. Internet jako narzędzie kreowania image'u w biznesie
 
Microsoft Visual C++ 2008. Tworzenie aplikacji dla Windows
Microsoft Visual C++ 2008. Tworzenie aplikacji dla WindowsMicrosoft Visual C++ 2008. Tworzenie aplikacji dla Windows
Microsoft Visual C++ 2008. Tworzenie aplikacji dla Windows
 
Co potrafi Twój iPhone? Podręcznik użytkownika. Wydanie II
Co potrafi Twój iPhone? Podręcznik użytkownika. Wydanie IICo potrafi Twój iPhone? Podręcznik użytkownika. Wydanie II
Co potrafi Twój iPhone? Podręcznik użytkownika. Wydanie II
 
Makrofotografia. Magia szczegółu
Makrofotografia. Magia szczegółuMakrofotografia. Magia szczegółu
Makrofotografia. Magia szczegółu
 
Windows PowerShell. Podstawy
Windows PowerShell. PodstawyWindows PowerShell. Podstawy
Windows PowerShell. Podstawy
 
Java. Efektywne programowanie. Wydanie II
Java. Efektywne programowanie. Wydanie IIJava. Efektywne programowanie. Wydanie II
Java. Efektywne programowanie. Wydanie II
 
JavaScript. Pierwsze starcie
JavaScript. Pierwsze starcieJavaScript. Pierwsze starcie
JavaScript. Pierwsze starcie
 
Ajax, JavaScript i PHP. Intensywny trening
Ajax, JavaScript i PHP. Intensywny treningAjax, JavaScript i PHP. Intensywny trening
Ajax, JavaScript i PHP. Intensywny trening
 
PowerPoint 2007 PL. Seria praktyk
PowerPoint 2007 PL. Seria praktykPowerPoint 2007 PL. Seria praktyk
PowerPoint 2007 PL. Seria praktyk
 
Excel 2007 PL. Seria praktyk
Excel 2007 PL. Seria praktykExcel 2007 PL. Seria praktyk
Excel 2007 PL. Seria praktyk
 
Access 2007 PL. Seria praktyk
Access 2007 PL. Seria praktykAccess 2007 PL. Seria praktyk
Access 2007 PL. Seria praktyk
 
Word 2007 PL. Seria praktyk
Word 2007 PL. Seria praktykWord 2007 PL. Seria praktyk
Word 2007 PL. Seria praktyk
 
Serwisy społecznościowe. Budowa, administracja i moderacja
Serwisy społecznościowe. Budowa, administracja i moderacjaSerwisy społecznościowe. Budowa, administracja i moderacja
Serwisy społecznościowe. Budowa, administracja i moderacja
 
AutoCAD 2008 i 2008 PL
AutoCAD 2008 i 2008 PLAutoCAD 2008 i 2008 PL
AutoCAD 2008 i 2008 PL
 
Bazy danych. Pierwsze starcie
Bazy danych. Pierwsze starcieBazy danych. Pierwsze starcie
Bazy danych. Pierwsze starcie
 
Inventor. Pierwsze kroki
Inventor. Pierwsze krokiInventor. Pierwsze kroki
Inventor. Pierwsze kroki
 

Visual C++ 2005 Express Edition. Tworzenie aplikacji dla Windows

  • 1. IDZ DO PRZYK£ADOWY ROZDZIA£ SPIS TREŒCI Visual C++ 2005 Express Edition. Tworzenie aplikacji KATALOG KSI¥¯EK dla Windows Autor: Rafa³ Wileczek KATALOG ONLINE ISBN: 83-246-0488-X Format: B5, stron: 168 ZAMÓW DRUKOWANY KATALOG Przyk³ady na ftp: 195 kB TWÓJ KOSZYK Stwórz aplikacje dla platformy .NET 2.0 DODAJ DO KOSZYKA • Poznaj œrodowisko programistyczne • Wykorzystaj mo¿liwoœci programowania obiektowego • Po³¹cz aplikacjê z baz¹ danych i sieci¹ CENNIK I INFORMACJE œrodowisko programistyczne Visual C++ 2005 Express Edition to uproszczona i okrojona wersja Visual C++ 2005. Mimo tego jest bardzo przydatnym i wydajnym ZAMÓW INFORMACJE narzêdziem dla programisty chc¹cego tworzyæ aplikacje dla platformy .NET. Umo¿liwia O NOWOŒCIACH korzystanie z bibliotek .NET Framework u³atwiaj¹cych ¿mudny proces tworzenia aplikacji. Jest œwietnym narzêdziem nie tylko dla pocz¹tkuj¹cego twórcy aplikacji, ZAMÓW CENNIK ale tak¿e dla tych programistów, którzy nie potrzebuj¹ zaawansowanych œrodowisk w wersjach Enterprise. Dodatkowym atutem œrodowiska Visual C++ 2005 Express Edition jest mo¿liwoœæ pobrania go i u¿ywania za darmo do listopada 2007 roku. CZYTELNIA Ksi¹¿ka „Visual C++ 2005 Express Edition. Tworzenie aplikacji dla Windows” to FRAGMENTY KSI¥¯EK ONLINE podrêcznik, dziêki któremu poznasz mo¿liwoœci tego œrodowiska programistycznego tworz¹c w³asne aplikacje. Dowiesz siê, jak zaprojektowaæ interfejs u¿ytkownika korzystaj¹c z komponentów zawartych w .NET Framework. Nauczysz siê ³¹czyæ aplikacje z bazami danych oraz z sieci¹ Internet. Przeczytasz tak¿e o obs³udze plików graficznych i dŸwiêkowych oraz drukowaniu. Znajdziesz tu równie¿ dodatek, w którym opisano podstawy programowania w jêzyku C++. • Okreœlanie parametrów nowego projektu w Visual C++ 2005 Express Edition • Kompilacja i uruchamianie aplikacji • Podstawy programowania obiektowego • Tworzenie graficznych interfejsów u¿ytkownika • Po³¹czenia z bazami danych i internetem • Programowanie wielow¹tkowe Wydawnictwo Helion • Drukowanie grafiki i dokumentów ul. Chopina 6 44-100 Gliwice Rozwiñ swoje umiejêtnoœci programowania tel. (32)230-98-63 oraz tworzenia profesjonalnych aplikacji dla platformy .NET 2.0 e-mail: helion@helion.pl
  • 2. Spis treści Wstęp .............................................................................................. 5 Co zawiera ta książka? ......................................................................................................6 Dla kogo jest ta książka? ...................................................................................................7 Konwencje i oznaczenia ...................................................................................................7 Rozdział 1. Środowisko Visual C++ 2005 Express Edition — rozpoznanie ............. 9 Platforma .NET ...............................................................................................................10 Tworzenie i konfiguracja projektu ..................................................................................10 Kompilowanie i uruchamianie projektu ..........................................................................17 Rozdział 2. Aplikacja z graficznym interfejsem użytkownika (Windows Forms Application) — zaczynamy .................................... 23 Projekt i okno główne .....................................................................................................24 Elementy kontrolne .........................................................................................................25 Zdarzenia ........................................................................................................................30 Rozdział 3. Wprowadzenie do programowania obiektowego ............................... 33 Język C++/CLI ...............................................................................................................34 Podstawowe pojęcia związane z programowaniem obiektowym ....................................35 Definicja klasy ................................................................................................................36 Właściwości ....................................................................................................................46 Dziedziczenie ..................................................................................................................49 Podsumowanie ................................................................................................................54 Rozdział 4. Dostęp do danych ........................................................................... 55 Tworzenie bazy danych ..................................................................................................56 Integracja aplikacji z bazą danych ..................................................................................58 Nie tylko Microsoft SQL Server 2005 ............................................................................66 Rozdział 5. Integracja z siecią Internet ............................................................. 71 Własna przeglądarka WWW ...........................................................................................72 Korzystanie z usług sieciowych XML ............................................................................81 Rozdział 6. Obsługa wyjątków .......................................................................... 87 Przechwytywanie wyjątków ...........................................................................................87 Zgłaszanie wyjątków ......................................................................................................89 Obsługa wyjątków na poziomie graficznego interfejsu użytkownika .............................91 Rozdział 7. Wątki ............................................................................................. 93 Wykonywanie operacji w tle ..........................................................................................94 Synchronizacja wątków — semafory Dijkstry ................................................................98
  • 3. 4 Visual C++ 2005 Express Edition. Tworzenie aplikacji dla Windows Rozdział 8. Multimedia ................................................................................... 105 Grafika ..........................................................................................................................105 Dźwięk ..........................................................................................................................112 Multimedialne all-in-one, czyli Windows Media Player ...............................................114 Rozdział 9. Drukowanie .................................................................................. 119 Komponent PrintDocument, czyli kwintesencja drukowania .......................................119 Drukowanie tekstu ........................................................................................................120 Drukowanie grafiki .......................................................................................................122 Program demonstracyjny ..............................................................................................122 Podsumowanie ............................................................................. 131 Dodatek A Przystosowanie Visual C++ 2005 Express Edition do tworzenia natywnych aplikacji Windows .................................... 133 Pobieranie i instalacja Windows Server 2003 SP1 Platform SDK ................................133 Wprowadzanie zmian do konfiguracji Visual C++ 2005 Express Edition ....................134 Aplikacja testowa ..........................................................................................................135 Dodatek B Dokumentacja kodu programu ....................................................... 137 Przygotowanie pliku dokumentującego przez środowisko ...........................................137 Komentarze dokumentujące ..........................................................................................138 Konfiguracja i dostosowanie programu NDoc ..............................................................142 Generowanie i przeglądanie dokumentacji ...................................................................143 Dodatek C Podstawy C++ .............................................................................. 145 Pierwszy program .........................................................................................................145 Zmienne ........................................................................................................................146 Operatory ......................................................................................................................148 Instrukcja warunkowa i instrukcja wyboru ...................................................................150 Pętle ..............................................................................................................................154 Funkcje .........................................................................................................................158 Podsumowanie ..............................................................................................................159 Skorowidz...................................................................................... 161
  • 4. Rozdział 2. Aplikacja z graficznym interfejsem użytkownika (Windows Forms Application) — zaczynamy W rozdziale 1. zapoznałeś się ze środowiskiem Visual C++ 2005 Express Edition — utworzyliśmy projekt aplikacji okienkowej (Windows Forms Application), ale go nie rozwijaliśmy. W tym rozdziale zajmiemy się podstawami tworzenia graficznego interfejsu użytkownika z wykorzystaniem komponentów dostarczanych przez platformę .NET w przestrzeni nazw Windows.Forms. Komponenty te pozwalają na utworzenie apli- kacji o dowolnym zastosowaniu, w pełni funkcjonalnej i — co ważniejsze — o przyja- znym i znajomym dla współczesnego użytkownika komputerów wyglądzie. Wbrew temu, co by się mogło wydawać, tworzenie graficznego interfejsu użyt- kownika jest sztuką i rządzi się ściśle określonymi zasadami. Istnieje wiele opra- cowań prezentujących teoretyczne i praktyczne aspekty tworzenia interfejsów użyt- kownika, poparte badaniami psychologów i socjologów, analizujących zachowania, reakcje i przyzwyczajenia użytkowników. Właśnie przyzwyczajenia użytkowni- ków mają spore znaczenie podczas projektowania wyglądu aplikacji — nieraz spotkaliśmy się z pozytywną reakcją (naszą lub naszych znajomych) na wygląd i obsługę programu, kiedy użytkownik odkrył, że dany program obsługuje się po- dobnie jak inny, np. popularny edytor tekstów. Istotą współczesnych programów jest łatwość i intuicyjność obsługi. Tworząc program, nie chcemy, aby użytkow- nik musiał uczyć się jego obsługi od zera. Bardzo dobrym i pożądanym nawykiem jest podpatrywanie rozwiązań stosowanych przez „wielkich” — chodzi przede wszystkim o układ menu i pasków narzędziowych, stosowanie odpowiednich ele- mentów do informowania użytkownika o stanie aplikacji itp.
  • 5. 24 Visual C++ 2005 Express Edition. Tworzenie aplikacji dla Windows W tym rozdziale nie będziemy zajmować się teorią tworzenia programów z graficz- nym interfejsem użytkownika, natomiast spróbujemy napisać program, za pomocą którego nauczysz się stosować podstawowe elementy kontrolne (przyciski, pola tek- stowe, etykiety itp.) i programować zdarzenia generowane przez elementy kontrolne. Projekt i okno główne Zaczniemy od otwarcia projektu, który wykorzystaliśmy w rozdziale 1. Najpierw zajmiemy się oknem głównym. Kod okna głównego został wygenerowany przez kreatora aplikacji jako klasa o niefortunnej nazwie Form1 i umieszczony w pliku Form1.h. My zwykle chcemy, żeby nazwy wszelkich klas, zmiennych, stałych i me- tod były znaczące, dlatego też przemianujemy nazwę klasy naszego okna na Okno- Glowne. W tym celu: przejdź do widoku kodu okna głównego i odszukaj w nim nagłówek deklaracji klasy Form1 (public ref class Form1 : public System::Windows::Forms::Form); kliknij w ten nagłówek (umieścisz w nim kursor); w oknie Properties, służącym do zmiany właściwości poszczególnych elementów projektu (po pierwszym użyciu będzie już zawsze widoczne i jego zawartość będzie się zmieniała w zależności od tego, który w danym momencie element czy plik będzie wskazany), znajdź właściwość o nazwie Name umieszczoną w nawiasach (właściwości domyślnie podzielone są na kategorie tematyczne, więc czasem łatwiej daną właściwość znaleźć, domyślając się, do jakiej kategorii należy) i zmień jej wartość na OknoGlowne — po zatwierdzeniu zmiany (np. przez naciśnięcie klawisza Enter) nazwa klasy zostanie zmieniona; w następnym kroku musisz zmienić nazwę pliku — przejdź zatem do okienka Solution Explorer i kliknij prawym przyciskiem myszy nazwę pliku Form1.h; z menu kontekstowego wybierz opcję Rename i wprowadź nowa nazwę pliku, w naszym przypadku OknoGlowne.h; W języku C++/CLI nazwa pliku nie musi odpowiadać nazwie klasy publicznej umieszczonej w tym pliku (pojęcie klasy wyjaśniamy w rozdziale 3.), ale trzymanie się tej zasady może znacznie poprawić przejrzystość projektu. pozostaje wskazać plikowi zawierającemu punkt startowy programu (w naszym przypadku jest to plik o nazwie Projekt.cpp znajdujący się w folderze Source Files), w którym pliku znajduje się definicja okna głównego programu i jaka jest nazwa klasy okna głównego; w tym celu otwórz plik Projekt.cpp, klikając na niego dwukrotnie, i zamień wystąpienie napisu Form1 na OknoGlowne — można to zrobić automatycznie, używając mechanizmu „znajdź i zamień” dostępnego poprzez menu Edit (rysunek 2.1).
  • 6. Rozdział 2. ♦ Aplikacja z graficznym interfejsem użytkownika — zaczynamy 25 Rysunek 2.1. Zmiana nazwy pliku nagłówkowego i klasy w pliku źródłowym projektu Po dokonaniu tych zmian warto projekt przebudować — nie powinno być żadnych problemów. Wprowadziliśmy porządek do naszego projektu, możemy zatem zająć się właściwo- ściami okna głównego. Jeżeli kiedykolwiek odwoływaliśmy się do okna Properties, to jest ono widoczne po prawej stronie w oknie środowiska. Kliknijmy w projekt okna głównego naszej aplikacji — w oknie Properties wyświetlone zostaną właściwości okna głównego. Właściwości te służą przede wszystkim do konfiguracji wyglądu i zachowania naszego okna. Ustalmy, że nasze okno będzie miało rozmiar początko- wy 400 na 300 pikseli i będzie umieszczane każdorazowo po uruchomieniu w cen- trum ekranu. W tym celu musimy w oknie Properties zmienić wartości właściwości Size oraz StartPosition. We właściwości Size zmieniamy domyślne rozmiary okna na założone przez nas, natomiast w przypadku właściwości StartPosition wybieramy z listy rozwijalnej wartość CenterScreen. Teraz, po przebudowaniu i uruchomieniu, okno naszego programu zawsze będzie się pojawiało na środku ekranu. Na pewno zauważyłeś, że na belce programu nadal znajduje się napis Form1. Za napis, który jest wyświetlany na belce okna, odpowiada właściwość Text — zmieńmy jej wartość (poprzez okno Properties), np. na Mój pierwszy program. Warto dokładniej przyjrzeć się właściwościom dostępnym poprzez okno Properties i poeksperymentować z różnymi ustawieniami — efekty mogą być zadziwiające (o czym można się przekonać, czytając dalej tę książkę). Elementy kontrolne Elementy kontrolne to wszystkie składniki interfejsu użytkownika, które mogą mieć za pośrednictwem użytkownika wpływ na działanie programu. Podstawowe elementy kontrolne, z których będziemy korzystać podczas tworzenia interfejsu użytkownika w przykładowym programie, to: przyciski (Button); pola tekstowe (TextBox); pola wyboru (CheckBox); listy rozwijane (ComboBox);
  • 7. 26 Visual C++ 2005 Express Edition. Tworzenie aplikacji dla Windows etykiety (Label); menu główne programu (MenuStrip); pasek narzędziowy (ToolStrip); pasek stanu (StatusStrip). Platforma .NET poprzez przestrzeń nazw Windows.Forms udostępnia oczywiście o wiele więcej elementów kontrolnych — będziemy je wprowadzać w miarę potrzeby w ko- lejnych rozdziałach. W tym rozdziale będziemy po kolei tłumaczyć, co trzeba zrobić, aby umieścić dany element kontrolny w obszarze okna, i jak zmienić jego właściwo- ści. W następnych rozdziałach wprowadzimy dla ułatwienia tabelkę, która będzie za- wierała typ elementu kontrolnego, jego nazwę oraz zmienione właściwości — wpły- nie to niewątpliwie na przejrzystość rozdziałów. Zacznijmy więc od wyposażenia naszego programu w menu główne. Po prawej stro- nie okna głównego środowiska schowane jest okienko Toolbox (rysunek 2.2) zawie- rające elementy kontrolne, za pomocą których będziemy budować naszą aplikację. Dla ułatwienia pracy można to okienko „przypiąć” — po prawej stronie pojawi się dwuczęściowe okienko składające się z okna Toolbox u góry i okna Properties u dołu. Rysunek 2.2. Okno Toolbox Elementy kontrolne w oknie Toolbox podzielone zostały na kategorie, aby ułatwić wyszukiwanie konkretnego elementu. Znajdźmy element o nazwie MenuStrip, wskażmy go lewym przyciskiem myszy, a następnie przeciągnijmy na projekt okna głównego naszej aplikacji — okno to zostanie wyposażone w menu główne, którego pozycję musimy teraz wprowadzić, wykorzystując bardzo prosty edytor. Najpierw jednak po-
  • 8. Rozdział 2. ♦ Aplikacja z graficznym interfejsem użytkownika — zaczynamy 27 winniśmy zmienić nazwę obiektu naszego menu — w tym celu klikamy w menu i udajemy się do okna Properties, gdzie zmieniamy właściwość Name na menuGlowne. Rysunek 2.3 przedstawia sposób edycji pozycji menu głównego. Rysunek 2.3. Edycja menu głównego Warto pamiętać, że wpisanie symbolu & przed literą w nazwie pozycji menu (oraz w przypadku innych elementów kontrolnych) spowoduje podkreślenie tej litery i wprowadzenie klawisza skrótu dla danej opcji (na przykład, aby rozwinąć menu Plik, wystarczy nacisnąć kombinację klawiszy Alt+P). Nasze menu będzie się składać z pozycji Plik i Pomoc. Menu Plik będzie zawierało pozycje Otwórz, Zapisz i Zakończ, natomiast menu Pomoc będzie zawierało pozycję O programie... Oprócz nazw poszczególnych pozycji, na etapie edycji menu można zadecydować (przez wybranie opcji z listy rozwijalnej), jakiego typu będzie dana po- zycja menu (np. separator, lista rozwijalna itp.) lub czy dana pozycja będzie podmenu. Teraz wyposażymy nasz program w pasek narzędziowy, który będzie zawierał dwa przyciski dublujące działanie pierwszych dwóch pozycji menu. Odnajdźmy w oknie Toolbox komponent o nazwie ToolStrip i umieśćmy go w oknie głównym programu. Następnie, w podobny sposób jak podczas dodawania nowych pozycji menu, dodaj- my do paska narzędziowego dwa podstawowe elementy (klikając ikonkę dodawania elementu). Podstawowym elementem paska narzędziowego jest przycisk, ale można dodać też inne elementy, np. etykietę, listę rozwijalną, pasek postępu itp. Musimy również pamiętać o zmianie nazwy obiektu paska narzędziowego (właściwości Name przypisać wartość, np. pasekNarzedziowy). Warto przygotować sobie kilka ikonek, które będzie można umieścić na przyciskach paska narzędziowego — ikonki te wprowadzamy za pomocą właściwości Image w oknie Properties dla danego przyci- sku (wybieramy plik graficzny, najlepiej z obrazkiem o rozmiarach 16 na 16 pikseli). Dodatkowo właściwość ToolTipText przycisku zawiera tekst wyświetlany w „dymku” po umieszczeniu kursora myszy nad elementem kontrolnym — warto zmienić ten tekst na rzeczywistą podpowiedź. Rysunek 2.4 przedstawia projekt okna głównego z paskiem narzędziowym i dwoma dodanymi przyciskami. Bardzo przydatnym elementem każdego programu z graficznym interfejsem użytkow- nika jest pasek stanu, umieszczany u dołu okna. Zawiera on najczęściej informacje, którymi użytkownik niekoniecznie chciałby być bombardowany (pod postacią różnych okien dialogowych) — chodzi tu głównie o postęp pobierania pliku, wyświetlanie pod- powiedzi lub statusu operacji itp.
  • 9. 28 Visual C++ 2005 Express Edition. Tworzenie aplikacji dla Windows Rysunek 2.4. Okno główne z paskiem narzędziowym Pasek stanu dodajemy do okna w podobny sposób jak w przypadku poprzednich komponentów — przez przeciągnięcie i upuszczenie na projekcie okna komponentu StatusStrip. Po umieszczeniu paska stanu w oknie aplikacji powinniśmy zmienić je- go nazwę (właściwość Name — np. pasekStanu). Podstawowym elementem, który może być umieszczony na pasku stanu, jest etykieta — dodaje się ją w analogiczny sposób jak przyciski w pasku narzędziowym, przez kliknięcie ikony dodawania etykiety. Dodajmy zatem jedną etykietę i przypiszmy jej właściwości Text napis Gotowy!. Twoją uwagę na pewno przykuł wygląd paska stanu, znacznie różniący się od wyglą- du pozostałych elementów (paska narzędziowego i menu). Aby dostosować wygląd paska stanu do pozostałych komponentów, kliknijmy piktogram przedstawiający strzałkę, umieszczony w prawym górnym narożniku paska stanu, i w okienku zadań ustawmy RenderMode na Professional (rysunek 2.5). Rysunek 2.5. Zmiana wyglądu paska stanu Pasek stanu mamy przygotowany. Możemy zatem wyposażyć okno naszego progra- mu w pozostałe elementy kontrolne. Dodajmy do naszego okna trzy etykiety (Label) i ustawmy ich właściwości Text jako Imię:, Nazwisko: i Język programowania:. Na- stępnie dodajmy do okna głównego dwa pola tekstowe (TextBox) i nazwijmy je (Name) txtImie i txtNazwisko. Teraz dodajmy jedno pole wyboru (CheckBox) i nazwijmy je cbPoczatkujacy (właściwości Text przypiszmy początkujący programista). Na ko- niec dodajmy jedną listę rozwijalną (ComboBox) i nazwijmy ją cmbJezyk oraz jeden przy- cisk (Button) — nazwiemy go btnOK i właściwość Text ustalimy na OK. Jak te wszystkie operacje wykonać — już wiemy. Rysunek 2.6 przedstawia poprawne rozmieszczenie elementów kontrolnych w oknie programu. Lista rozwijalna zawierać będzie klika nazw języków programowania. Ponadto bę- dziemy chcieli, żeby użytkownik mógł wpisać inny język programowania, niewymie- niony na liście. Najpierw wprowadzimy języki programowania do wyboru. Kliknijmy w widoku projektu naszą listę rozwijalną prawym przyciskiem myszy i wybierzmy pozycję Edit Items. Zostaniemy przeniesieni do okna dialogowego umożliwiającego wprowadzenie elementów listy rozwijalnej, tak jak pokazano na rysunku 2.7.
  • 10. Rozdział 2. ♦ Aplikacja z graficznym interfejsem użytkownika — zaczynamy 29 Rysunek 2.6. Rozmieszczenie elementów kontrolnych w oknie programu Rysunek 2.7. Wprowadzanie elementów listy rozwijalnej Jak pewnie zauważyłeś, wykorzystując klawisz Tab, możemy się przemieszczać w pew- nej logicznej kolejności po elementach kontrolnych okna. Spróbujmy w takim razie ustalić kolejność przechodzenia klawiszem Tab przez elementy kontrolne w naszym programie. W tym celu w widoku projektu okna z menu View wybierzmy pozycję Tab Order. Nasze okno zmieni wygląd tak jak na rysunku 2.8 — obok każdego ele- mentu kontrolnego pojawi się numerek, oznaczający kolejność przechodzenia za po- mocą klawisza Tab. Rysunek 2.8. Ustalanie kolejności przechodzenia między elementami kontrolnymi z wykorzystaniem klawisza Tab Kolejność przejść ustalamy, klikając numerki od pierwszego elementu do ostatniego zgodnie z przyjętym założeniem. Edycję przejść wyłączamy, wybierając ponownie View/Tab Order.
  • 11. 30 Visual C++ 2005 Express Edition. Tworzenie aplikacji dla Windows Przykładowy program jest już gotowy. Możemy go przebudować i uruchomić; po- winniśmy otrzymać efekt jak na rysunku 2.9. Rysunek 2.9. Działający program Brakuje tylko jednej rzeczy: obsługi zdarzeń generowanych przez elementy kontrolne. Zdarzenia Elementy kontrolne generują zdarzenia — obsługa tych zdarzeń to podstawa działania programów z graficznym interfejsem użytkownika. Zacznijmy od oprogramowania zdarzenia kliknięcia przycisku OK naszego okna głównego. Możemy to zrobić na dwa sposoby. Można kliknąć przycisk, przenieść się do okna Properties, przełączyć się na widok zdarzeń (ang. Events) za pomocą przycisku z błyskawicą, odnaleźć zda- rzenie Click i kliknąć dwukrotnie puste pole po prawej stronie tego zdarzenia. Można też po prostu kliknąć dwukrotnie przycisk. Obie te akcje spowodują przeniesienie nas do okna edycji kodu, gdzie będziemy mogli oprogramować to zdarzenie. Wygene- rujmy więc w jeden z tych sposobów funkcję obsługi zdarzenia Click przycisku OK i wprowadźmy do niej kod z listingu 2.1. Listing 2.1. Funkcja obsługi zdarzenia kliknięcia w przycisk OK private: System::Void btnPokaz_Click(System::Object^ sender, System::EventArgs^ e) { String^ komunikat = txtImie->Text + " " + txtNazwisko->Text + "n"; if (cbPoczatkujacy->Checked) { komunikat += "Początkujący programistan"; } else { komunikat += "Zaawansowany programistan"; } if (cmbJezyk->Text->Length != 0) { komunikat += "Język programowania: " + cmbJezyk->Text; } MessageBox::Show(komunikat, "Dane programisty", MessageBoxButtons::OK, MessageBoxIcon::Information); }
  • 12. Rozdział 2. ♦ Aplikacja z graficznym interfejsem użytkownika — zaczynamy 31 W pierwszym wierszu funkcji zmiennej komunikat przypisujemy wartości właściwo- ści pól tekstowych połączone spacją i zakończone znakiem nowego wiersza. Środowiska programistyczne Microsoft wyposażone są w technologię IntelliSense, dzięki której w sposób szybki i efektywny możemy uzyskać podpowiedź dotyczącą wyboru metody czy właściwości dla danego obiektu w oknie edycji kodu. Podpo- wiedź można tez uruchomić ręcznie, za pomocą kombinacji klawiszy Ctrl+Spacja. Dalej za pomocą instrukcji warunkowej if sprawdzamy, czy użytkownik zaznaczył pole wyboru cbPoczatkujacy (właściwość Checked przyjmuje wartości True lub False w zależności od tego, czy pole zostało zaznaczone, czy nie). Jeśli tak, do zmiennej komunikat dołączamy informację Początkujący programista, w przeciwnym razie do zmiennej komunikat dołączamy informację Zaawansowany programista. Następnie sprawdzamy, czy z listy rozwijalnej wybrany został język programowania (lub też użytkownik wpisał nazwę języka). Jeśli tak (długość ciągu znaków we właściwości Text jest większa od zera), do zmiennej komunikat dołączamy zawartość pola edycyj- nego listy rozwijalnej. Na koniec wyświetlamy komunikat, używając wygodnego i łatwego w zastosowaniu predefiniowanego okna informacyjnego MessageBox. Efekt działania programu widoczny jest na rysunku 2.10. Rysunek 2.10. Efekt obsługi zdarzenia Click przycisku OK. Obsługę zdarzeń pozostałych przycisków i pozycji menu pozostawiamy Czytelnikowi jako ćwiczenie własne. Podsumujmy: w rozdziale tym nauczyliśmy się tworzyć aplikacje z graficznym inter- fejsem użytkownika i pisać funkcje obsługi zdarzeń. Będziemy teraz mogli — ekspe- rymentując z oknem Properties — tworzyć różne aplikacje oraz rozwijać przykłado- we programy przedstawione w następnych rozdziałach. Ponieważ pewne umiejętności już mamy, począwszy od rozdziału 5., lista komponentów użytych do utworzenia in- terfejsu użytkownika umieszczana będzie we wspomnianej już tabeli.