2011-06-21 17 views
11

Mam swój główny program w C++, ale teraz muszę zbudować piękną aplikację i wiem, że WPF jest łatwy i sprawia, że ​​piękne aplikacje. Czy WPF może pracować z C++ lub C# i C++? (Jeśli tak, to w jaki sposób?) Czy WPF jest dla mnie najlepszą rzeczą?WPF z C++, czy to możliwe?

+1

to nie pomoże ci z obecnymi Windows, ale wygląda na to, że W8 będzie miało dobrą natywną obsługę C++ dla fantazyjnych GUI: http://arstechnica.com/microsoft/news/2011/06/windows-8-for- programiści-deweloperzy-longhorn-dream-reborn.ars – gbjbaanb

Odpowiedz

14

Możesz użyć WPF w zarządzanym projekcie C++, ale lepiej jest trzymać swoje C++ w oddzielnym zespole i odwoływać się do niego z projektu WPF C# lub VB.

+0

Dziękuję za odpowiedź. Jestem trochę noobem :) więc jak mogę to zrobić tak łatwo? Czy masz dobry samouczek lub możesz mi powiedzieć, jak to zrobić, ponieważ znalazłem mnóstwo tutoriali w C# i WPF, ale nie znalazłem czegoś dla C++ i WPF. – Nazka

+0

Nie ma żadnych tutoriali na temat C++ i WPF, ponieważ WPF jest nowoczesny i działa lepiej w nowoczesnym języku, takim jak C#. Tak więc, jak mówię, utwórz interfejs użytkownika WPF za pomocą C#, a następnie odwołaj się do swojego zestawu C++. Oto przykład, jak to zrobić przy użyciu 'DllImport': http://www.dotnetperls.com/dllimport –

+0

Więc powinienem utworzyć projekt biblioteki klas w C++ z Visual2010, aby utworzyć moje biblioteki DLL i korzystać z tej biblioteki DLL w moim drugim aplikacja w C#? To jest to? Czy nie jest to ten rodzaj projektu dla C++? – Nazka

5

Tak, można opracować GUI za pomocą struktury WPF w Zarządzane C + lub C++/CLI. Ale nie są one standardem C++, a więc nie na wielu platformach.

Jeśli potrzebujesz tylko graficznego interfejsu użytkownika do swojej aplikacji napisanego w C++, możesz również wypróbować Qt. Zaletą Qt jest to, że jest całkowicie w C++. Nie Microsoft Managed C++. Druga zaleta to wieloplatformowy zestaw narzędzi. Oznacza to, że możesz uruchomić swoją aplikację w systemach Windows, Linux, Mac i na innych komputerach.

rzucić okiem na jego dokumentacji

Ma wiele narzędzi do szybkiego rozwoju, takich jak Qt Creator, Qt Designer i innych. Możesz zobaczyć je wszystkie, przeglądając powyższy link.

+0

Qt może tworzyć szybkie wykresy?Pracuję nad aplikacją finansową, więc moje wykresy będą miały około 5 tys. Punktów i linii, więc coś płynnego będzie słodkie. :) – Nazka

+0

@Nazka: Qt stworzy wykresy znacznie szybciej niż WPF, proszę mi wierzyć. – Nawaz

+1

@Nazka: Wystarczy pobrać zestaw narzędzi, jego bardzo mały rozmiar; pobranie nie zajmie dużo czasu. Pobierz i zobacz przykłady demonstracyjne, które pochodzą z samego zestawu narzędzi. Są bardzo ładne i fajne. – Nawaz

-3

WPF nie żyje wraz z Silverlight, należy pamiętać, MS mówi jej HTML5 tylko od teraz :)

Korzystanie WPF w C++ aplikacja może zostać osiągnięty za pomocą hwndSource, ale nie jest optymalnym rozwiązaniem, na które będzie musisz utworzyć aplikację GUI C# lub VB.NET i używać jej do komunikowania się z aplikacją C++ za pośrednictwem jakiejś formy IPC.

Istnieją alternatywy, prawdopodobnie najlepszym rozwiązaniem jest napisanie GUI za pomocą Qt, który jest bardzo szanowany. Możesz uzyskać podobne funkcje do WPF, pisząc przy użyciu QML obok starego systemu opartego na formularzach (co oznacza, że ​​uzyskujesz pełną szybkość rozwoju przy użyciu starych, nudnych pól tekstowych i tym podobnych, a także wymyślne zalety GUI korzystania z nowego, deklaratywnego interfejsu użytkownika system, wszystkie w tym samym systemie. sweet).

Oczywiście przyzwoitą opcją jest przekształcenie aplikacji w proces serwera zaplecza i wywołanie jej z interfejsu HTML5 opartego na serwerze WWW. To całkiem przyszłościowy dowód, łatwy do wdrożenia dla klientów i tak nowoczesny, jak to tylko możliwe.

+0

W twoim ostatnim rozwiązaniu, celem jest zbudowanie strony internetowej? Lub usługa internetowa? Jakie jest najlepsze narzędzie do interfejsu między moją aplikacją C++ a witryną internetową? (po prostu świetna baza danych z mySql może być?) – Nazka

+4

WPF + SL martwy? Cytuj swoje źródła, proszę, ponieważ w tym momencie to tylko brzydka plotka. Jeśli tylko projektujesz, nie rób tego tak, jakby to był fakt. – djdanlib

+0

@djdanlib: jest to plotka, że ​​należy słuchać, ponieważ nie jest całkowicie nieuzasadniona. Oto dzisiejsza rata: http://www.i-programmer.info/news/81-web-general/2640-skydrive-drops-silverlight.html Kłopot z dymem polega na tym, że często pod nim jest ogień. To może nie być prawda, ale to nie znaczy, że możesz całkowicie to zignorować. – gbjbaanb

Powiązane problemy