Как создать неуправляемый графический интерфейс Windows в Visual C ++? - PullRequest
3 голосов
/ 02 февраля 2010

Когда я создаю «Приложение Windows Forms», результирующая программа является управляемой. Создание приложения Win32 приводит к созданию собственного приложения, но когда я пытаюсь добавить форму, мне сообщают, что проект будет преобразован в CLI, если я продолжу. Как мне создать собственный графический интерфейс Windows с Visual C ++ 2008 Express Edition? Я, наверное, очень глупая, но не могу понять.

Ответы [ 10 ]

7 голосов
/ 02 февраля 2010

Либо используйте MFC, WTL или прямой Win32 API. Вы не можете использовать формы (или любые из .NET) без переключения на управляемый код.

2 голосов
/ 02 марта 2012

Это ответ на связанный вопрос. К сожалению, это было закрыто Робертом Харви, потому что он думает, что это дубликат. Это не так, извини Боб.

Лучшая библиотека для создания xll - http://xll.codeplex.com.. Вы можете использовать ее для создания элементарных пользовательских интерфейсов с использованием макросов Excel. Один пример этого можно найти в макросе ALERT.FILTER в xll / error.cpp

2 голосов
/ 02 февраля 2010

Вам просто нужно избегать управляемых библиотек. Скорее всего, это будет означать использование MFC для графического интерфейса вместо Windows Forms. Подробнее см. Страницы MFC MSDN .

К сожалению, VC ++ Express Edition не поддерживает MFC напрямую, поэтому вы будете более ограничены. Можно скомпилировать проекты MFC с помощью Express Edition, но вы потеряете все мастера и т. Д. Если вы серьезно относитесь к разработке неуправляемых графических интерфейсов, вам следует рассмотреть возможность перехода на SKU более высокого уровня.


Другой вариант - использовать Qt для GUI. Теперь это LGPL, так что его можно использовать бесплатно даже в коммерческих проектах C ++, и включает в себя полный дизайнер.

1 голос
/ 02 февраля 2010

Как и Рид Копси, MFC будет «стандартным» способом создания собственного неуправляемого графического интерфейса на платформе Windows. Однако MFC не входит в состав Visual Studio Express. Следовательно, вам нужно будет либо обновить до полной версии, либо использовать свободно доступную библиотеку C ++ GUI, такую ​​как wxWidgets .

Существует также wxFormsBuilder , если вы хотите редактор GUI.

Вы также можете перейти к «голому металлу» и коду прямо в Win32 API, возможно, вам понадобится некоторая помощь из библиотеки Common Control . Но вы попадете в мир боли;)

0 голосов
/ 28 июня 2017

Я заметил, что никто не упомянул JUCE , который можно использовать для создания кроссплатформенных пользовательских интерфейсов в C ++. Я думал, что это было довольно круто. Похоже, что он был расширен для поддержки мобильных устройств, так как я использовал его.

Личные и образовательные лицензии бесплатны. Лицензии «Pro» и «Indie» относительно дешевы.

0 голосов
/ 02 февраля 2010

Windows Forms - это графический интерфейс, написанный на управляемом коде, поэтому вы не можете использовать формы в собственном приложении.

В нативном приложении вам нужно создавать окна. Программирование Windows от Чарльза Петцольда - это исчерпывающая инструкция для этого. Это много работы по сравнению с использованием хорошего фреймворка. MFC (Microsoft Foundation Classes) - это платформа для собственных графических интерфейсов Windows. Я не знаю, поставляется ли это с VC ++ Express.

0 голосов
/ 02 февраля 2010

Большинство из приведенных выше ответов объясняют вещи довольно хорошо - если вы хотите заняться созданием чистой формы родного приложения Win32 (без MFC / WTL и т. Д.), Взгляните на учебники здесь: http://www.zetcode.com/tutorials/winapi/ для начала.Это третий раз, когда я связывался с этим сайтом здесь, но его уроки очень хороши.

Примечание - на этом этапе в этом нет ничего «визуального», кроме результата - все это делается в коде,хотя это говорит, что я не думаю, что это слишком сложно на самом деле.Это определенно будет хороший опыт программирования.

0 голосов
/ 02 февраля 2010

Windows Forms - это имя, данное графическому интерфейсу прикладного программирования (API), входящему в состав Microsoft .NET Framework, обеспечивающему доступ к собственным элементам интерфейса Microsoft Windows, оборачивая существующий Windows API в управляемый код.

0 голосов
/ 02 февраля 2010

Родные приложения не используют «формы». Для нативного приложения вы можете создать, например, приложение MFC. Если вы хотите, чтобы это было что-то вроде приложения на основе форм, вы можете указать мастеру, что вы хотите приложение на основе диалогового окна, или (на последней странице мастера) ваше представление происходит от CFormView вместо CView.

В качестве альтернативы, вы можете захотеть использовать WTL - хотя это означает написание практически всего вашего кода вручную вместо использования мастеров и т. Д.

0 голосов
/ 02 февраля 2010

Вам потребуется использовать встроенную среду приложения. Для Windows это означает MFC или библиотеки Win32. WinForms используют библиотеки .NET в фоновом режиме и поэтому должны управляться.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...