Przeglądarka graficzna w C++

Przeglądarka graficzna w C++
mbar254
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 47
0

Witajcie.

Jako projekt z programowania mam do napisania przeglądarkę graficzną, która dodatkowo dawałaby możliwość manipulowania obrazami przy pomocy Windows Animation Manager. Prowadzący zajmuje się głównie programami pod Windowsa, dlatego też pomyślałem o WinAPI, chociaż wiem, że nie jest ono przyjemne. Chciałbym, aby przeglądarka ta miała możliwość wyświetlania w oknie miniatur obrazków z danego folderu i po kliknięciu np. płynne rozszerzanie czy inne bajery (nie czytałem jeszcze o windows animation manager, więc nie wiem jakie mam możliwości). Zastanawiam się w czym jeszcze/przy pomocy jakich bibliotek mógłbym napisać taką aplikację. Moglibyście może podpowiedzieć?

Proszę o poważne podejście, gdyż do tej pory napisałem tylko 1 aplikację okienkową (w WinAPI).

vpiotr
  • Rejestracja: dni
  • Ostatnio: dni
0

Daj znać jak Ci się uda, będziesz pierwszym kogo poznam kto programuje w WinAPI i nie jest to ASM...

Shalom
  • Rejestracja: dni
  • Ostatnio: dni
  • Lokalizacja: Space: the final frontier
  • Postów: 26433
1

nie wyglupiaj się, mamy rok 2013, użyj czegoś normalnego jak Qt

MA
  • Rejestracja: dni
  • Ostatnio: dni
0

Dokładnie. A jak bardzo chcesz coś wybitnie to .NET. Zlituj się. Nie pisz w Winapi...

Shalom
  • Rejestracja: dni
  • Ostatnio: dni
  • Lokalizacja: Space: the final frontier
  • Postów: 26433
0

Ja mogę zrozumieć ze niskopoziomową komunikację z RS232 czy USB chcesz robić w WinAPI, ale jak chcesz napisać przeglądarkę grafik z jakimś normalnym GUI to zlituj się nad sobą i swoim czasem i wykorzystaj gotowe istniejące narzędzia. To jest jedyna ludzka porada jaką można komuś zaserwować. Poważnie chcesz korzystać z technologii która jest starsza od ciebie?
Czekam na twój następny temat gdzie będziesz pytał o hinty dotyczące pisania w kodzie maszynowym bo asembler ci się nie podoba :)

vpiotr
  • Rejestracja: dni
  • Ostatnio: dni
1

A co myślicie o połączenia MFC i WinAPI w Visual C++? Znalazłem książkę, która to opisuje, ale o MFC nie mam zielonego pojęcia.

AFAIK z WinAPI korzysta się tylko w zagadnieniach poza-okienkowych - zarządzanie procesami, rejestr, schowek.
MFC nie jest dowstępne w wersji Express.
Sam Microsoft chyba ucieka z tej technologii - dlaczego Ty chcesz się w nią pchać?
Jeśli robisz GUI to zrób to w Qt lub ew. wxWidgets.

MA
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 49
1
mbar254 napisał(a):

Witajcie.

Jako projekt z programowania mam do napisania przeglądarkę graficzną, która dodatkowo dawałaby możliwość manipulowania obrazami przy pomocy Windows Animation Manager. Prowadzący zajmuje się głównie programami pod Windowsa, dlatego też pomyślałem o WinAPI, chociaż wiem, że nie jest ono przyjemne. Chciałbym, aby przeglądarka ta miała możliwość wyświetlania w oknie miniatur obrazków z danego folderu i po kliknięciu np. płynne rozszerzanie czy inne bajery (nie czytałem jeszcze o windows animation manager, więc nie wiem jakie mam możliwości). Zastanawiam się w czym jeszcze/przy pomocy jakich bibliotek mógłbym napisać taką aplikację. Moglibyście może podpowiedzieć?

Proszę o poważne podejście, gdyż do tej pory napisałem tylko 1 aplikację okienkową (w WinAPI).

W WinApi pisze się bardzo przyjemnie i tak samo szybko jak w innych środowiskach. Napisałem wiele
aplikacji na bazie winapi. Samo w sobie WinApi jest bardzo dobre. Niestety WinApi udostępnia tylko
podstawowy zestaw komponentów i trudno jest znaleźć takie komponenty. Generalnie ja rzeźbiłem
wszystko od podstaw, rzadko mogłem zakupić komponent do ponownego użycia. W dodatku nie powstało
dedykowane środowisko RAD do programowania w WinApi, trzeba klepać wszystko ręcznie, można się
jedynie wspomagać prościutkim edytorem zasobów w Visual Studio. Podsumowując, to prosty zestaw
komponentów i procedur, ale bardzo dobry i przyjemnie się w tym pisze.

byku_guzio
  • Rejestracja: dni
  • Ostatnio: dni
1

To chyba nigdy nie pisałeś w niczym poza WinAPI. Robienie w tym czegoś większego od okna dialogowego to koszmar. Nie mówiąc już, że sensowne zaprojektowanie aplikacji korzystającej bezpośrednio z WinAPI jest raczej trudne.

WinAPI to nie zestaw komponentów tylko pełne API systemu(strukturalne). Oferuje bardzo niski poziom abstrakcji, wymaga bardzo dużej ilości kodu w celu realizacji najprostszych funkcjonalności.
Jedynym argumentem za tworzeniem okienek bezpośrednio w WinAPI jest konieczność zrobienia czegoś bardzo nietypowego(ale nic takiego, czego nie dałoby się zrealizować w sensowniejszych narzędziach, nie przychodzi mi do głowy).

mbar254
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 47
0

Zdecydowałem się wstępnie na Qt. Prosiłbym o podesłanie kilku tutoriali do GUI w Qt, które Waszym zdaniem zawierają najwięcej informacji. Mam już kilka, ale nadal szukam (im więcej tym lepiej).

vpiotr
  • Rejestracja: dni
  • Ostatnio: dni
1
mariotti napisał(a):

W dodatku nie powstało
dedykowane środowisko RAD do programowania w WinApi, trzeba klepać wszystko ręcznie, można się
jedynie wspomagać prościutkim edytorem zasobów w Visual Studio.

Powstało - ale dla C:
Pelles C - http://www.smorgasbordet.com/pellesc/

Azarien
  • Rejestracja: dni
  • Ostatnio: dni
2

Wyrażę trochę inne zdanie niż większość odpowiadających ;-)
Jeśli już masz użyć Windows Animation Manager, czyli i tak w zasadzie części WinAPI, można by się tego właśnie trzymać, i pokazać co rzeczywiście da się zrobić w WinAPI, bez użycia zewnętrznych bibliotek. Tak na pokaz, by udowodnić że się da ;-)

Mam tu na myśli głównie użycie Windows Imaging Component do ładowania plików graficznych, a do wyświetlania – Direct2D/Direct3D albo GDI+.

W ten sposób napisać aplikację, która będzie w 100% korzystała z API Microsoftu.

W dzisiejszych Windowsach wbudowanych jest naprawdę bardzo dużo różnych gotowych bibliotek. Wiem że tworzenie GUI w WinAPI do przyjemnych nie należy, ale zapomina się o całej reszcie (albo nie wie o istnieniu). Przykład? załóżmy, że pada na forum pytanie, jak odegrać muzykę MP3. pytający dostaje w odpowiedzi użycie zewnętrznych bibliotek jak FMOD czy BASS - ściąga ja, instaluje, kompiluje...
...a wystarczyłby 5-linijkowy przykład użycia DirectShow.
To tylko przykład, ale naprawdę polecam poczytanie dokumentacji Microsoftu (a zaczęcie od spisu treści) żeby chociaż wiedzieć, jakie API są w Windows dostępne.

mbar254
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 47
0

Zdecydowałem się jednak na Qt, chociaż nic w nim nigdy nie robiłem. Najwyższy czas nauczyć się chociaż podstaw. Chciałbym, aby przeglądarka wyglądała podobnie jak ta: user image.
Wiem już jak zrobić drzewo folderów, ale nie wiem jak wyświetlić miniaturki plików graficznych. Znalazłem jedynie sposób na wyświetlenie listy plików w listView. Czy da się to zrobić używając GraphicsView i ewentualnie jeśli możecie to podpowiedzcie jakie metody będą przydatne?

Shalom
  • Rejestracja: dni
  • Ostatnio: dni
  • Lokalizacja: Space: the final frontier
  • Postów: 26433
mbar254
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 47
0

Tak, poważnie :P Nie każdy jest tak dobry jak Ty! Dzięki za linki, na pewno dużo pomogą.

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.