aplikacje w visual c++ 2005. przykłady cała książka.pdf

(6428 KB) Pobierz
896255052.014.png
4
Aplikacje w Visual C++ 2005. Przykłady
Rozdział 6. Komunikacja aplikacji z plikami ...................................................... 65
Pliki jako źródło danych .................................................................................................. 65
Wyszukiwanie plików ..................................................................................................... 66
Odczyt własności plików i folderów ............................................................................... 67
Odczyt danych z plików tekstowych ............................................................................... 68
Zapisywanie tekstu do pliku ............................................................................................ 71
Zapis danych do plików binarnych .................................................................................. 72
Odczyt z plików binarnych .............................................................................................. 73
Rozdział 7. Okna dialogowe ............................................................................. 75
Okno typu MessageBox ................................................................................................... 75
Okno dialogowe otwarcia pliku ....................................................................................... 77
Okno zapisu pliku ............................................................................................................ 79
Okno wyboru koloru ........................................................................................................ 80
Wybór czcionki ................................................................................................................ 81
Rozdział 8. Możliwości edycji tekstu w komponencie TextBox .......................... 83
Właściwości pola TextBox .............................................................................................. 83
Kopiowanie i wklejanie tekstu ze schowka ..................................................................... 85
Wyszukiwanie znaków w tekście .................................................................................... 85
Wstawianie tekstu między istniejące linie ....................................................................... 86
Elementy grafiki w polu tekstowym ................................................................................ 87
Rozdział 9. Komponent tabeli DataGridView ...................................................... 89
Podstawowe właściwości komponentu DataGridView ................................................... 89
Zmiana wyglądu tabeli .................................................................................................... 92
Dopasowanie wymiarów komórek tabeli do wyświetlanego tekstu ................................ 94
Odczytywanie danych z komórek tabeli .......................................................................... 96
Zmiana liczby komórek podczas działania aplikacji ..................................................... 100
Tabela DataGridView z komórkami różnych typów ..................................................... 103
Przyciski w komórkach — DataGridViewButtonCell .................................................. 106
Komórki z polami wyboru — DataGridViewCheckBoxCell ........................................ 108
Grafika w tabeli — komórka DataGridViewImageCell ................................................ 109
Komórka z listą rozwijaną — DataGridViewComboBoxCell ...................................... 110
Odnośniki internetowe w komórkach — DataGridViewLinkCell ................................ 112
Rozdział 10. Metody związane z czasem — komponent Timer ........................... 115
Czas systemowy ............................................................................................................ 115
Komponent Timer .......................................................................................................... 117
Rozdział 11. Grafika w aplikacjach Visual C++ .................................................. 119
Obiekt Graphics — kartka do rysowania ...................................................................... 119
Pióro Pen ........................................................................................................................ 124
Pędzle zwykłe i teksturowane ........................................................................................ 126
Rysowanie pojedynczych punktów — obiekt Bitmap .................................................. 129
Rysowanie trwałe — odświeżanie rysunku ................................................................... 129
Animacje ........................................................................................................................ 131
Rozdział 12. Podstawy aplikacji wielowątkowych ............................................. 133
Wątki ............................................................................................................................. 133
Komunikacja z komponentami z innych wątków — przekazywanie parametrów ....... 135
Przekazywanie parametrów do metody wątku .............................................................. 137
Klasa wątku — przekazywanie parametrów z kontrolą typu ........................................ 138
Komponent BackgroundWorker .................................................................................... 140
Spis treści
5
Rozdział 13. Połączenie aplikacji z siecią internet ............................................. 145
Komponent WebBrowser .............................................................................................. 145
Przetwarzanie stron Web — obiekt HtmlDocument ..................................................... 148
Protokół FTP .................................................................................................................. 151
Pobieranie zawartości katalogu z serwera FTP ............................................................. 153
Pobieranie plików przez FTP ........................................................................................ 154
Wysyłanie pliku na serwer FTP ..................................................................................... 155
Klasa do wysyłania i odbierania plików z FTP korzystająca z wątków ........................ 157
Rozdział 14. Dynamiczne tworzenie okien i komponentów ................................. 161
Wyświetlanie okien — klasa Form ............................................................................... 161
Komponenty w oknie tworzonym dynamicznie ............................................................ 162
Przesyłanie danych z okien dialogowych ...................................................................... 163
Okno tytułowe aplikacji ................................................................................................. 164
Obsługa zdarzeń dla komponentów tworzonych dynamicznie ..................................... 165
Aplikacja zabezpieczona hasłem ................................................................................... 167
Dodatek A
Skondensowane C++ .................................................................... 169
Skorowidz .................................................................................... 201
Rozdział 11.
Obiekt Graphics
— kartka do rysowania
Większości komponentów wizualnych VC++ zawiera właściwość Graphics , dzięki której
można rysować, wypisywać teksty i umieszczać na nich grafiki w postaci bitmapy.
Możesz pomyśleć o właściwości Graphics jako o kartce czy płótnie, na którym można
tworzyć grafikę.
Na początku po utworzeniu komponentu jego właściwość
jest „pusta”. Przed
rozpoczęciem rysowania trzeba stworzyć obiekt typu Graphics i „podpiąć” do tej właści-
wości. Dopiero na tym obiekcie można rysować. Do tworzenia obiektu Graphics służy
metoda CreateGraphics() wywoływana na komponencie, na którym chcemy rysować.
Graphics
Oprócz podłoża do rysowania niezbędne są także obiekty klasy
i
, a do wy-
Pen
Brush
świetlania tekstu także obiekt opisujący czcionkę typu Font .
— pióro, jakim rysujemy.
Pen
Brush — (pędzel) rodzaj wypełnienia rysowanych obiektów (kolor, deseń). Mamy dwa
rodzaje pędzli: SolidBrush to pędzel jednokolorowy, TextureBrush zaś wypełnia obiekty
deseniem z podanej bitmapy.
— określa czcionkę do rysowania napisów.
Font
Zasadę rysowania najlepiej wyjaśni prosty przykład.
896255052.015.png
120
Aplikacje w Visual C++ 2005. Przykłady
Przykład 11.1.
Po naciśnięciu przycisku narysuj ukośną niebieską linię na oknie aplikacji.
Rozwiązanie
Do nowego projektu aplikacji wstaw przycisk Button .
Po naciśnięciu przycisku należy utworzyć obiekt typu Graphics dla głównego okna
aplikacji, a następnie obiekt pióra Pen . Ponieważ metoda button1_Click() jest metodą
klasy reprezentującej główne okno, odwołujemy się do tego okna za pomocą wskaźnika
this . Teraz można już rysować po oknie, korzystając z metody obiektu Graphics ry-
sującej linie. Oto kod metody, którą należy przypisać do zdarzenia Click :
private: System::Void button1_Click(System::Object^ sender, System::EventArgs^ e) {
Graphics^ g1=this->CreateGraphics();
Pen^ pioro = gcnew Pen(System::Drawing::Color::Aqua);
g1->DrawLine(pioro,10,10,100,100);
}
Po naciśnięciu przycisku na oknie pojawi się linia jak na rysunku 11.1.
Rysunek 11.1.
Rysowanie
na oknie aplikacji
Zauważ, że pióro Pen i pędzel Brush nie są właściwościami obiektu Graphics , ale od-
dzielnymi obiektami.
Obiekt Graphics posiada wiele metod służących do rysowania punktów, linii, figur,
a nawet wyświetlania całych bitmap z plików. Zestawienie metod klasy Graphics
podaje tabela 11.1.
Tabela 11.1. Wybrane metody rysujące obiektu Graphics
Metoda
Działanie
Rysuje linie o początku w x1 , y1 i końcu w x2 , y2 ,
używając pióra pi .
DrawLine(Pen^ pi,int x1,int y1,int x2,int y2)
Wycinek okręgu lub elipsy rysowany piórem pi ,
środek w ( x , y ), łuk mieści się w prostokącie
o wymiarach szer i wys , zaczyna się od kąta
kąt_start i biegnie przez kąt stopni.
DrawArc(Pen^ pi,float x,float y,float szer,
float wys,float kąt_start,float kąt)
896255052.016.png 896255052.017.png 896255052.001.png 896255052.002.png 896255052.003.png 896255052.004.png 896255052.005.png 896255052.006.png 896255052.007.png 896255052.008.png 896255052.009.png 896255052.010.png 896255052.011.png 896255052.012.png 896255052.013.png
 
Zgłoś jeśli naruszono regulamin