2011-06-21 3 views
11

У меня есть моя основная программа на C++, но теперь мне нужно создать красивое приложение, и я знаю, что WPF прост и подходит для красивых приложений. Может ли WPF работать с C++ или C# и C++? (Если да, как?) Является ли WPF лучшим для меня?WPF с C++, возможно ли это?

+1

это не поможет вам с текущей Windows, но похоже, что у W8 будет хорошая поддержка C++ для графических интерфейсов: http://arstechnica.com/microsoft/news/2011/06/windows-8-for- разработчик-разработчик-longhorn-dream-reborn.ars – gbjbaanb

ответ

14

Вы можете использовать WPF в управляемом проекте на C++, но вам лучше сохранить свой C++ в отдельной сборке и ссылаться на него из проекта C# или VB WPF.

+0

Спасибо за ваш ответ. Я немного нуб :), так как я могу сделать это легко? У вас есть хороший учебник или вы можете сказать мне, как это сделать, потому что я нашел много учебников в C# и WPF, но я не нашел что-то для C++ и WPF. – Nazka

+0

В C++ и WPF нет учебников, потому что WPF является современным и работает лучше с современным языком, таким как C#. Итак, как я уже сказал, создайте свой пользовательский интерфейс WPF с помощью C#, а затем обратитесь к своей сборке на C++. Вот пример того, как это сделать с помощью 'DllImport': http://www.dotnetperls.com/dllimport –

+0

Итак, я должен создать проект библиотеки классов в C++ с Visual2010, создать свои DLL-файлы и использовать эти DLL в своей второй приложение в C#? Это оно? Или это не такой проект для C++? – Nazka

5

Да, вы можете разработать графический интерфейс с использованием инфраструктуры WPF в Управляемый C + или C++/CLI. Но они не Standard C++, следовательно, не являются кросс-платформенными.

Если вам нужен графический интерфейс для вашего приложения, написанный на C++, вы можете попробовать также Qt. Преимущество в Qt заключается в том, что он полностью на C++. Не управляется Microsoft C++. Второе преимущество - это кросс-платформенный инструментарий. Это означает, что вы можете запускать свое приложение в Windows, Linux, Mac и других машинах.

Посмотрите на его документации

Он имеет множество инструментов для быстрой разработки, таких как Qt Creator, Qt Designer и другие. Вы можете просмотреть их все, просмотрев вышеуказанную ссылку.

+0

Qt может создавать быстрые графики?Я работаю над финансовым приложением, поэтому мои диаграммы будут иметь что-то вроде 5 тыс. Точек и линий, поэтому что-то хорошее будет сладким. :) – Nazka

+0

@Nazka: Qt создаст графики намного быстрее, чем WPF, поверьте. – Nawaz

+1

@ Назка: просто скачайте инструментарий, его очень маленький размер; не потребуется много времени для загрузки. Загрузите и просмотрите его демонстрационные примеры, которые поставляются с самим инструментарием. Они очень красивые и крутые. – Nawaz

-3

WPF мертв вместе с Silverlight, помните, что MS говорит его HTML5 только теперь :)

Использование WPF в вашем C++ приложение может быть достигнуто с помощью hwndSource, но не является оптимальным решением, для этого вы необходимо создать приложение C# или VB.NET GUI и использовать его для связи с вашим приложением C++ с помощью какой-либо формы IPC.

Есть альтернативы, возможно, лучший из них - написать свой графический интерфейс, используя Qt, который очень уважаем. Вы можете получить аналогичные функции в WPF, написав с помощью QML вместе со старой системой на основе форм (что означает, что вы получаете всю скорость разработки старых, скучных текстовых полей и т. П.), А также преимущества графического интерфейса пользователя от использования нового декларативного интерфейса система, все в одной системе. сладкий).

Конечно, достойный вариант - сделать ваше приложение встроенным серверным процессом и вызвать его из пользовательского интерфейса HTML5 на основе веб-сервера. Это довольно перспективное доказательство, простое развертывание для клиентов и столь же современное, как вы, вероятно, получите.

+0

В вашем последнем решении целью является создание веб-сайта? Или веб-сервис? Каков наилучший инструмент для интерфейса между моим C++-приложением и веб-сайтом? (просто отличная база данных с mySql может быть?) – Nazka

+4

WPF + SL dead? Приведите свои источники, пожалуйста, потому что на данный момент это всего лишь уродливый слух. Если вы просто проецируете, пожалуйста, не делайте этого, как будто это факт. – djdanlib

+0

@djdanlib: его слухи, что вам посоветовать продолжать слушать, поскольку он не совсем точно необоснован. Вот сегодняшний взнос: http://www.i-programmer.info/news/81-web-general/2640-skydrive-drops-silverlight.html. Проблема с дымом заключается в том, что на самом деле существует огонь под ним. Это может быть неверно, но это не значит, что вы можете полностью игнорировать его. – gbjbaanb

Смежные вопросы