Panel użytkownika
Nazwa użytkownika:
Hasło:
Nie masz jeszcze konta?

[WinAPI] Narysowanie domku za pomocą kresek

Ostatnio zmodyfikowano 2012-10-08 19:22
Autor Wiadomość
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ł .
P-66432
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. » Kurs WinAPI, C++ » PodstawyGrafika lekcja
P-66433
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.
P-66434
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
P-66435
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.
P-66436
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
P-66437
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ś.
P-66438
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
Frazy, które należy wpisać w wyszukiwarkę google:
Kliknąłem w drugi link i co mi wyskoczyło? http://www.functionx.com/win32/Lesson11.htm
Przejechał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.
P-66439
« 1 »
  Strona 1 z 1