rapi1357 Temat założony przez niniejszego użytkownika |
[WinAPI] Narysowanie domku za pomocą kresek » 2012-10-08 18:56:26 Zakładam nowy temat gdyż admnistrator zamiast pomóc wyłączył temat sprawa jest prosta jak to napisać link do tematu http://cpp0x.pl/forum/temat/?id=8425 - jeśli administrator nie zrozumiał prostego przekazu powtórzę , najpierw prosiłem o wytłumaczenie kodu to ktoś pier..... że to trudne a jak poprosilem o kod to że nie ma gotowca - zdecydujcie się. --Jak narysować 1 kreskę ale cały kod żebym zobaczył po prostu o co chodzi bo te guide-y to już z 10 razu oglądałem i nadal nie wiem jak cały kod w całości wygląda -- 1 kreska . Ale prosiłbym od samego początku do końca . Tylko tym razem prosiłbym o podejście bardziej profesionalne niż "to ciężkie , nie mam czasu , do zamknięcia " a potem ktoś twierdzi że nikt o pomoc nie prosi tylko o gotowca. Jak bym sam to rozumiał to bym tu nie pisał . |
|
xevuel |
» 2012-10-08 19:03:11 Trochę kultury kolego... W linku który dostałeś, masz wszystko idealnie wytłumaczone. I nie gadaj głupot, że nie ma tam wytłumaczone, jak narysować kreskę, bo jest, wystarczy tylko przeczytać, a nie bezmyślnie gapić się w kod. jak poprosilem o kod to że nie ma gotowca |
A czym wg Ciebie jest podanie gotowego kodu na tacy? ktoś pier..... że to trudne |
Nic nie jest trudne, jeśli chcemy to zrozumieć... I dla jasności podam tego linka jeszcze raz. Grafika |
|
DejaVu |
» 2012-10-08 19:04:57 Dlaczego ja mam poświęcać X godzin na czytanie kursu (czy ktokolwiek inny) i zrobienie dla Ciebie zadania, skoro to w Twoim interesie jest jego zrobienie? Zadanie sprowadza się do narysowania 6 kresek, a więc celem tego zadania NIE JEST samo w sobie narysowanie domku tylko poznanie WinAPI i tego jak działa.
PS. Jeżeli uważasz, że wystarczy poprosić i wszyscy rzucą się Ci do pomocy to się mylisz. My pomagamy sobie nawzajem ale również szanujemy swój czas, dlatego dajemy wskazówki/kursy/artykuły, a nie rozwiązania. |
|
rapi1357 Temat założony przez niniejszego użytkownika |
» 2012-10-08 19:10:58 Napisze wam jeszcze raz skoro nie rozumiecie jak inni cytat z kursy - twój link : ( trochę dużo)
Konteksty, zasoby, uchwyty... Co jak co, ale rysowanie w Windows przy pomocy WinAPI jest wyjątkowo przegięte. Porzuć wszelkie nadzieje na to, aby np. linię można było narysować jednym rozkazem, tak jak to jest np. w Visual Basicu, a także w większości bibliotek graficznych pod DOS-a. Takie są jednak wymogi nowoczesnych systemów operacyjnych...
Jednak jest też druga strona medalu. Pod takim DOS-em, żeby cokolwiek narysować, musieliśmy wiedzieć absolutnie wszystko o karcie graficznej, monitorze itp. W Windows nie musimy wiedzieć prawie nic! System robi to wszystko za nas. Nie ma się więc co zniechęcać, jedziemy z tym koksem.
Wszelkie operacje graficzne w Windowsach są związane z tzw. kontekstem urządzenia - po angielsku Device Context, a w skrócie DC. Cokolwiek byśmy chcieli narysować, musimy podać uchwyt do kontekstu urządzenia (Handle to Device Context - HDC). Brzmi to trochę jak bełkot, więc odwołując się do intuicji: kontekst urządzenia to zazwyczaj po prostu okno, w którym rysujemy. Od tej pory będę nazywał kontekst urządzenia w skrócie: HDC.
To była pierwsza ważna sprawa, a druga to tak zwane zasoby systemu - coś takiego pewnie ci się już obiło o uszy, nieprawdaż? Pisząc jakikolwiek program dla Windows korzystamy z tychże zasobów i musimy uważać, aby ich nie wyczerpać, gdyż to prowadzi w linii prostej do zwisów, wysypek, błędów krytycznych i innych wesołych rzeczy. Dlatego też schemat robienia czegokolwiek w WinAPI wygląda tak: pobierz zasoby - zrób coś - oddaj zasoby. Robiliśmy tak już chociażby z naszym głównym okienkiem programu, natomiast przy rysowaniu jest to szczególnie ważne i wyjątkowo często się korzysta z tego schematu. Rysujemy linię Pobieranie i zwalnianie kontekstu urządzenia Nasze pierwsze, wielkie zadanie: narysować linię prostą o danym kolorze. Jak już wspomniałem, będzie nam potrzebny uchwyt do kontekstu urządzenia. Ponieważ naszą uroczą linijkę chcemy narysować w oknie, kontekstem urządzenia będzie właśnie to okienko. Dysponujemy uchwytem do tego okienka, jednak to jeszcze nie jest to - uchwyt do okienka jest typu HWND, natomiast do kontekstu urządzenia - typu HDC. Aby uzyskać HDC naszego okna, musimy skorzystać z funkcji GetDC:
C/C++ HDC hdcOkno; hdcOkno = GetDC( hwnd );
Kiedy już skończymy rysowanie, będzie trzeba zwolnić HDC naszego okna."
a wiec tak gdzie to : " HDC hdcOkno; hdcOkno = GetDC( hwnd ); " ma niby być podałeś link a tam znowu nic nie tłumaczą sam w sobie przecież w kompilatorze nie może być rozumiecie teraz co mi z tego że to przeczytam jak i tak nie wiem co z tym zrobic żeby to zadziałało ? jak napisałem może żle coś uruchamiam.
PS. Chyba rozumiesz że o pomoc chodzi a nie jak cały czas TY gadasz o gotowca troch myślcie :D |
|
DejaVu |
» 2012-10-08 19:13:51 Przed rozdziałem piątym (który cytujesz) znajdują się cztery inne - je również trzeba znać aby tą głupią kreskę narysować. Przed zabraniem się za WinAPI trzeba również poznać podstawy programowania, czyli jakiś kurs C++ bądź książka. Programowanie to nie matematyka, że dwie liczby do siebie sumujesz i sprawa załatwiona.
PS. Brak myślenia można Tobie zarzucić, skoro nie potrafisz złożyć programu w całość. PSS. Jakbyś użył właściwie Googli to byś miał gotowy program do drobnych modyfikacji. PSSS. Jak chcesz kogoś obrażać to nie zakładaj więcej tematów u nas. |
|
rapi1357 Temat założony przez niniejszego użytkownika |
» 2012-10-08 19:16:22 C++ miałem dość sporo w szkole szkoda że dość dawno temu ale i tak nic z tego nie rozumiem jeśli sądzisz że w poprzednich rozdziałach znajdę to czego szukam to ok temat do zamknięcia -- nie można tak było od razu ?? Dzięki za pomoc |
|
DejaVu |
» 2012-10-08 19:19:20 (...) jeśli sądzisz że w poprzednich rozdziałach znajdę to czego szukam (...)
|
No i nie wkładaj komuś w usta słów, których nie ktoś nie wypowiedział. Kontekst mojego zdania jest zupełnie inny niż interpretacja, którą przedstawiłeś. |
|
SeaMonster131 |
» 2012-10-08 19:22:02 Pozwolę sobie jeszcze otworzyć temat, ponieważ... Wiesz ile czasu zajęło mi znalezienie gotowca? Niecałą minutę. Chłopie, na pierwszym miejscu jest google - podstawowa zasada programisty :P Dopiero potem możesz pisać na forum. Wpisałem w google Kliknąłem w drugi link i co mi wyskoczyło? http://www.functionx.com/win32/Lesson11.htmPrzejechałem pare razy kółeczkiem myszy, i moim to oczom ukazał się przykład zastosowania funkcji lineto(). Mniej więcej na środku. Czy to naprawdę takie trudne poświęcić minutę na wpisanie słowa w google, niż czekać i dyskutować tu na forum przez kilka godzin? Bo chyba nie. |
|
« 1 » |