<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss' xmlns:gd='http://schemas.google.com/g/2005' xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-6475552452743517525</id><updated>2011-11-24T07:43:34.762-08:00</updated><category term='planowane możliwości'/><category term='WPF 3D'/><category term='mój udział w konkursach'/><category term='Windows Forms'/><category term='DWM'/><category term='moje plany'/><category term='Daj się poznać'/><category term='Poznajemy DWM'/><category term='WPF 3D Tutorial'/><category term='podsumowanie ubiegłego roku'/><category term='budowa programu'/><category term='SymFiz'/><category term='SymFiz 2.0'/><category term='kurs WPF 3D'/><category term='konkursy'/><category term='plany na obecny rok'/><category term='WPF'/><title type='text'>Blog brzegatora27</title><subtitle type='html'>Blog brzegatora27</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://symfiz.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6475552452743517525/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://symfiz.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>brzegator27</name><uri>http://www.blogger.com/profile/03859403815816257680</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/_Bxp37P2giV4/TGjt7YSEz_I/AAAAAAAAAAM/w-59-xisxsw/s1600-R/2b490a90a03b0296dd252be04b9fd0fe.png'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>8</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-6475552452743517525.post-8268790951192986847</id><published>2011-01-14T13:42:00.000-08:00</published><updated>2011-01-14T13:44:11.234-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='mój udział w konkursach'/><category scheme='http://www.blogger.com/atom/ns#' term='konkursy'/><category scheme='http://www.blogger.com/atom/ns#' term='moje plany'/><title type='text'>Mój udział w konkursach i wiążąca się z tym nauka</title><content type='html'>&lt;div class="MsoNormal"&gt;&lt;div style="text-align: justify;"&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;Dzisiaj chciałem się z Wami podzielić moimi wynikami w konkursach. Muszę powiedzieć, że ostatnio odnoszę w nich dosyć dobre wyniki. Jak na razie w tym roku szkolnym startowałem w kuratoryjnym konkursie z matematyki, fizyki i astronomii, i informatyki. Konkursy przedmiotowe organizowane przez kuratorium mają charakter trzy etapowy. Pierwszy etap jest szkolny, drugi etap jest rejonowy, a trzeci wojewódzki(będąc zarazem finałem). W konkursie z informatyki, a także fizyki i astronomii udało mi się dojść do etapu wojewódzkiego. Jest to dla mnie duże osiągnięcie, o ile się nie mylę daje mi to już razem +20p na świadectwo(jednak nie jestem pewien – w najbliższym czasie potwierdzę tą informację ;-)). A gra toczy się o wiele większą stawkę i tu cytuję z regulaminu konkursu:&amp;nbsp;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;div style="text-align: justify;"&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;„Laureaci konkursu przyjmowani będą do wybranej szkoły ponadgimnazjalnej, niezależnie od obowiązujących w niej kryteriów, na mocy § 8 ust.&amp;nbsp; 8&amp;nbsp; rozporządzenia Ministra&amp;nbsp; Edukacji Narodowej&amp;nbsp; i Sportu z dnia 20 lutego 2004 r. w sprawie warunków i trybu przyjmowania uczniów do szkół publicznych oraz przechodzenia z jednych typów szkół do innych (Dz. U. z 2004 r. Nr 26, poz. 232 ze zmianami).”&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;div style="text-align: justify;"&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;Laureatami konkursu zostaje 30 osób, które osiągnęły najlepszy wynik w etapie wojewódzkim, a także osoby, które miały idę tyczną liczbę punktów co trzydziesty finalista. Tak więc jak widać jest o co walczyć. Co do konkursu z matematyki to niestety odpadłem już na etapie szkolnym – brakło mi jednego punkta, aby przejść do etapu rejonowego, no niestety.&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;div style="text-align: justify;"&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;div style="text-align: justify;"&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;Co teraz mnie czeka? Tak jak już wspominałem będę miał kuratoryjny przedmiotowy konkurs z informatyki, a także z fizyki i astronomii na etapie wojewódzkim. Oprócz tego będę startował w konkursie fizycznym Lwiątko, a także prawdopodobnie w konkursie matematycznym Kangur. &lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;div style="text-align: justify;"&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;Do wszystkich konkursów zamierzam się bardzo przyłożyć, w związku z czym praca nad moimi programami zejdzie raczej na boczny plan. Jednak będę się starał mimo wszystko pracować nad nimi intensywnie. ;-)&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;div style="text-align: justify;"&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;div style="text-align: justify;"&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;PS Pochodzę z województwa Małopolskiego, w związku z czym konkursy kuratoryjne organizowanie są Kuratorium Oświaty w Krakowie. ;-)&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6475552452743517525-8268790951192986847?l=symfiz.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://symfiz.blogspot.com/feeds/8268790951192986847/comments/default' title='Komentarze do posta'/><link rel='replies' type='text/html' href='http://symfiz.blogspot.com/2011/01/moj-udzia-w-konkursach-i-wiazaca-sie-z.html#comment-form' title='Komentarze (0)'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6475552452743517525/posts/default/8268790951192986847'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6475552452743517525/posts/default/8268790951192986847'/><link rel='alternate' type='text/html' href='http://symfiz.blogspot.com/2011/01/moj-udzia-w-konkursach-i-wiazaca-sie-z.html' title='Mój udział w konkursach i wiążąca się z tym nauka'/><author><name>brzegator27</name><uri>http://www.blogger.com/profile/03859403815816257680</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/_Bxp37P2giV4/TGjt7YSEz_I/AAAAAAAAAAM/w-59-xisxsw/s1600-R/2b490a90a03b0296dd252be04b9fd0fe.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6475552452743517525.post-1253182641121524886</id><published>2011-01-08T05:16:00.000-08:00</published><updated>2011-01-08T05:16:34.358-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='plany na obecny rok'/><category scheme='http://www.blogger.com/atom/ns#' term='podsumowanie ubiegłego roku'/><category scheme='http://www.blogger.com/atom/ns#' term='moje plany'/><title type='text'>Podsumowanie roku 2010 i przedstawienie planów na rok 2011</title><content type='html'>&lt;div class="MsoNormal" style="text-align: justify;"&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;Witam po bardzo długiej przerwie w blogowaniu. Dzisiaj piszę, aby podsumować rok, który minął 2010 i napisać moje plamy na ten rok, czyli rok 2011. &lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="text-align: justify;"&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="text-align: justify;"&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;Ale na początek czas teraźniejszy. W najbliższym czasie będę prawdopodobnie zajęty nauką na konkursy w związku z czym nie będę miał czasu na rozwijanie programu SymFiz i blogowanie. Jednak postaram się, aby z czasem na moim blogu pojawiało się coraz więcej wpisów i były one coraz bardziej wartościowe. :-)&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="text-align: justify;"&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="text-align: justify;"&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;Dobrze, a teraz podsumowanie ubiegłego roku. Ogólnie nie było moim zdaniem za dobrze, ale z drugiej strony nie było tak znowu źle. Niestety nie udało mi się za bardzo rozwinąć mojego głównego programu SymFiz. Nie osiągnąłem także takich postępów w programowaniu jak na początku planowałem. Co poszło dobrze? Huh. Przyznaję nie było tego znowu tak dużo. Zacząłem uczyć się C# i już trochę go umiem. Rozpocząłem także naukę wzorców projektowych, w których nie zrobiłem może dużego postępu, ale mniej więcej się w nich zorientowałem. Poduczyłem się także algorytmiki i napisałem krótki programik MatrixText Hello World(w C#), który generował animację spadających literek jak w matrixie z których pod koniec wyłaniał się napis. Był to program konsolowy. Muszę powiedzieć, że nawet w miarę mi się udał, jednak nie miałem czasu na jego dopracowanie, przez co w paru miejscach jest „brzydko” napisany. W ubiegłym roku nauczyłem się także trochę Windows API, z którego użyciem napisałem pierwszą wersję programu SymFiz. I tak oto nakreśliłem Wam mniej więcej co dokonałem w tym roku.&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="text-align: justify;"&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="text-align: justify;"&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;Teraz kolej na plany tegoroczne. Przyznaję, że chciałbym w tym roku zrobić dużo rzeczy i na 99% im wszystkim nie podołam. Jeśli tak by się stało to ta część planów, które nie udało mi się zrealizować w tym roku zostaną przełożone na następny rok. No, ale do rzeczy. W tym roku chciałbym jak najbardziej rozwinąć swój program SymFiz. Tak, aby zaimplementować już te najważniejsze części programu. W planach mam także stworzenie nowego portalu, wraz z Aleksandrem Zawalichem, ale o tym więcej napiszę w innym wpisie. ;-) Chciałbym także poznać kilka nowych języków i bibliotek, w stopniu dobrym takich jak: VB.NET, VBA, JavaScript, ASP.NET i „liznąć” takie jak: Java, DirectX, QT, WxWidgets, SDL. Zamierzam także pogłębić swoją wiedze w językach, bibliotekach, technologiach itp., które obecnie już trochę znam, czyli HTML, CSS, PHP, C++, C#, Windows API, &amp;nbsp;a także algorytmika, oraz wzorce projektowe. Pogłębianie mojej wiedzy będzie się zapewne wiązało z rozpoczęciem kilku nowych malutkich projektów. Jeśli takowe powstaną poinformuję o tym na blogu. ;-) &lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="text-align: justify;"&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="text-align: justify;"&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;Zamierzam także bardziej uczyć się matematyki, fizyki, języka angielskiego i niemieckiego. Chciałbym także zrobić postępy w tworzeniu grafiki komputerowej.&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="text-align: justify;"&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="text-align: justify;"&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;Tak więc oto są moje plany na ten rok, myślę że są one duże i nie zdołam ich wszystkim podołać w tym roku. Ale jeśli chociaż w większej części uda mi się je zrealizować to będę bardzo zadowolony. Jestem bardzo zdeterminowany, aby wykonać jak najwięcej z postawionych sobie założeń. ;-)&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="text-align: justify;"&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="text-align: justify;"&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;Dlaczego przedstawiłem Wam moje plany na blogu, jaki miałem w tym cel? Główny cel jest taki, że przedstawienie takich planów opinii publicznej bardziej zmotywuje mnie do ich zrealizowania. Drugim, trochę mniej ważnym celem, było po prostu przedstawienie Wam co zamierzam osiągnąć w tym roku.&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="text-align: justify;"&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;span style="font-size: 11pt; line-height: 115%;"&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;Kolejne podsumowanie za około rok. ;-)&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6475552452743517525-1253182641121524886?l=symfiz.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://symfiz.blogspot.com/feeds/1253182641121524886/comments/default' title='Komentarze do posta'/><link rel='replies' type='text/html' href='http://symfiz.blogspot.com/2011/01/podsumowanie-roku-2010-i-przedstawienie.html#comment-form' title='Komentarze (2)'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6475552452743517525/posts/default/1253182641121524886'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6475552452743517525/posts/default/1253182641121524886'/><link rel='alternate' type='text/html' href='http://symfiz.blogspot.com/2011/01/podsumowanie-roku-2010-i-przedstawienie.html' title='Podsumowanie roku 2010 i przedstawienie planów na rok 2011'/><author><name>brzegator27</name><uri>http://www.blogger.com/profile/03859403815816257680</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/_Bxp37P2giV4/TGjt7YSEz_I/AAAAAAAAAAM/w-59-xisxsw/s1600-R/2b490a90a03b0296dd252be04b9fd0fe.png'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6475552452743517525.post-3648565682107779138</id><published>2010-09-25T11:50:00.000-07:00</published><updated>2010-09-25T11:51:39.868-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='budowa programu'/><category scheme='http://www.blogger.com/atom/ns#' term='Daj się poznać'/><category scheme='http://www.blogger.com/atom/ns#' term='SymFiz'/><category scheme='http://www.blogger.com/atom/ns#' term='SymFiz 2.0'/><title type='text'>SymFiz 2.0 - budowa programu</title><content type='html'>&lt;div style="text-align: justify;"&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;Witam ponownie po przerwie – szkoła się zaczęła w związku z czym mam niestety mniej czasu na rozwój projektu.&amp;nbsp;A dzisiaj krótko o tym z czego będzie się „składał” program. Postanowiłem podzielić go na plik .exe i 11 modułów(będących plikami .dll) – moduł:&lt;/span&gt;&lt;/div&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;- ustawień&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;- zapisu i odczytu&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;- zadań i wiadomości(opis zjawisk, zadania z fizyki związane z danym zjawiskiem itd.)&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;- aktualizacji&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;- pobierania scen, „wzorców” zjawisk fizycznych etc. utworzonych przez innych użytkowników z serwera przez Internet&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;- moduł tworzenia własnych scen, „wzorców” zjawisk fizycznych etc., z możliwością umieszczania ich na serwerze&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;- animacji na żywo&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;- menu&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;- pomocy dla użytkownika&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;- generacji animacji zjawisk do pliku .gif itp.&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;- odczytu plików o rozszerzeniu .gif itp.&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;div style="text-align: justify;"&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;To jest taki wstępny zarys, prawdopodobnie budowa się jeszcze zmieni - jestem otwarty na Wasze propozycje.&amp;nbsp;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;Dlaczego postanowiłem go podzielić na takie moduły? Po to, aby praca nad jego rozwojem była łatwiejsza, a także, aby podczas jego aktualizacji podmieniać np. tylko jeden dany plik dll, a nie np. cały plik exe.&amp;nbsp;Oczywiście rozwój wszystkich modułów zajmie mi sporo czasu, dlatego na razie postaram się rozwinąć te najważniejsze.&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;Dokładniej budowę programu opiszę jeszcze prawdopodobnie w innym wpisie. &amp;nbsp;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6475552452743517525-3648565682107779138?l=symfiz.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://symfiz.blogspot.com/feeds/3648565682107779138/comments/default' title='Komentarze do posta'/><link rel='replies' type='text/html' href='http://symfiz.blogspot.com/2010/09/symfiz-20-budowa-programu.html#comment-form' title='Komentarze (2)'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6475552452743517525/posts/default/3648565682107779138'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6475552452743517525/posts/default/3648565682107779138'/><link rel='alternate' type='text/html' href='http://symfiz.blogspot.com/2010/09/symfiz-20-budowa-programu.html' title='SymFiz 2.0 - budowa programu'/><author><name>brzegator27</name><uri>http://www.blogger.com/profile/03859403815816257680</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/_Bxp37P2giV4/TGjt7YSEz_I/AAAAAAAAAAM/w-59-xisxsw/s1600-R/2b490a90a03b0296dd252be04b9fd0fe.png'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6475552452743517525.post-2482456678733740045</id><published>2010-08-30T12:08:00.000-07:00</published><updated>2010-09-19T08:20:08.044-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='WPF'/><category scheme='http://www.blogger.com/atom/ns#' term='DWM'/><category scheme='http://www.blogger.com/atom/ns#' term='Daj się poznać'/><category scheme='http://www.blogger.com/atom/ns#' term='SymFiz'/><category scheme='http://www.blogger.com/atom/ns#' term='Poznajemy DWM'/><category scheme='http://www.blogger.com/atom/ns#' term='SymFiz 2.0'/><title type='text'>Poznajemy DWM(Desktop Window Manager) #1 Aero Glass</title><content type='html'>&lt;div style="text-align: justify;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;Ostatnio zainteresowałem się DWM(czyli Desktop Window Manager), a dokładniej Aero Glass. Postanowiłem bardziej poznać ten graficzny interfejs i Wam go opisać. Jeszcze nie wiem na ile uda mi się go poznać, ale jeśli nauczę się czegoś nowego to opiszę to na moim blogu. Część z tego najprawdopodobniej wykorzystam w moim programie. Dziś opiszę jak uzyskać efekt Aero Glass w oknie.&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;Program tworze w Microsoft Visual C# 2010 Express i dalej będę się posługiwał nazwami plików tworzonych domyślnie przez to IDE, podczas kreowania aplikacji WPF.&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;span class="Apple-style-span"&gt;&lt;b&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;Wprowadzenie&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;&lt;div style="text-align: justify;"&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;Co to jest DWM? Jest to system GUI(Graphical User Interface) dostępny w Microsoft Windows Vista i Microsoft Windows 7. DWM umożliwia użycie w graficznym interfejsie użytkownika Windows Aero.&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;span class="Apple-style-span" style="font-size: 24px; font-weight: bold;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-weight: bold;"&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;Zaczynajmy!&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;div style="text-align: justify;"&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;Oto jaki będzie efekt naszej pracy:&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/_Bxp37P2giV4/THv_hbOSybI/AAAAAAAAABo/Nt41LJ61q4U/s1600/DWM+Aero+Glass.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://1.bp.blogspot.com/_Bxp37P2giV4/THv_hbOSybI/AAAAAAAAABo/Nt41LJ61q4U/s320/DWM+Aero+Glass.jpg" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-size: 24px; font-weight: bold;"&gt;Jak to wykonać?&lt;/span&gt;&lt;br /&gt;&lt;div style="text-align: justify;"&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;Najpierw stworzymy nową klasę i zincludujemy kilka funkcji z biblioteki dwmapi.dll:&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="csharpcode"&gt;&lt;pre class="alt"&gt;&lt;span class="lnum"&gt;   1:  &lt;/span&gt;&lt;span class="kwrd"&gt;using&lt;/span&gt; System;&lt;/pre&gt;&lt;pre&gt;&lt;span class="lnum"&gt;   2:  &lt;/span&gt;&lt;span class="kwrd"&gt;using&lt;/span&gt; System.Collections.Generic;&lt;/pre&gt;&lt;pre class="alt"&gt;&lt;span class="lnum"&gt;   3:  &lt;/span&gt;&lt;span class="kwrd"&gt;using&lt;/span&gt; System.Linq;&lt;/pre&gt;&lt;pre&gt;&lt;span class="lnum"&gt;   4:  &lt;/span&gt;&lt;span class="kwrd"&gt;using&lt;/span&gt; System.Text;&lt;/pre&gt;&lt;pre class="alt"&gt;&lt;span class="lnum"&gt;   5:  &lt;/span&gt;&lt;span class="kwrd"&gt;using&lt;/span&gt; System.Runtime.InteropServices;&lt;/pre&gt;&lt;pre&gt;&lt;span class="lnum"&gt;   6:  &lt;/span&gt;&amp;nbsp;&lt;/pre&gt;&lt;pre class="alt"&gt;&lt;span class="lnum"&gt;   7:  &lt;/span&gt;[StructLayout(LayoutKind.Sequential)]&lt;/pre&gt;&lt;pre&gt;&lt;span class="lnum"&gt;   8:  &lt;/span&gt;&lt;span class="kwrd"&gt;struct&lt;/span&gt; MARGINS&lt;/pre&gt;&lt;pre class="alt"&gt;&lt;span class="lnum"&gt;   9:  &lt;/span&gt;{&lt;/pre&gt;&lt;pre&gt;&lt;span class="lnum"&gt;  10:  &lt;/span&gt;    &lt;span class="kwrd"&gt;public&lt;/span&gt; &lt;span class="kwrd"&gt;int&lt;/span&gt; cxLeftWidth;&lt;/pre&gt;&lt;pre class="alt"&gt;&lt;span class="lnum"&gt;  11:  &lt;/span&gt;    &lt;span class="kwrd"&gt;public&lt;/span&gt; &lt;span class="kwrd"&gt;int&lt;/span&gt; cxRightWidth;&lt;/pre&gt;&lt;pre&gt;&lt;span class="lnum"&gt;  12:  &lt;/span&gt;    &lt;span class="kwrd"&gt;public&lt;/span&gt; &lt;span class="kwrd"&gt;int&lt;/span&gt; cyTopHeight;&lt;/pre&gt;&lt;pre class="alt"&gt;&lt;span class="lnum"&gt;  13:  &lt;/span&gt;    &lt;span class="kwrd"&gt;public&lt;/span&gt; &lt;span class="kwrd"&gt;int&lt;/span&gt; cyBottomHeight;&lt;/pre&gt;&lt;pre&gt;&lt;span class="lnum"&gt;  14:  &lt;/span&gt;}&lt;/pre&gt;&lt;pre class="alt"&gt;&lt;span class="lnum"&gt;  15:  &lt;/span&gt;&amp;nbsp;&lt;/pre&gt;&lt;pre&gt;&lt;span class="lnum"&gt;  16:  &lt;/span&gt;&lt;span class="kwrd"&gt;namespace&lt;/span&gt; Aero_Glass&lt;/pre&gt;&lt;pre class="alt"&gt;&lt;span class="lnum"&gt;  17:  &lt;/span&gt;{&lt;/pre&gt;&lt;pre&gt;&lt;span class="lnum"&gt;  18:  &lt;/span&gt;    &lt;span class="kwrd"&gt;class&lt;/span&gt; MyAeroGlass&lt;/pre&gt;&lt;pre class="alt"&gt;&lt;span class="lnum"&gt;  19:  &lt;/span&gt;    {&lt;/pre&gt;&lt;pre&gt;&lt;span class="lnum"&gt;  20:  &lt;/span&gt;        [DllImport(&lt;span class="str"&gt;"dwmapi.dll"&lt;/span&gt;, PreserveSig = &lt;span class="kwrd"&gt;false&lt;/span&gt;)]&lt;/pre&gt;&lt;pre class="alt"&gt;&lt;span class="lnum"&gt;  21:  &lt;/span&gt;        &lt;span class="kwrd"&gt;static&lt;/span&gt; &lt;span class="kwrd"&gt;extern&lt;/span&gt; &lt;span class="kwrd"&gt;void&lt;/span&gt; DwmExtendFrameIntoClientArea(&lt;/pre&gt;&lt;pre&gt;&lt;span class="lnum"&gt;  22:  &lt;/span&gt;            IntPtr hWnd, &lt;span class="kwrd"&gt;ref&lt;/span&gt; MARGINS pMarInset);&lt;/pre&gt;&lt;pre class="alt"&gt;&lt;span class="lnum"&gt;  23:  &lt;/span&gt;&amp;nbsp;&lt;/pre&gt;&lt;pre&gt;&lt;span class="lnum"&gt;  24:  &lt;/span&gt;        [DllImport(&lt;span class="str"&gt;"dwmapi.dll"&lt;/span&gt;, PreserveSig = &lt;span class="kwrd"&gt;false&lt;/span&gt;)]&lt;/pre&gt;&lt;pre class="alt"&gt;&lt;span class="lnum"&gt;  25:  &lt;/span&gt;        &lt;span class="kwrd"&gt;static&lt;/span&gt; &lt;span class="kwrd"&gt;extern&lt;/span&gt; &lt;span class="kwrd"&gt;bool&lt;/span&gt; DwmIsCompositionEnabled();&lt;/pre&gt;&lt;pre&gt;&lt;span class="lnum"&gt;  26:  &lt;/span&gt;    }&lt;/pre&gt;&lt;pre class="alt"&gt;&lt;span class="lnum"&gt;  27:  &lt;/span&gt;}&lt;/pre&gt;&lt;pre class="alt"&gt;&lt;/pre&gt;&lt;pre class="alt"&gt;&lt;/pre&gt;&lt;pre class="alt"&gt;&lt;/pre&gt;&lt;pre class="alt"&gt;&lt;/pre&gt;&lt;/div&gt;&lt;br /&gt;&lt;div style="text-align: justify;"&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;W klasie MyAeroGlass zaimplementujemy teraz metodę ExtendGlassFrame. Po jej implementacji plik z klasą wygląda tak:&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="csharpcode"&gt;&lt;pre class="alt"&gt;&lt;span class="lnum"&gt;   1:  &lt;/span&gt;&lt;span class="kwrd"&gt;using&lt;/span&gt; System;&lt;/pre&gt;&lt;pre&gt;&lt;span class="lnum"&gt;   2:  &lt;/span&gt;&lt;span class="kwrd"&gt;using&lt;/span&gt; System.Collections.Generic;&lt;/pre&gt;&lt;pre class="alt"&gt;&lt;span class="lnum"&gt;   3:  &lt;/span&gt;&lt;span class="kwrd"&gt;using&lt;/span&gt; System.Linq;&lt;/pre&gt;&lt;pre&gt;&lt;span class="lnum"&gt;   4:  &lt;/span&gt;&lt;span class="kwrd"&gt;using&lt;/span&gt; System.Text;&lt;/pre&gt;&lt;pre class="alt"&gt;&lt;span class="lnum"&gt;   5:  &lt;/span&gt;&lt;span class="kwrd"&gt;using&lt;/span&gt; System.Runtime.InteropServices;&lt;/pre&gt;&lt;pre&gt;&lt;span class="lnum"&gt;   6:  &lt;/span&gt;&lt;span class="kwrd"&gt;using&lt;/span&gt; System.Windows;&lt;/pre&gt;&lt;pre class="alt"&gt;&lt;span class="lnum"&gt;   7:  &lt;/span&gt;&lt;span class="kwrd"&gt;using&lt;/span&gt; System.Windows.Interop;&lt;/pre&gt;&lt;pre&gt;&lt;span class="lnum"&gt;   8:  &lt;/span&gt;&lt;span class="kwrd"&gt;using&lt;/span&gt; System.Windows.Media;&lt;/pre&gt;&lt;pre class="alt"&gt;&lt;span class="lnum"&gt;   9:  &lt;/span&gt;&amp;nbsp;&lt;/pre&gt;&lt;pre&gt;&lt;span class="lnum"&gt;  10:  &lt;/span&gt;[StructLayout(LayoutKind.Sequential)]&lt;/pre&gt;&lt;pre class="alt"&gt;&lt;span class="lnum"&gt;  11:  &lt;/span&gt;&lt;span class="kwrd"&gt;struct&lt;/span&gt; MARGINS&lt;/pre&gt;&lt;pre&gt;&lt;span class="lnum"&gt;  12:  &lt;/span&gt;{&lt;/pre&gt;&lt;pre class="alt"&gt;&lt;span class="lnum"&gt;  13:  &lt;/span&gt;    &lt;span class="kwrd"&gt;public&lt;/span&gt; MARGINS(Thickness myThickness)&lt;/pre&gt;&lt;pre&gt;&lt;span class="lnum"&gt;  14:  &lt;/span&gt;    {&lt;/pre&gt;&lt;pre class="alt"&gt;&lt;span class="lnum"&gt;  15:  &lt;/span&gt;        cxLeftWidth = (&lt;span class="kwrd"&gt;int&lt;/span&gt;)myThickness.Left;&lt;/pre&gt;&lt;pre&gt;&lt;span class="lnum"&gt;  16:  &lt;/span&gt;        cxRightWidth = (&lt;span class="kwrd"&gt;int&lt;/span&gt;)myThickness.Right;&lt;/pre&gt;&lt;pre class="alt"&gt;&lt;span class="lnum"&gt;  17:  &lt;/span&gt;        cyTopHeight = (&lt;span class="kwrd"&gt;int&lt;/span&gt;)myThickness.Top;&lt;/pre&gt;&lt;pre&gt;&lt;span class="lnum"&gt;  18:  &lt;/span&gt;        cyBottomHeight = (&lt;span class="kwrd"&gt;int&lt;/span&gt;)myThickness.Bottom;&lt;/pre&gt;&lt;pre class="alt"&gt;&lt;span class="lnum"&gt;  19:  &lt;/span&gt;    }&lt;/pre&gt;&lt;pre&gt;&lt;span class="lnum"&gt;  20:  &lt;/span&gt;&amp;nbsp;&lt;/pre&gt;&lt;pre class="alt"&gt;&lt;span class="lnum"&gt;  21:  &lt;/span&gt;    &lt;span class="kwrd"&gt;public&lt;/span&gt; &lt;span class="kwrd"&gt;int&lt;/span&gt; cxLeftWidth;&lt;/pre&gt;&lt;pre&gt;&lt;span class="lnum"&gt;  22:  &lt;/span&gt;    &lt;span class="kwrd"&gt;public&lt;/span&gt; &lt;span class="kwrd"&gt;int&lt;/span&gt; cxRightWidth;&lt;/pre&gt;&lt;pre class="alt"&gt;&lt;span class="lnum"&gt;  23:  &lt;/span&gt;    &lt;span class="kwrd"&gt;public&lt;/span&gt; &lt;span class="kwrd"&gt;int&lt;/span&gt; cyTopHeight;&lt;/pre&gt;&lt;pre&gt;&lt;span class="lnum"&gt;  24:  &lt;/span&gt;    &lt;span class="kwrd"&gt;public&lt;/span&gt; &lt;span class="kwrd"&gt;int&lt;/span&gt; cyBottomHeight;&lt;/pre&gt;&lt;pre class="alt"&gt;&lt;span class="lnum"&gt;  25:  &lt;/span&gt;}&lt;/pre&gt;&lt;pre&gt;&lt;span class="lnum"&gt;  26:  &lt;/span&gt;&amp;nbsp;&lt;/pre&gt;&lt;pre class="alt"&gt;&lt;span class="lnum"&gt;  27:  &lt;/span&gt;&lt;span class="kwrd"&gt;namespace&lt;/span&gt; Aero_Glass&lt;/pre&gt;&lt;pre&gt;&lt;span class="lnum"&gt;  28:  &lt;/span&gt;{&lt;/pre&gt;&lt;pre class="alt"&gt;&lt;span class="lnum"&gt;  29:  &lt;/span&gt;    &lt;span class="kwrd"&gt;class&lt;/span&gt; MyAeroGlass&lt;/pre&gt;&lt;pre&gt;&lt;span class="lnum"&gt;  30:  &lt;/span&gt;    {&lt;/pre&gt;&lt;pre class="alt"&gt;&lt;span class="lnum"&gt;  31:  &lt;/span&gt;        [DllImport(&lt;span class="str"&gt;"dwmapi.dll"&lt;/span&gt;, PreserveSig = &lt;span class="kwrd"&gt;false&lt;/span&gt;)]&lt;/pre&gt;&lt;pre&gt;&lt;span class="lnum"&gt;  32:  &lt;/span&gt;        &lt;span class="kwrd"&gt;static&lt;/span&gt; &lt;span class="kwrd"&gt;extern&lt;/span&gt; &lt;span class="kwrd"&gt;void&lt;/span&gt; DwmExtendFrameIntoClientArea(&lt;/pre&gt;&lt;pre class="alt"&gt;&lt;span class="lnum"&gt;  33:  &lt;/span&gt;            IntPtr hWnd, &lt;span class="kwrd"&gt;ref&lt;/span&gt; MARGINS pMarInset);&lt;/pre&gt;&lt;pre&gt;&lt;span class="lnum"&gt;  34:  &lt;/span&gt;&amp;nbsp;&lt;/pre&gt;&lt;pre class="alt"&gt;&lt;span class="lnum"&gt;  35:  &lt;/span&gt;        [DllImport(&lt;span class="str"&gt;"dwmapi.dll"&lt;/span&gt;, PreserveSig = &lt;span class="kwrd"&gt;false&lt;/span&gt;)]&lt;/pre&gt;&lt;pre&gt;&lt;span class="lnum"&gt;  36:  &lt;/span&gt;        &lt;span class="kwrd"&gt;static&lt;/span&gt; &lt;span class="kwrd"&gt;extern&lt;/span&gt; &lt;span class="kwrd"&gt;bool&lt;/span&gt; DwmIsCompositionEnabled();&lt;/pre&gt;&lt;pre class="alt"&gt;&lt;span class="lnum"&gt;  37:  &lt;/span&gt;&amp;nbsp;&lt;/pre&gt;&lt;pre&gt;&lt;span class="lnum"&gt;  38:  &lt;/span&gt;        &lt;span class="kwrd"&gt;public&lt;/span&gt; &lt;span class="kwrd"&gt;static&lt;/span&gt; &lt;span class="kwrd"&gt;bool&lt;/span&gt; ExtendGlassFrame(Window window, Thickness thickness)&lt;/pre&gt;&lt;pre class="alt"&gt;&lt;span class="lnum"&gt;  39:  &lt;/span&gt;        {&lt;/pre&gt;&lt;pre&gt;&lt;span class="lnum"&gt;  40:  &lt;/span&gt;            &lt;span class="rem"&gt;//Sprawdzmy, czy system jest starszy niż Windows Vista - jeśli tak &lt;/span&gt;&lt;/pre&gt;&lt;pre class="alt"&gt;&lt;span class="lnum"&gt;  41:  &lt;/span&gt;            &lt;span class="rem"&gt;//to zwracamy false i kończymy pracę pętli&lt;/span&gt;&lt;/pre&gt;&lt;pre&gt;&lt;span class="lnum"&gt;  42:  &lt;/span&gt;            &lt;span class="rem"&gt;//Sprawdzmy także, czy kompozyty DWM są włączone - jeśli nie &lt;/span&gt;&lt;/pre&gt;&lt;pre class="alt"&gt;&lt;span class="lnum"&gt;  43:  &lt;/span&gt;            &lt;span class="rem"&gt;//to zwracamy false i kończymy pracę pętli&lt;/span&gt;&lt;/pre&gt;&lt;pre&gt;&lt;span class="lnum"&gt;  44:  &lt;/span&gt;            &lt;span class="kwrd"&gt;if&lt;/span&gt; (Environment.OSVersion.Version.Major &amp;lt; 6 || !DwmIsCompositionEnabled()) &lt;span class="kwrd"&gt;return&lt;/span&gt; &lt;span class="kwrd"&gt;false&lt;/span&gt;;&lt;/pre&gt;&lt;pre class="alt"&gt;&lt;span class="lnum"&gt;  45:  &lt;/span&gt;&amp;nbsp;&lt;/pre&gt;&lt;pre&gt;&lt;span class="lnum"&gt;  46:  &lt;/span&gt;            &lt;span class="rem"&gt;//Pobiermay uchwyt okna i sprawdzamy, czy ono(okno) istnieje&lt;/span&gt;&lt;/pre&gt;&lt;pre class="alt"&gt;&lt;span class="lnum"&gt;  47:  &lt;/span&gt;            WindowInteropHelper hWnd = &lt;span class="kwrd"&gt;new&lt;/span&gt; WindowInteropHelper(window);&lt;/pre&gt;&lt;pre&gt;&lt;span class="lnum"&gt;  48:  &lt;/span&gt;            &lt;span class="kwrd"&gt;if&lt;/span&gt; (hWnd.Handle == IntPtr.Zero) &lt;span class="kwrd"&gt;return&lt;/span&gt; &lt;span class="kwrd"&gt;false&lt;/span&gt;;&lt;/pre&gt;&lt;pre class="alt"&gt;&lt;span class="lnum"&gt;  49:  &lt;/span&gt;&amp;nbsp;&lt;/pre&gt;&lt;pre&gt;&lt;span class="lnum"&gt;  50:  &lt;/span&gt;            &lt;span class="rem"&gt;//Tło ustalamy na transparent&lt;/span&gt;&lt;/pre&gt;&lt;pre class="alt"&gt;&lt;span class="lnum"&gt;  51:  &lt;/span&gt;            window.Background = Brushes.Transparent;&lt;/pre&gt;&lt;pre&gt;&lt;span class="lnum"&gt;  52:  &lt;/span&gt;            HwndSource.FromHwnd(hWnd.Handle).CompositionTarget.BackgroundColor = Colors.Transparent;&lt;/pre&gt;&lt;pre class="alt"&gt;&lt;span class="lnum"&gt;  53:  &lt;/span&gt;&amp;nbsp;&lt;/pre&gt;&lt;pre&gt;&lt;span class="lnum"&gt;  54:  &lt;/span&gt;            MARGINS myMargins = &lt;span class="kwrd"&gt;new&lt;/span&gt; MARGINS(thickness);&lt;/pre&gt;&lt;pre class="alt"&gt;&lt;span class="lnum"&gt;  55:  &lt;/span&gt;&amp;nbsp;&lt;/pre&gt;&lt;pre&gt;&lt;span class="lnum"&gt;  56:  &lt;/span&gt;            DwmExtendFrameIntoClientArea(HwndSource.FromHwnd(hWnd.Handle).Handle, &lt;span class="kwrd"&gt;ref&lt;/span&gt; myMargins);&lt;/pre&gt;&lt;pre class="alt"&gt;&lt;span class="lnum"&gt;  57:  &lt;/span&gt;&amp;nbsp;&lt;/pre&gt;&lt;pre&gt;&lt;span class="lnum"&gt;  58:  &lt;/span&gt;            &lt;span class="kwrd"&gt;return&lt;/span&gt; &lt;span class="kwrd"&gt;true&lt;/span&gt;;&lt;/pre&gt;&lt;pre class="alt"&gt;&lt;span class="lnum"&gt;  59:  &lt;/span&gt;        }&lt;/pre&gt;&lt;pre&gt;&lt;span class="lnum"&gt;  60:  &lt;/span&gt;    }&lt;/pre&gt;&lt;pre class="alt"&gt;&lt;span class="lnum"&gt;  61:  &lt;/span&gt;}&lt;/pre&gt;&lt;/div&gt;&lt;br /&gt;&lt;div style="text-align: justify;"&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;Następnie przesłaniamy metodę OnSourceInitialized:&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="csharpcode"&gt;&lt;pre class="alt"&gt;&lt;span class="lnum"&gt;   1:  &lt;/span&gt;&lt;span class="kwrd"&gt;protected&lt;/span&gt; &lt;span class="kwrd"&gt;override&lt;/span&gt; &lt;span class="kwrd"&gt;void&lt;/span&gt; OnSourceInitialized(EventArgs e)&lt;/pre&gt;&lt;pre&gt;&lt;span class="lnum"&gt;   2:  &lt;/span&gt;        {&lt;/pre&gt;&lt;pre class="alt"&gt;&lt;span class="lnum"&gt;   3:  &lt;/span&gt;            &lt;span class="kwrd"&gt;base&lt;/span&gt;.OnSourceInitialized(e);&lt;/pre&gt;&lt;pre&gt;&lt;span class="lnum"&gt;   4:  &lt;/span&gt;&amp;nbsp;&lt;/pre&gt;&lt;pre class="alt"&gt;&lt;span class="lnum"&gt;   5:  &lt;/span&gt;            &lt;span class="kwrd"&gt;bool&lt;/span&gt; mybool = MyAeroGlass.ExtendGlassFrame(&lt;span class="kwrd"&gt;this&lt;/span&gt;, &lt;span class="kwrd"&gt;new&lt;/span&gt; Thickness(-1));&lt;/pre&gt;&lt;pre&gt;&lt;span class="lnum"&gt;   6:  &lt;/span&gt;        }&lt;/pre&gt;&lt;/div&gt;&lt;br /&gt;&lt;div style="text-align: justify;"&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;Teraz plik MainWindow.xaml.cs wygląda tak:&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="csharpcode"&gt;&lt;pre class="alt"&gt;&lt;span class="lnum"&gt;   1:  &lt;/span&gt;&lt;span class="kwrd"&gt;using&lt;/span&gt; System;&lt;/pre&gt;&lt;pre&gt;&lt;span class="lnum"&gt;   2:  &lt;/span&gt;&lt;span class="kwrd"&gt;using&lt;/span&gt; System.Windows;&lt;/pre&gt;&lt;pre class="alt"&gt;&lt;span class="lnum"&gt;   3:  &lt;/span&gt;&amp;nbsp;&lt;/pre&gt;&lt;pre&gt;&lt;span class="lnum"&gt;   4:  &lt;/span&gt;&lt;span class="kwrd"&gt;namespace&lt;/span&gt; Aero_Glass&lt;/pre&gt;&lt;pre class="alt"&gt;&lt;span class="lnum"&gt;   5:  &lt;/span&gt;{&lt;/pre&gt;&lt;pre&gt;&lt;span class="lnum"&gt;   6:  &lt;/span&gt;    &lt;span class="rem"&gt;/// &amp;lt;summary&amp;gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre class="alt"&gt;&lt;span class="lnum"&gt;   7:  &lt;/span&gt;    &lt;span class="rem"&gt;/// Interaction logic for MainWindow.xaml&lt;/span&gt;&lt;/pre&gt;&lt;pre&gt;&lt;span class="lnum"&gt;   8:  &lt;/span&gt;    &lt;span class="rem"&gt;/// &amp;lt;/summary&amp;gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre class="alt"&gt;&lt;span class="lnum"&gt;   9:  &lt;/span&gt;    &lt;span class="kwrd"&gt;public&lt;/span&gt; &lt;span class="kwrd"&gt;partial&lt;/span&gt; &lt;span class="kwrd"&gt;class&lt;/span&gt; MainWindow : Window&lt;/pre&gt;&lt;pre&gt;&lt;span class="lnum"&gt;  10:  &lt;/span&gt;    {&lt;/pre&gt;&lt;pre class="alt"&gt;&lt;span class="lnum"&gt;  11:  &lt;/span&gt;        &lt;span class="kwrd"&gt;public&lt;/span&gt; MainWindow()&lt;/pre&gt;&lt;pre&gt;&lt;span class="lnum"&gt;  12:  &lt;/span&gt;        {&lt;/pre&gt;&lt;pre class="alt"&gt;&lt;span class="lnum"&gt;  13:  &lt;/span&gt;            InitializeComponent();&lt;/pre&gt;&lt;pre&gt;&lt;span class="lnum"&gt;  14:  &lt;/span&gt;        }&lt;/pre&gt;&lt;pre class="alt"&gt;&lt;span class="lnum"&gt;  15:  &lt;/span&gt;&amp;nbsp;&lt;/pre&gt;&lt;pre&gt;&lt;span class="lnum"&gt;  16:  &lt;/span&gt;        &lt;span class="kwrd"&gt;protected&lt;/span&gt; &lt;span class="kwrd"&gt;override&lt;/span&gt; &lt;span class="kwrd"&gt;void&lt;/span&gt; OnSourceInitialized(EventArgs e)&lt;/pre&gt;&lt;pre class="alt"&gt;&lt;span class="lnum"&gt;  17:  &lt;/span&gt;        {&lt;/pre&gt;&lt;pre&gt;&lt;span class="lnum"&gt;  18:  &lt;/span&gt;            &lt;span class="kwrd"&gt;base&lt;/span&gt;.OnSourceInitialized(e);&lt;/pre&gt;&lt;pre class="alt"&gt;&lt;span class="lnum"&gt;  19:  &lt;/span&gt;&amp;nbsp;&lt;/pre&gt;&lt;pre&gt;&lt;span class="lnum"&gt;  20:  &lt;/span&gt;            &lt;span class="kwrd"&gt;bool&lt;/span&gt; mybool = MyAeroGlass.ExtendGlassFrame(&lt;span class="kwrd"&gt;this&lt;/span&gt;, &lt;span class="kwrd"&gt;new&lt;/span&gt; Thickness(-1));&lt;/pre&gt;&lt;pre class="alt"&gt;&lt;span class="lnum"&gt;  21:  &lt;/span&gt;        }&lt;/pre&gt;&lt;pre&gt;&lt;span class="lnum"&gt;  22:  &lt;/span&gt;    }&lt;/pre&gt;&lt;pre class="alt"&gt;&lt;span class="lnum"&gt;  23:  &lt;/span&gt;}&lt;/pre&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6475552452743517525-2482456678733740045?l=symfiz.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://symfiz.blogspot.com/feeds/2482456678733740045/comments/default' title='Komentarze do posta'/><link rel='replies' type='text/html' href='http://symfiz.blogspot.com/2010/08/poznajemy-dwmdesktop-window-manager-1.html#comment-form' title='Komentarze (4)'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6475552452743517525/posts/default/2482456678733740045'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6475552452743517525/posts/default/2482456678733740045'/><link rel='alternate' type='text/html' href='http://symfiz.blogspot.com/2010/08/poznajemy-dwmdesktop-window-manager-1.html' title='Poznajemy DWM(Desktop Window Manager) #1 Aero Glass'/><author><name>brzegator27</name><uri>http://www.blogger.com/profile/03859403815816257680</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/_Bxp37P2giV4/TGjt7YSEz_I/AAAAAAAAAAM/w-59-xisxsw/s1600-R/2b490a90a03b0296dd252be04b9fd0fe.png'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_Bxp37P2giV4/THv_hbOSybI/AAAAAAAAABo/Nt41LJ61q4U/s72-c/DWM+Aero+Glass.jpg' height='72' width='72'/><thr:total>4</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6475552452743517525.post-2659234943522038584</id><published>2010-08-29T08:42:00.000-07:00</published><updated>2010-08-29T08:46:57.701-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='WPF'/><category scheme='http://www.blogger.com/atom/ns#' term='Windows Forms'/><category scheme='http://www.blogger.com/atom/ns#' term='Daj się poznać'/><category scheme='http://www.blogger.com/atom/ns#' term='SymFiz'/><category scheme='http://www.blogger.com/atom/ns#' term='SymFiz 2.0'/><title type='text'>Kontrolki WPF w aplikacji Windows Forms</title><content type='html'>&lt;div style="text-align: justify;"&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;Postanowiłem napisać o tym, jak umieścić kontrolki WPF w aplikacji Windows Forms. Być może ktoś chciałby zmieścić np. kontrolkę Viewport w aplikacji WF, lub jakąś inną kontrolkę, dlatego to opiszę. Stworzymy przykładową aplikację Windows Forms, w której będzie wyświetlany nasz niebieski trójkąt z poprzedniego wpisu, a także kontrolke TextBox z WPF. Program będzie tworzony w Microsoft Visual C# 2010 Express i dalej będę się posługiwał nazwami plików tworzonych domyślnie przez to IDE, podczas tworzenia aplikacji WF.&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;br /&gt;&lt;/span&gt; &lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;Formalności mamy już za sobą więc zaczynajmy.&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;br /&gt;&lt;/span&gt; &lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;Na początek dołączymy dwie referencje do projektu: WindowsFormsIntegration i System.Xaml. W tym celu klikamy prawym przyciskiem myszy na "references" i wybieramy "Add Reference..."&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/_Bxp37P2giV4/THp669wYkVI/AAAAAAAAABA/zrH6CarR6MQ/s1600/Add+Reference.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://4.bp.blogspot.com/_Bxp37P2giV4/THp669wYkVI/AAAAAAAAABA/zrH6CarR6MQ/s320/Add+Reference.jpg" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;div style="text-align: justify;"&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;Pojawi się nam okienko, w którym wybieramy te dwa komponenty(WindowsFormsIntegration i System.Xaml) i klikamy przycisk OK.&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/_Bxp37P2giV4/THp7Mf7FdTI/AAAAAAAAABI/uUFPIooCBog/s1600/Add+Reference+Window.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://3.bp.blogspot.com/_Bxp37P2giV4/THp7Mf7FdTI/AAAAAAAAABI/uUFPIooCBog/s320/Add+Reference+Window.jpg" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;h2&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;Kontrolka ElementHost&lt;/span&gt;&lt;/span&gt;&lt;/h2&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif; font-weight: normal;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;W Windows Forms istnieje specjalna kontrolka ElementHost, w której można umieścić kontrolkę WPF. W przykładowym programie będą dwie kontrolki WPF, więc dołączymy dwie kontrolki ElementHost. Otwieramy plik Form1.cs[Design], wybieramy z okienka Toolbox zakładkę WPF Interoperability i wybieramy kontrolkę ElementHost.&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/_Bxp37P2giV4/THp7TIcmJrI/AAAAAAAAABQ/cccfDEEX7Ns/s1600/ElementHost1.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://3.bp.blogspot.com/_Bxp37P2giV4/THp7TIcmJrI/AAAAAAAAABQ/cccfDEEX7Ns/s320/ElementHost1.jpg" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;div style="text-align: justify;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;Umieszczamy je(kontrolki ElementHost) w naszym oknie.&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;Do aplikacji dodajemy nowy plik, będzie to User Control(WPF). Nazywamy ją na przykład MyWPFUserControl.xaml. Podczas tworzenia pliku nasze IDE automatycznie doda trzy referencje do naszego projektu, będzie to: PresentationCore, PresentationFramework i WindowsBase.&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;Kontrolka będzie wyświetlała nasz niebieski trójkąt z wpisu: Kurs WPF 3D cz. 1 - Wprowadzenie. Oto nasz kod z pliku MyWPFUserControl.xaml:&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="csharpcode"&gt;&lt;pre class="alt"&gt;&lt;span class="lnum"&gt;   1:  &lt;/span&gt;&lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;UserControl&lt;/span&gt; &lt;span class="attr"&gt;x:Class&lt;/span&gt;&lt;span class="kwrd"&gt;="WPF_Control_in_WF_Application.MyWPFUserControl"&lt;/span&gt;&lt;/pre&gt;&lt;pre&gt;&lt;span class="lnum"&gt;   2:  &lt;/span&gt;             &lt;span class="attr"&gt;xmlns&lt;/span&gt;&lt;span class="kwrd"&gt;="http://schemas.microsoft.com/winfx/2006/xaml/presentation"&lt;/span&gt;&lt;/pre&gt;&lt;pre class="alt"&gt;&lt;span class="lnum"&gt;   3:  &lt;/span&gt;             &lt;span class="attr"&gt;xmlns:x&lt;/span&gt;&lt;span class="kwrd"&gt;="http://schemas.microsoft.com/winfx/2006/xaml"&lt;/span&gt;&lt;/pre&gt;&lt;pre&gt;&lt;span class="lnum"&gt;   4:  &lt;/span&gt;             &lt;span class="attr"&gt;xmlns:mc&lt;/span&gt;&lt;span class="kwrd"&gt;="http://schemas.openxmlformats.org/markup-compatibility/2006"&lt;/span&gt; &lt;/pre&gt;&lt;pre class="alt"&gt;&lt;span class="lnum"&gt;   5:  &lt;/span&gt;             &lt;span class="attr"&gt;xmlns:d&lt;/span&gt;&lt;span class="kwrd"&gt;="http://schemas.microsoft.com/expression/blend/2008"&lt;/span&gt; &lt;/pre&gt;&lt;pre&gt;&lt;span class="lnum"&gt;   6:  &lt;/span&gt;             &lt;span class="attr"&gt;mc:Ignorable&lt;/span&gt;&lt;span class="kwrd"&gt;="d"&lt;/span&gt; &lt;/pre&gt;&lt;pre class="alt"&gt;&lt;span class="lnum"&gt;   7:  &lt;/span&gt;             &lt;span class="attr"&gt;d:DesignHeight&lt;/span&gt;&lt;span class="kwrd"&gt;="300"&lt;/span&gt; &lt;span class="attr"&gt;d:DesignWidth&lt;/span&gt;&lt;span class="kwrd"&gt;="300"&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre&gt;&lt;span class="lnum"&gt;   8:  &lt;/span&gt;    &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;Viewport3D&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre class="alt"&gt;&lt;span class="lnum"&gt;   9:  &lt;/span&gt;        &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;Viewport3D.Camera&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre&gt;&lt;span class="lnum"&gt;  10:  &lt;/span&gt;            &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;PerspectiveCamera&lt;/span&gt; &lt;/pre&gt;&lt;pre class="alt"&gt;&lt;span class="lnum"&gt;  11:  &lt;/span&gt;                    &lt;span class="attr"&gt;Position&lt;/span&gt;&lt;span class="kwrd"&gt;="10,10,10"&lt;/span&gt; &lt;/pre&gt;&lt;pre&gt;&lt;span class="lnum"&gt;  12:  &lt;/span&gt;                    &lt;span class="attr"&gt;LookDirection&lt;/span&gt;&lt;span class="kwrd"&gt;="-10,-10,-10"&lt;/span&gt; &lt;/pre&gt;&lt;pre class="alt"&gt;&lt;span class="lnum"&gt;  13:  &lt;/span&gt;                    &lt;span class="attr"&gt;UpDirection&lt;/span&gt;&lt;span class="kwrd"&gt;="0,1,0"&lt;/span&gt;&lt;/pre&gt;&lt;pre&gt;&lt;span class="lnum"&gt;  14:  &lt;/span&gt;                    &lt;span class="attr"&gt;FieldOfView&lt;/span&gt;&lt;span class="kwrd"&gt;="50"&lt;/span&gt; &lt;span class="kwrd"&gt;/&amp;gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre class="alt"&gt;&lt;span class="lnum"&gt;  15:  &lt;/span&gt;        &lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;Viewport3D.Camera&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre&gt;&lt;span class="lnum"&gt;  16:  &lt;/span&gt;        &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;Viewport3D.Children&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre class="alt"&gt;&lt;span class="lnum"&gt;  17:  &lt;/span&gt;            &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;ModelVisual3D&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre&gt;&lt;span class="lnum"&gt;  18:  &lt;/span&gt;                &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;ModelVisual3D.Content&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre class="alt"&gt;&lt;span class="lnum"&gt;  19:  &lt;/span&gt;                    &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;AmbientLight&lt;/span&gt; &lt;span class="attr"&gt;Color&lt;/span&gt;&lt;span class="kwrd"&gt;="White"&lt;/span&gt;&lt;span class="kwrd"&gt;/&amp;gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre&gt;&lt;span class="lnum"&gt;  20:  &lt;/span&gt;                &lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;ModelVisual3D.Content&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre class="alt"&gt;&lt;span class="lnum"&gt;  21:  &lt;/span&gt;            &lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;ModelVisual3D&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre&gt;&lt;span class="lnum"&gt;  22:  &lt;/span&gt;            &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;ModelVisual3D&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre class="alt"&gt;&lt;span class="lnum"&gt;  23:  &lt;/span&gt;                &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;ModelVisual3D.Content&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre&gt;&lt;span class="lnum"&gt;  24:  &lt;/span&gt;                    &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;Model3DGroup&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre class="alt"&gt;&lt;span class="lnum"&gt;  25:  &lt;/span&gt;                        &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;GeometryModel3D&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre&gt;&lt;span class="lnum"&gt;  26:  &lt;/span&gt;                            &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;GeometryModel3D.Material&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre class="alt"&gt;&lt;span class="lnum"&gt;  27:  &lt;/span&gt;                                &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;DiffuseMaterial&lt;/span&gt; &lt;span class="attr"&gt;Brush&lt;/span&gt;&lt;span class="kwrd"&gt;="Blue"&lt;/span&gt;&lt;span class="kwrd"&gt;/&amp;gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre&gt;&lt;span class="lnum"&gt;  28:  &lt;/span&gt;                            &lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;GeometryModel3D.Material&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre class="alt"&gt;&lt;span class="lnum"&gt;  29:  &lt;/span&gt;                            &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;GeometryModel3D.Geometry&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre&gt;&lt;span class="lnum"&gt;  30:  &lt;/span&gt;                                &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;MeshGeometry3D&lt;/span&gt; &lt;/pre&gt;&lt;pre class="alt"&gt;&lt;span class="lnum"&gt;  31:  &lt;/span&gt;                                        &lt;span class="attr"&gt;Positions&lt;/span&gt;&lt;span class="kwrd"&gt;="0,0,0 5,0,0 0,5,0"&lt;/span&gt;&lt;/pre&gt;&lt;pre&gt;&lt;span class="lnum"&gt;  32:  &lt;/span&gt;                                &lt;span class="attr"&gt;TriangleIndices&lt;/span&gt;&lt;span class="kwrd"&gt;="0 1 2"&lt;/span&gt; &lt;span class="kwrd"&gt;/&amp;gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre class="alt"&gt;&lt;span class="lnum"&gt;  33:  &lt;/span&gt;                            &lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;GeometryModel3D.Geometry&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre&gt;&lt;span class="lnum"&gt;  34:  &lt;/span&gt;                        &lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;GeometryModel3D&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre class="alt"&gt;&lt;span class="lnum"&gt;  35:  &lt;/span&gt;                    &lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;Model3DGroup&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre&gt;&lt;span class="lnum"&gt;  36:  &lt;/span&gt;                &lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;ModelVisual3D.Content&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre class="alt"&gt;&lt;span class="lnum"&gt;  37:  &lt;/span&gt;            &lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;ModelVisual3D&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre&gt;&lt;span class="lnum"&gt;  38:  &lt;/span&gt;        &lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;Viewport3D.Children&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre class="alt"&gt;&lt;span class="lnum"&gt;  39:  &lt;/span&gt;    &lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;Viewport3D&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre&gt;&lt;span class="lnum"&gt;  40:  &lt;/span&gt;&lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;UserControl&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;&lt;/div&gt;&lt;br /&gt;&lt;div style="text-align: justify;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;Następnie ustawiamy zawartość naszej pierwszej kontrolki ElementHost na MyWPFUserControl:&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/_Bxp37P2giV4/THp7hBL9kII/AAAAAAAAABY/ZPIaip7mWhg/s1600/ElementHost2.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://2.bp.blogspot.com/_Bxp37P2giV4/THp7hBL9kII/AAAAAAAAABY/ZPIaip7mWhg/s320/ElementHost2.jpg" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;Potem klikamy prawym przyciskiem myszy na plik Form1.cs i wybieramy View Code. Z poziomu kodu C# dodajemy do drugiej kontrolki ElementHost kontrolkę Grid z WPF w której będzie kontrolka TextBox. Oto nowy kod w pliku Form1cs:&lt;br /&gt;&lt;br /&gt;&lt;div class="csharpcode"&gt;&lt;pre class="alt"&gt;&lt;span class="lnum"&gt;   1:  &lt;/span&gt;&lt;span class="kwrd"&gt;using&lt;/span&gt; System.Windows.Forms;&lt;/pre&gt;&lt;pre&gt;&lt;span class="lnum"&gt;   2:  &lt;/span&gt;&amp;nbsp;&lt;/pre&gt;&lt;pre class="alt"&gt;&lt;span class="lnum"&gt;   3:  &lt;/span&gt;&lt;span class="kwrd"&gt;namespace&lt;/span&gt; WPF_Control_in_WF_Application&lt;/pre&gt;&lt;pre&gt;&lt;span class="lnum"&gt;   4:  &lt;/span&gt;{&lt;/pre&gt;&lt;pre class="alt"&gt;&lt;span class="lnum"&gt;   5:  &lt;/span&gt;    &lt;span class="kwrd"&gt;public&lt;/span&gt; &lt;span class="kwrd"&gt;partial&lt;/span&gt; &lt;span class="kwrd"&gt;class&lt;/span&gt; Form1 : Form&lt;/pre&gt;&lt;pre&gt;&lt;span class="lnum"&gt;   6:  &lt;/span&gt;    {&lt;/pre&gt;&lt;pre class="alt"&gt;&lt;span class="lnum"&gt;   7:  &lt;/span&gt;        &lt;span class="kwrd"&gt;public&lt;/span&gt; Form1()&lt;/pre&gt;&lt;pre&gt;&lt;span class="lnum"&gt;   8:  &lt;/span&gt;        {&lt;/pre&gt;&lt;pre class="alt"&gt;&lt;span class="lnum"&gt;   9:  &lt;/span&gt;            InitializeComponent();&lt;/pre&gt;&lt;pre&gt;&lt;span class="lnum"&gt;  10:  &lt;/span&gt;&amp;nbsp;&lt;/pre&gt;&lt;pre class="alt"&gt;&lt;span class="lnum"&gt;  11:  &lt;/span&gt;            System.Windows.Controls.Grid myGrid = &lt;span class="kwrd"&gt;new&lt;/span&gt; System.Windows.Controls.Grid();&lt;/pre&gt;&lt;pre&gt;&lt;span class="lnum"&gt;  12:  &lt;/span&gt;            System.Windows.Controls.TextBox myTextBox = &lt;span class="kwrd"&gt;new&lt;/span&gt; System.Windows.Controls.TextBox();&lt;/pre&gt;&lt;pre class="alt"&gt;&lt;span class="lnum"&gt;  13:  &lt;/span&gt;            myTextBox.Height = 67;&lt;/pre&gt;&lt;pre&gt;&lt;span class="lnum"&gt;  14:  &lt;/span&gt;            myTextBox.Width = 326;&lt;/pre&gt;&lt;pre class="alt"&gt;&lt;span class="lnum"&gt;  15:  &lt;/span&gt;            myTextBox.Text = &lt;span class="str"&gt;"Jestem kontrolką WPF :)"&lt;/span&gt;;&lt;/pre&gt;&lt;pre&gt;&lt;span class="lnum"&gt;  16:  &lt;/span&gt;&amp;nbsp;&lt;/pre&gt;&lt;pre class="alt"&gt;&lt;span class="lnum"&gt;  17:  &lt;/span&gt;            myGrid.Children.Add(myTextBox);&lt;/pre&gt;&lt;pre&gt;&lt;span class="lnum"&gt;  18:  &lt;/span&gt;&amp;nbsp;&lt;/pre&gt;&lt;pre class="alt"&gt;&lt;span class="lnum"&gt;  19:  &lt;/span&gt;            elementHost2.Child = myGrid;&lt;/pre&gt;&lt;pre&gt;&lt;span class="lnum"&gt;  20:  &lt;/span&gt;        }&lt;/pre&gt;&lt;pre class="alt"&gt;&lt;span class="lnum"&gt;  21:  &lt;/span&gt;    }&lt;/pre&gt;&lt;pre&gt;&lt;span class="lnum"&gt;  22:  &lt;/span&gt;}&lt;/pre&gt;&lt;/div&gt;&lt;br /&gt;Po uruchomieniu nasza aplikacja wygląda tak:&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/_Bxp37P2giV4/THp7ltVxFMI/AAAAAAAAABg/kHMTNZcwXP4/s1600/Aplikacja+WPF+Control+in+WF.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://4.bp.blogspot.com/_Bxp37P2giV4/THp7ltVxFMI/AAAAAAAAABg/kHMTNZcwXP4/s320/Aplikacja+WPF+Control+in+WF.jpg" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6475552452743517525-2659234943522038584?l=symfiz.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://symfiz.blogspot.com/feeds/2659234943522038584/comments/default' title='Komentarze do posta'/><link rel='replies' type='text/html' href='http://symfiz.blogspot.com/2010/08/kontrolki-wpf-w-aplikacji-windows-forms.html#comment-form' title='Komentarze (0)'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6475552452743517525/posts/default/2659234943522038584'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6475552452743517525/posts/default/2659234943522038584'/><link rel='alternate' type='text/html' href='http://symfiz.blogspot.com/2010/08/kontrolki-wpf-w-aplikacji-windows-forms.html' title='Kontrolki WPF w aplikacji Windows Forms'/><author><name>brzegator27</name><uri>http://www.blogger.com/profile/03859403815816257680</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/_Bxp37P2giV4/TGjt7YSEz_I/AAAAAAAAAAM/w-59-xisxsw/s1600-R/2b490a90a03b0296dd252be04b9fd0fe.png'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_Bxp37P2giV4/THp669wYkVI/AAAAAAAAABA/zrH6CarR6MQ/s72-c/Add+Reference.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6475552452743517525.post-4955549970922532756</id><published>2010-08-28T14:56:00.000-07:00</published><updated>2010-08-29T02:11:09.624-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='WPF 3D'/><category scheme='http://www.blogger.com/atom/ns#' term='WPF'/><category scheme='http://www.blogger.com/atom/ns#' term='Daj się poznać'/><category scheme='http://www.blogger.com/atom/ns#' term='SymFiz'/><category scheme='http://www.blogger.com/atom/ns#' term='WPF 3D Tutorial'/><category scheme='http://www.blogger.com/atom/ns#' term='SymFiz 2.0'/><category scheme='http://www.blogger.com/atom/ns#' term='kurs WPF 3D'/><title type='text'>Kurs WPF 3D cz. 1 - Wprowadzenie</title><content type='html'>&lt;div style="text-align: justify;"&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;Ten wpis rozpoczyna nową serię moich wpisów na blogu dotyczących WPF 3D. Będzie to mały kurs i wstęp do tej technologi, dla ludzi jej nie znających.&amp;nbsp;Postaram się systematycznie publikować nowe wpisy z tej serii. Ten wpis będzie wprowadzeniem do tego tematu.&amp;nbsp;Następne wpisy będą bardziej szczegółowe - ten będzie takim bardzo krótkim wprowadzeniem.&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;br /&gt;&lt;/span&gt; &lt;/span&gt;&lt;br /&gt;&lt;h2&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;Elementy 3D, a elementy 2D&lt;/span&gt;&lt;/h2&gt;&lt;div&gt;&lt;div&gt;&lt;div style="text-align: justify;"&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;Elementy 3D bezproblemowo współgrają z innymi elementami aplikacji. Elementy 3D mogą być bezproblemowo wyświetlane na powierzchni elementów 2D i vice versa.&amp;nbsp;Aplikacje WPF 3D można tworzyć w XAML, lub bezpośrednio z kodu programu.&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;br /&gt;&lt;/span&gt; &lt;/span&gt;&lt;br /&gt;&lt;h2&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;Prosta aplikacja&lt;/span&gt;&lt;/h2&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;Na początek przedstawię kod prostej aplikacji, która wyświetla niebieski trójkąt. Oto kod:&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="csharpcode"&gt;&lt;pre class="alt"&gt;&lt;span class="lnum"&gt;   1:  &lt;/span&gt;&lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;Window&lt;/span&gt; &lt;span class="attr"&gt;x:Class&lt;/span&gt;&lt;span class="kwrd"&gt;="WPF3DFirstApplication.MainWindow"&lt;/span&gt;&lt;/pre&gt;&lt;pre&gt;&lt;span class="lnum"&gt;   2:  &lt;/span&gt;        &lt;span class="attr"&gt;xmlns&lt;/span&gt;&lt;span class="kwrd"&gt;="http://schemas.microsoft.com/winfx/2006/xaml/presentation"&lt;/span&gt;&lt;/pre&gt;&lt;pre class="alt"&gt;&lt;span class="lnum"&gt;   3:  &lt;/span&gt;        &lt;span class="attr"&gt;xmlns:x&lt;/span&gt;&lt;span class="kwrd"&gt;="http://schemas.microsoft.com/winfx/2006/xaml"&lt;/span&gt;&lt;/pre&gt;&lt;pre&gt;&lt;span class="lnum"&gt;   4:  &lt;/span&gt;        &lt;span class="attr"&gt;Title&lt;/span&gt;&lt;span class="kwrd"&gt;="MainWindow"&lt;/span&gt; &lt;span class="attr"&gt;Height&lt;/span&gt;&lt;span class="kwrd"&gt;="350"&lt;/span&gt; &lt;span class="attr"&gt;Width&lt;/span&gt;&lt;span class="kwrd"&gt;="525"&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre class="alt"&gt;&lt;span class="lnum"&gt;   5:  &lt;/span&gt;    &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;Grid&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre&gt;&lt;span class="lnum"&gt;   6:  &lt;/span&gt;        &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;Viewport3D&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre class="alt"&gt;&lt;span class="lnum"&gt;   7:  &lt;/span&gt;            &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;Viewport3D.Camera&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre&gt;&lt;span class="lnum"&gt;   8:  &lt;/span&gt;                &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;PerspectiveCamera&lt;/span&gt; &lt;/pre&gt;&lt;pre class="alt"&gt;&lt;span class="lnum"&gt;   9:  &lt;/span&gt;                    &lt;span class="attr"&gt;Position&lt;/span&gt;&lt;span class="kwrd"&gt;="10,10,10"&lt;/span&gt; &lt;/pre&gt;&lt;pre&gt;&lt;span class="lnum"&gt;  10:  &lt;/span&gt;                    &lt;span class="attr"&gt;LookDirection&lt;/span&gt;&lt;span class="kwrd"&gt;="-10,-10,-10"&lt;/span&gt; &lt;/pre&gt;&lt;pre class="alt"&gt;&lt;span class="lnum"&gt;  11:  &lt;/span&gt;                    &lt;span class="attr"&gt;UpDirection&lt;/span&gt;&lt;span class="kwrd"&gt;="0,1,0"&lt;/span&gt;&lt;/pre&gt;&lt;pre&gt;&lt;span class="lnum"&gt;  12:  &lt;/span&gt;                    &lt;span class="attr"&gt;FieldOfView&lt;/span&gt;&lt;span class="kwrd"&gt;="50"&lt;/span&gt; &lt;span class="kwrd"&gt;/&amp;gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre class="alt"&gt;&lt;span class="lnum"&gt;  13:  &lt;/span&gt;            &lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;Viewport3D.Camera&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre&gt;&lt;span class="lnum"&gt;  14:  &lt;/span&gt;            &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;Viewport3D.Children&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre class="alt"&gt;&lt;span class="lnum"&gt;  15:  &lt;/span&gt;                &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;ModelVisual3D&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre&gt;&lt;span class="lnum"&gt;  16:  &lt;/span&gt;                    &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;ModelVisual3D.Content&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre class="alt"&gt;&lt;span class="lnum"&gt;  17:  &lt;/span&gt;                        &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;AmbientLight&lt;/span&gt; &lt;span class="attr"&gt;Color&lt;/span&gt;&lt;span class="kwrd"&gt;="White"&lt;/span&gt;&lt;span class="kwrd"&gt;/&amp;gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre&gt;&lt;span class="lnum"&gt;  18:  &lt;/span&gt;                    &lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;ModelVisual3D.Content&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre class="alt"&gt;&lt;span class="lnum"&gt;  19:  &lt;/span&gt;                &lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;ModelVisual3D&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre&gt;&lt;span class="lnum"&gt;  20:  &lt;/span&gt;                &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;ModelVisual3D&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre class="alt"&gt;&lt;span class="lnum"&gt;  21:  &lt;/span&gt;                    &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;ModelVisual3D.Content&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre&gt;&lt;span class="lnum"&gt;  22:  &lt;/span&gt;                        &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;Model3DGroup&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre class="alt"&gt;&lt;span class="lnum"&gt;  23:  &lt;/span&gt;                            &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;GeometryModel3D&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre&gt;&lt;span class="lnum"&gt;  24:  &lt;/span&gt;                                &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;GeometryModel3D.Material&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre class="alt"&gt;&lt;span class="lnum"&gt;  25:  &lt;/span&gt;                                    &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;DiffuseMaterial&lt;/span&gt; &lt;span class="attr"&gt;Brush&lt;/span&gt;&lt;span class="kwrd"&gt;="Blue"&lt;/span&gt;&lt;span class="kwrd"&gt;/&amp;gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre&gt;&lt;span class="lnum"&gt;  26:  &lt;/span&gt;                                &lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;GeometryModel3D.Material&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre class="alt"&gt;&lt;span class="lnum"&gt;  27:  &lt;/span&gt;                                &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;GeometryModel3D.Geometry&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre&gt;&lt;span class="lnum"&gt;  28:  &lt;/span&gt;                                    &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;MeshGeometry3D&lt;/span&gt; &lt;/pre&gt;&lt;pre class="alt"&gt;&lt;span class="lnum"&gt;  29:  &lt;/span&gt;                                        &lt;span class="attr"&gt;Positions&lt;/span&gt;&lt;span class="kwrd"&gt;="0,0,0 5,0,0 0,5,0"&lt;/span&gt;&lt;/pre&gt;&lt;pre&gt;&lt;span class="lnum"&gt;  30:  &lt;/span&gt;                                &lt;span class="attr"&gt;TriangleIndices&lt;/span&gt;&lt;span class="kwrd"&gt;="0 1 2"&lt;/span&gt; &lt;span class="kwrd"&gt;/&amp;gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre class="alt"&gt;&lt;span class="lnum"&gt;  31:  &lt;/span&gt;                                &lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;GeometryModel3D.Geometry&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre&gt;&lt;span class="lnum"&gt;  32:  &lt;/span&gt;                            &lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;GeometryModel3D&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre class="alt"&gt;&lt;span class="lnum"&gt;  33:  &lt;/span&gt;                        &lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;Model3DGroup&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre&gt;&lt;span class="lnum"&gt;  34:  &lt;/span&gt;                    &lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;ModelVisual3D.Content&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre class="alt"&gt;&lt;span class="lnum"&gt;  35:  &lt;/span&gt;                &lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;ModelVisual3D&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre&gt;&lt;span class="lnum"&gt;  36:  &lt;/span&gt;            &lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;Viewport3D.Children&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre class="alt"&gt;&lt;span class="lnum"&gt;  37:  &lt;/span&gt;        &lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;Viewport3D&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre&gt;&lt;span class="lnum"&gt;  38:  &lt;/span&gt;    &lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;Grid&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre class="alt"&gt;&lt;span class="lnum"&gt;  39:  &lt;/span&gt;&lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;Window&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;&lt;/div&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;A oto jego efekty:&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/_Bxp37P2giV4/THmDI5gQIBI/AAAAAAAAAA4/t9EJ9geFMho/s1600/prosta+aplikacja+WPF+3D.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;img border="0" src="http://3.bp.blogspot.com/_Bxp37P2giV4/THmDI5gQIBI/AAAAAAAAAA4/t9EJ9geFMho/s320/prosta+aplikacja+WPF+3D.jpg" /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;&lt;/div&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;Jak można zauważyć swego rodzaju kontenerem dla świata 3D jest element Vievport3D. To w nim znajdują się wszystkie inne elementy świata 3D, takie jak:&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;- Kamera - do dyspozycji mamy trzy rodzaje kamery: PerspectiveCamera, OrthographicCamera i MatrixCamera.&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;- Oświetlenie - istnieją cztery rodzaje oświetlenia: AmbientLight, DirectionalLight, PointLight i SpotLight.&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;- Model&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;br /&gt;&lt;/span&gt; &lt;/span&gt;&lt;br /&gt;&lt;div style="text-align: justify;"&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;To był bardzo krótki i ogólny wstęp, jednak postaram się, aby następne wpisy były bardziej szczegółowe i opisywały dokładniej zagadnienia. Prawdopodobnie już za niedługo kolejny wpis z tej serii, a także inne. Jestem początkującym i dopiero od niedawna "wgryzam się" w temat, dlatego ten wpis jest taki krótki - następne będą lepsze. :)&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6475552452743517525-4955549970922532756?l=symfiz.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://symfiz.blogspot.com/feeds/4955549970922532756/comments/default' title='Komentarze do posta'/><link rel='replies' type='text/html' href='http://symfiz.blogspot.com/2010/08/kurs-wpf-3d-cz-1-wprowadzenie.html#comment-form' title='Komentarze (0)'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6475552452743517525/posts/default/4955549970922532756'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6475552452743517525/posts/default/4955549970922532756'/><link rel='alternate' type='text/html' href='http://symfiz.blogspot.com/2010/08/kurs-wpf-3d-cz-1-wprowadzenie.html' title='Kurs WPF 3D cz. 1 - Wprowadzenie'/><author><name>brzegator27</name><uri>http://www.blogger.com/profile/03859403815816257680</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/_Bxp37P2giV4/TGjt7YSEz_I/AAAAAAAAAAM/w-59-xisxsw/s1600-R/2b490a90a03b0296dd252be04b9fd0fe.png'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_Bxp37P2giV4/THmDI5gQIBI/AAAAAAAAAA4/t9EJ9geFMho/s72-c/prosta+aplikacja+WPF+3D.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6475552452743517525.post-9161607401901770596</id><published>2010-08-24T13:15:00.000-07:00</published><updated>2010-08-25T01:59:28.374-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='planowane możliwości'/><category scheme='http://www.blogger.com/atom/ns#' term='Daj się poznać'/><category scheme='http://www.blogger.com/atom/ns#' term='SymFiz'/><category scheme='http://www.blogger.com/atom/ns#' term='SymFiz 2.0'/><title type='text'>Planowane możliwości programu SymFiz 2.0</title><content type='html'>&lt;div style="text-align: justify;"&gt;&lt;span class="Apple-style-span" style="font-size: 13px;"&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;Przepraszam, za to, że w tamtym tygodniu napisałem tylko jeden wpis na moim blogu, za to w tym postaram się to nadrobić z nawiązką. ;) A dzisiaj krótki wpis, o tym, jakie są planowane możliwości programu SymFiz 2.0. W moim wcześniejszym wpisie napisałem trochę o tym, jakie są cele projektu. Teraz więcej szczegółów. Nie wiem w ilu procentach uda mi się zrealizować plany podczas trwania konkursu &lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-size: 13px;"&gt;&lt;a href="http://www.maciejaniserowicz.com/page/Konkurs-daj-sie-poznac.aspx"&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;"Daj się poznać!"&lt;/span&gt;&lt;/a&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-size: 13px;"&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt; organizowanego przez Macieja Aniserowicza, w każdym razie jeśli mi się czegoś nie uda zrobić w tym terminie to najprawdopodobniej zrobię to później – ponieważ aplikacja będzie dalej rozwijana(przynajmniej na razie takie są moje plany).&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-size: 13px;"&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;span class="Apple-style-span" style="font-family: Arial; font-size: small;"&gt;&lt;span class="Apple-style-span" style="font-size: 13px;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Arial; font-size: small;"&gt;&lt;span class="Apple-style-span" style="font-size: 13px;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Arial; font-size: small;"&gt;&lt;span class="Apple-style-span" style="font-size: 13px;"&gt;&lt;div class="MsoNormal"&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;Oto lista planowanych możliwości programu SymFiz 2.0:&lt;/span&gt;&lt;/div&gt;&lt;ul&gt;&lt;li&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;Informacje o danych zjawiskach fizycznych&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;Przykładowe zadania za każdym razem losowane i pobierane z serwera&amp;nbsp;&amp;nbsp; &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;Folder domyślny utworzony w folderze Dokumenty noszący nazwę SymFiz, w którym będą zapisywane różne pliki np. animacje utworzone przez program, oczywiście będzie można wybrać inny folder i wskazać go programowi podczas tworzenia animacji&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;Możliwość zapisu animacji jako pliku .gif&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;Zapisania dowolnej klatki animacji jako pliku .gif&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;Animacja w 3D&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;Animacja w 2D&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;Możliwość zmiany koloru ciała&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;Możliwość ustawienia bitmapy jako ciała:&lt;br /&gt;- jeśli użytkownik wybierze tą opcję to musi ustalić środek ciała&lt;br /&gt;- można wybrać czy chce się, aby program narysował kontury&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;Możliwość animacji na wielu oknach&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;Możliwość animowania kilku zjawisk na raz&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;Możliwość tworzenia wykresów&lt;br /&gt;- w tym możliwość wybrania dowolnych ciał branych pod uwagę przy rysowaniu wykresu&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;Możliwość umieszczenia wykresów itp. w animacji(miałyby się one zmieniać wraz z animacją)&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;Możliwość anulowania symulacji w każdej chwili&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;Możliwość zatrzymania(bez anulowania) animacji w każdej chwili&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;Możliwość cofnięcia symulacji do dowolnej chwili&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;Możliwość przewinięcia symulacji do dowolnej chwili&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;Możliwość wstrzymania symulacji na określony czas w określonym wcześniej czasie&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;Przy widoku 3D możliwość wybrania jak obserwować ciało&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;Możliwość rysowania toru ruchu wybranego ciała&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;Możliwość rysowania wektorów wybranego ciała&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;Możliwość wyboru podziałki:&lt;br /&gt;a) Dynamiczna – polegająca na tym, że jest obliczana tak, aby animacja zmieściła się na ekranie(oknie)&lt;br /&gt;b) Stała – odległości w rzeczywistości odpowiada zawsze taka sama liczba pieli na ekranie&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;- Jeśli animacja się nie mieści użytkownik ma możliwość przewinięcia w górę, lub w dół&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;- Możliwość ustawienia np. ilu metrom w terenie odpowiada ile pikseli na ekranie&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;Własny typ zapisu&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;div class="MsoNormal"&gt;&lt;div style="text-align: justify;"&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;Będą one także dostępne na &lt;/span&gt;&lt;a href="http://symfiz.blogspot.com/p/planowane-mozliwosci-programu-symfiz-20.html"&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;oddzielnej stronie&lt;/span&gt;&lt;/a&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt; na tym blogu. Co jakiś czas prawdopodobnie będę dodawał nowe planowane możliwości programu, jeśli się takowe pojawią, a także odhaczał, te, które udało mi się już zrealizować. ;)&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;div style="text-align: justify;"&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt; &lt;/div&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;div style="text-align: justify;"&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;Obecne planowane możliwości zostały tylko wymienione(czasami trochę opisane), wraz z czasem i ich realizacją będę prawdopodobnie je konkretyzował i opisywał.&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;div style="text-align: justify;"&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt; &lt;/div&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;div style="text-align: justify;"&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;Jeśli macie jakieś ciekawe propozycje dotyczące mojego programu możecie pisać na tego e-maila: &lt;/span&gt;&lt;span class="Apple-style-span" style="font-size: 13px; white-space: nowrap;"&gt;&lt;b&gt;&lt;span class="Apple-style-span" style="color: red;"&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;symfiz[at]gmail.com&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;, lub po prostu zamieszczać je w komentarzach pod wpisami. :)&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/span&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6475552452743517525-9161607401901770596?l=symfiz.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://symfiz.blogspot.com/feeds/9161607401901770596/comments/default' title='Komentarze do posta'/><link rel='replies' type='text/html' href='http://symfiz.blogspot.com/2010/08/planowane-mozliwosci-programu-symfiz-20.html#comment-form' title='Komentarze (2)'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6475552452743517525/posts/default/9161607401901770596'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6475552452743517525/posts/default/9161607401901770596'/><link rel='alternate' type='text/html' href='http://symfiz.blogspot.com/2010/08/planowane-mozliwosci-programu-symfiz-20.html' title='Planowane możliwości programu SymFiz 2.0'/><author><name>brzegator27</name><uri>http://www.blogger.com/profile/03859403815816257680</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/_Bxp37P2giV4/TGjt7YSEz_I/AAAAAAAAAAM/w-59-xisxsw/s1600-R/2b490a90a03b0296dd252be04b9fd0fe.png'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6475552452743517525.post-667134654131022484</id><published>2010-08-16T07:12:00.000-07:00</published><updated>2010-08-24T13:26:17.773-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Daj się poznać'/><category scheme='http://www.blogger.com/atom/ns#' term='SymFiz'/><category scheme='http://www.blogger.com/atom/ns#' term='SymFiz 2.0'/><title type='text'>Hello world!</title><content type='html'>&lt;div style="text-align: justify;"&gt;Witam Wszystkich na moim blogu. Powstał on w związku z moim uczestnictwem w konkursie &lt;a href="http://www.maciejaniserowicz.com/page/Konkurs-daj-sie-poznac.aspx"&gt;"Daj się poznać!"&lt;/a&gt; organizowanego przez Macieja Aniserowicza. Będę na nim opisywał moje zmagania z programem jednocześnie próbując Wam przekazać trochę informacji o technologiach, w których będę tworzył program.&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;h1 style="text-align: left;"&gt;O mnie&lt;/h1&gt;&lt;div style="text-align: justify;"&gt;Mam na imię Jakub, a na nazwisko Brzegowski. W Internecie można mnie spotkać pod nickiem brzegator27. Interesuje się programowaniem, a także matematyką i fizyką. Niestety nie jestem zbyt dobry z polskiego, dlatego od razu przepraszam za popełnione&amp;nbsp;przeze mnie błędy w pisowni.&lt;br /&gt;Więcej informacji o moich zainteresowaniach możesz uzyskać przez zaglądnięcie do mojego profilu.&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;h1 style="text-align: left;"&gt;O programie&lt;/h1&gt;&lt;div style="text-align: justify;"&gt;Nazwa programu to SymFiz - skrót od słów symulacje fizyczne. Jak sama nazwa wskazuje program będzie tworzył animacje różnych zjawisk fizycznych. Celem tego programu jest ułatwienie nauczania fizyki, a także ułatwienie tworzenia materiałów np. na potrzeby prezentacji.&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span class="Apple-style-span" style="font-family: Times, 'Times New Roman', serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;Będzie to już druga wersja tego programu - czyli SymFiz 2.0.&lt;/div&gt;&lt;div style="text-align: justify;"&gt;Pierwsza wersja została napisana w C++ z użyciem biblioteki Allegro, nie tak dawno pojawiła się także wersja 2.0 beta została napisana także w C++, ale z użyciem Windows API. Te dwie wersje nie były udane, dlatego postanowiłem teraz program napisać praktycznie od nowa w niedawno poznanym języku C#(C Sharp)&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;b&gt;Kod programu(prawdopodobnie&amp;nbsp;też jakieś krótkie informacje itp.) o nim będą zamieszczane na &lt;a href="http://code.google.com/p/symfiz/"&gt;tej stronie&lt;/a&gt;.&lt;/b&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;Po zakończeniu konkursu dalej zamierzam rozwijać mój program. Blog najprawdopodobniej będzie także dalej rozwijany.&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;Więcej o planowanych możliwościach programu, interfejsie itp. napiszę w moim następnym poście. ;)&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;h1 style="text-align: left;"&gt;Technologie w jakich będzie tworzony program...&lt;/h1&gt;...to WPF i .NET. Zamierzam Wam przedstawić te technologię. Nie znam ich na razie dobrze, w miarę postępów w nauce będę Wam je przedstawiał i opisywał.&lt;br /&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;Dodam, że moje środowisko programistyczne to Microsoft Visual C# 2010 Express.&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;h1 style="text-align: left;"&gt;Wygląd bloga&lt;/h1&gt;&lt;div style="text-align: justify;"&gt;Na razie blog nie wygląda najlepiej i jeszcze nad jego wyglądem itp. będę pracował. Myślę, że już za niedługo wprowadzę na nim trochę zmian.&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;hr style="background-color: black; height: 5px; text-align: justify;" /&gt;&lt;div style="text-align: justify;"&gt;Po raz pierwszy w swoim życiu piszę swojego własnego bloga i nie mam w tych sprawach doświadczenia. Mam nadzieję, że moje kolejne wpisy będą coraz lepsze i bardziej ciekawe, a Ty&amp;nbsp;będziesz często powracał na mojego bloga i czekał na moje nowe wpisy. :)&lt;br /&gt;&lt;br /&gt;Jeśli masz jakieś propozycje dotyczące mojego programu, lub bloga, wykryłeś gdzieś mój błąd, chcesz się o coś mnie zapytać, możesz pisać na tego e-maila:&amp;nbsp;&lt;span class="Apple-style-span" style="font-family: arial, sans-serif; font-size: 13px; white-space: nowrap;"&gt;&lt;b&gt;&lt;span class="Apple-style-span" style="color: red;"&gt;symfiz(at)gmail.com&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6475552452743517525-667134654131022484?l=symfiz.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://symfiz.blogspot.com/feeds/667134654131022484/comments/default' title='Komentarze do posta'/><link rel='replies' type='text/html' href='http://symfiz.blogspot.com/2010/08/hello-world.html#comment-form' title='Komentarze (4)'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6475552452743517525/posts/default/667134654131022484'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6475552452743517525/posts/default/667134654131022484'/><link rel='alternate' type='text/html' href='http://symfiz.blogspot.com/2010/08/hello-world.html' title='Hello world!'/><author><name>brzegator27</name><uri>http://www.blogger.com/profile/03859403815816257680</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/_Bxp37P2giV4/TGjt7YSEz_I/AAAAAAAAAAM/w-59-xisxsw/s1600-R/2b490a90a03b0296dd252be04b9fd0fe.png'/></author><thr:total>4</thr:total></entry></feed>
