|
Wskaźnik this...
Pomodliłem się do każdego boga jaki istniał bym był w wstanie wkurzyć tę kobietę do granic możliwości. |
................................................................................................. 109 Rozdział 8. Grafika tekstowa .........................................................................113 Wskazanie pola wyboru kursorem.................................................................. 113 Wskazanie pola wyboru tabulatorem.............................................................. 116 Wskazanie pola wyboru myszą....................................................................... 121 Pozycjonowanie pola prostokątnego za pomocą myszy................................. 125 Rozdział 9. Grafika punktowa .........................................................................131 Okno lokalne................................................................................................... 131 Pozycjonowanie obiektu za pomocą myszy ................................................... 137 Kopiowanie wycinków obrazu do pamięci..................................................... 143 Rozdział 10. Argumenty wywołania programu i zmienne środowiskowe ..............151 Rozdział 11. Kompilacja programu złożonego z kilku plików ..............................155 Część II Przykłady ...................................................................159 Rozdział 12. Program FACT.cpp obliczający silnię N = n!...................................161 Rozdział 13. Program COSI.cpp obliczający wartość cos(x)...............................165 Rozdział 14. Program CITY.cpp do wpisu par miast i ich odległości ...................173 Rozdział 15. Program PIANO.cpp do symulacji organów ....................................187 Rozdział 16. Program ZEGAR.cpp do symulacji 2 zegarów ................................195 Rozdział 17. Program DYNATREE.cpp do tworzenia binarnego drzewa dynamicznego ...................................................209 Rozdział 18. Program REGRE.cpp kreślący prostą regresji dla punktów odczytanych z pliku zewnętrznego .............................217 Rozdział 19. Program MOUSEBOX.cpp do przesuwania myszą okien wyboru ......229 Rozdział 20. Program DRAWTHRU.cpp do rysowania myszą kilku linii oraz do wybrania i podświetlenia jednej z nich...............................243 4 C:\Andrzej\PDF\ABC programowania w C++\!spis tresci.doc Spis treści 5 Dodatki .......................................................................................257 Dodatek A Kody ASCII ..................................................................................259 Dodatek B Kody klawiatury rozszerzonej ........................................................263 C:\Andrzej\PDF\ABC programowania w C++\!spis tresci.doc 5 Rozdział 9. Okno lokalne Współrzędne punktu na ekranie można opisywać w układzie bezwzględnym dotyczącym całego ekranu lub w podoknie (viewport) posiadającym lokalny układ współrzędnych, tak jak ma to miejsce w programie p9_1.cpp. W programie tym na początku funkcji uruchamiamy tryb graficzny pracy monitora. Można to uczynić na dwa sposoby: przez dołączenie (wlinkowanie) sterowników grafiki, tak aby sterowniki te stanowiły integralną część naszego programu, lub przez pozostawienie tych sterowników poza naszym programem i korzystanie z nich, w sposób automatyczny, w czasie wykonywa-nia programu. W tym drugim przypadku, używane w programie sterowniki grafiki muszą być obecne na platformie, na której wykonujemy nasz program. Sterowników tych do- starcza środowisko Borland w pliku Bgi. Uruchomienie trybu graficznego dla tego przypadku realizuje (w naszym programie) funkcja . Druga możliwość (z „wlinkowaniem”, czyli trwałym dołączeniem sterowników grafiki) realizowana jest (w naszym programie) przez funkcję , którą obecnie unieruchamiamy poprzez objęcie jej symbolami . Ten sposób odwoływania się do sterowników grafiki pokazany zostanie w drugiej części tego podrozdziału. W funkcji utworzymy dwa prostokątne podokna poprzez dwukrotne wywołanie konstruktora klasy . Na liście argumentów tego konstruktora przekazujemy mu parametry , , , , czyli współrzędne wierzchołków: lewego górnego i prawego dolne- go kreowanego okna. W obu wywołaniach współrzędne te są różne, tak aby uzyskać wzajemne przesunięcie podokien, jak jest to pokazane na rysunku 9.1. Współrzędne wierzchołków podajemy jako liczby względne odniesione do maksymalnych wymiarów, odpowiednio — w kierunku poziomym i pionowym. Te maksymalne wymiary uzyskujemy z funkcji oraz . Klasa posiada funkcję własną , w której za pomocą funkcji bibliotecznej , ustalamy lokalne układy odnie- sienia dla obiektów klasy : pierwszego, noszącego nazwę i drugiego, wskazy- wanego przez wskaźnik . Klasa posiada dwie dalsze funkcje własne: (do kreślenia elipsy) oraz (do wykreślenia prostej). Na rzecz obiektu wywołamy funkcję , co spowoduje wykreślenie w pierwszym podoknie (viewport) elipsy C:\Andrzej\PDF\ABC programowania w C++\r09.doc 131 132 Czć I ¨ Wprowadzenie do jzyka C++ usytuowanej centralnie względem tego podokna. Ponieważ jednak przy kreacji tego podokna ostatnim parametrem przekazanym do funkcji była jedynka (z wier- sza 36.), to części figur geometrycznych (w tym przypadku elipsy) wychodzące poza obszar podokna zostaną obcięte. Stąd przycięcie elipsy widoczne na rysunku 9.1. Natomiast na rzecz drugiego okna, wskazywanego przez wskaźnik , zastosujemy funkcję . Ponieważ przy kreacji okna wskazywanego przez wskaźnik ostatnim parametrem przekazanym funkcji było zero (z wiersza 37.), więc linia pro- sta zostanie narysowana w całości (bez ograniczenia jej tylko do obszaru podokna). Oto program p9_1.cpp: ! "#$%$&%'() * ++, ',('-&.//012345#&//06-) 7 , ',('-&.//0//0- 8 9 :"1; !9-9;<-) ) =)> >++??? +@ A;B !9 $4C4? 8 !9-9;.DE <-) ) =)> * "#$%$&%'() 7 , ',('--) 8 9 :"1; !9-9;B;B<-) ) =)> >++??? @+ 1; !.3'%'2'0'23'23'0%'0%''0;'D) @1' F8G) CD) * $ 9='9() 7 39='9('9='9() 8 1;9'9'9'9'@1' '0;'D) >)++?????????? H ! ) ++A;B) 1;48''''-4"-'36I%24J'AI6%$') 1;@0",1;'' ''-0"-'J$331A'36I%24J'8) * 4CD) 7 4$ ') 8 0KCD) 0K3'7'7'K) ) ) >++????????????????????????????????????????????????? 1;..1;9'9'9'9'@1' '0;'D. 132 C:\Andrzej\PDF\ABC programowania w C++\r09.doc Rozdział 9. ¨ Grafika punktowa 133 '0;0;'DD'11 !=" H==) * (" H=() 7 3"@=)%"@() 8 2"@=)0"@() 23"2K3)0%"0K%) 23"23+)0%"0%+) >++??? 1;..CD ! B3'%'2'0'D) 9 ( L136#?M633'0;) 8'8'23'0%) * 9 '-N N 'N -'1'3'%) 7 =E 9(3$M%?%$O%'&$5%$2?%$O%) 8 034&P) ==('7' ) >++??? 1;..$ 9='9( ! 9 ( L136#?M633') 9 23'0%'=@23'(@0%) >++??? 1;..39='9('9='9( * ! ( L136#?365$'8') 7 ) 8 =@23'(@0%'=@23'(@0%) >
- Pomodliłem się do każdego boga jaki istniał bym był w wstanie wkurzyć tę kobietę do granic możliwości.
- I7X3S1 Wrzosek Pawel
𝑆𝑃𝑗
Podział zmiennych na dane, zmienne decyzyjne oraz wskaźniki
𝑎 =...
- Kolorowi: 50,8 - 15,3
Japończycy: 118,8 - 86,9
Do wysokiego wskaźnika samobójstw, jaki występuje u Japończyków, i to...
- zostawiło ślad pamięciowy, który musiałodmiennych wskaźników czy kryteriów...
- wskaźników ekonomicznych...
- Warszawierozruchy głodowe, połączone z demolowaniem sklepów...
- poznać miejsce, w którym go umieszczono...
- W pierwszej izbie panowała wzorowa cisza...
- który ty mówisz; to o tych opiniach; czy się dobrze mówiło za każdym razem, czy nie, że na
jedne opinie należy zważać, a na drugie nie...
- W omawianej przez nas kwestii smaku tkwi pewne nieporozumienie, które wymaga wyjaśnienia, a dotyczy ono sposobu odbierania bodźców smakowych...
- — Nie...
|
|