[C++]Jak zacząć programować w okienkach

Programowanie obiektowe w konsoli mam już w miarę dobrze opanowane. Mam do zrobienia projekt w postaci okienek na windowsa. Nigdy tak nie programowałem. Więc mam problem bo nie wiem co z czym ugryźć. Jaką książką mogę się wesprzeć albo jakąś stroną internetową gdzie mógł bym znaleźć jak się nauczyć tak programować ? Programowałem głównie w VisualStudio

Kompilator z tworzeniem GUI sobie ściągnąć,np. Dev C++ - ten jest darmowy.Robi się to tak - nanosi się okna,przyciski formatki na formularz,a potem dopisuje się do tego kod.np wybierasz przycisk Button,nanosisz go na formatkę i klikasz na niego wyświetla ci się wnętrze funkcji do jego obsługi - co ma się dziać po jego kliknięciu.Możesz się pobawić na początek przuciskami Button i polami tekstowymi Edit,komponenty te mają swoje funkcje.To są środowiska RAID - Rapid Aplication Development,okna,w których wybierasz plik do wczytania to tzw Dialogi Dialogs.Poczytaj sobie o bibliotece VCL i Qt.Z książek jak już chcesz możesz kupić lub wypożyczyć Borland C++ Builder,są tam opisane komponenty VCL i przykładowe kody żródłowe

W devie nie programuje. Mam licencje studencką na VisualStudio i wolę w nim pisać. Tam są jakieś projekty MFC itd ale nie wiem jak się do nich zabrać

W C++ najlepiej pisać w Qt można pisać na więcej systemów, nawet na komórki. Qt wygląda natywnie na Windows (np. Skype). Natywne programowanie to chyba teraz problem bo nie wiadomo czy brać się za stare WinAPI czy nowe Modern. Podniecanie się nowością też niepopłaca bo może się skończyć jak Silverlight :slight_smile:

WPF i Windows Forms to zestawy bilbiotek (jeżeli tak je mogę nazwać), które są nieco ponad język C++. Microsoft udostępnia własny twór o nazwie C++/CLI (Common Language Infrastructure). W dużym uproszczeniu jest to nadzbiór języka C++ upodabniający go odrobinę do mechanizmów i struktur danych języka C# (takich jak np gargabe collecting).

 

Mi się osobiście oba powyższe (WPF i Winforms) raczej kojarzą jako dobre rozwiązania tam, gdzie trzeba stworzyć coś szybko, niekoniecznie trwale, tzn np wtedy, gdy dana aplikacja może zostać wyparta za rok/dwa z powodu porzucenia WPF na rzecz “nowej lepszej platformy”. Jeżeli chciałbyś stworzyć jakąś dłużej rozwijaną aplikację, warto ją oprzeć o coś o bardziej trwałych i względnie stałych korzeniach.

 

MFC (Microsoft Foundadtion Classes) to imho taki potworek mający zamknąć WinAPI w ciele C++ i OOP.

 

Na dzień dzisiejszy, programowanie aplikacji okienkowych warto rozpocząć z wykorzystaniem bliiotek Qt albo wxWidgets.

W przypadku Qt dostarczone jest świetne RAD IDE (QtCreator), niezwykle wygodne w przypadku tworzenia Qt’owych aplikacji.

wxWidgets z drugiej strony bywa czasami przyrównywany do MFC (momentami słusznie). Zaletą w stosunku do MFC jest jednak nieco sensowniejsza moim zdaniem budowa oraz multiplatformowość. Pisząc GUI, zadziała ono na wielu systemach, nie tylko Windows (jak w przypadku winAPI, MFC, WPF, WinForms, projekt Mono przemilczę).

 

Jeżeli bardzo chcesz korzystać z VisualStudio (dobry kompilator C++) to możesz sobie:

Pisanie pod WinAPI jest ciężejsze,teraz buduje się aplikacje,bo WinAPI to podstawy podstaw,musi być główna funkcja WinMain().

Potem sam opisujesz strukturę okna,zajmujesz się obsługą zdarzeń,w WinApi zamiast na aplikacji,musisz się najpierw skupić na jej interface,bo praktycznie prawie nie masz gotowych komponentów,piszę o czystym WinAPI bez IDE

Tak się to robi najpierw ustawia się okna formatki,a potem je obsługuje

Czy QtCreator ma kontrole wersji git ?? Która współpracuje z githubem?

Magiczne zaklęcie kieruje prosto do odpowiedniej strony dokumentacji, która z kolei mówi, że tak.