Дело в том, что я изучаю, как разрабатывать приложения Win32 в C++. Я использую Visual Studio и windows.h, и у меня плохое время. Я прихожу из Java и Android, где вы создаете класс, например MainWindow или OptionsWindow, а затем записываете внутри поведения и создаете его, когда захотите.
Но теперь я в C++, и я потерян. Все примеры, которые я вижу с помощью библиотеки windows.h, являются кодами, где Main является WinMain внутри окна. Итак, вот мой вопрос: есть ли способ писать разные классы для разных окон и создавать их, когда вам это нужно? что-то вроде
OptionWindow ow = new OptionWindow
Или я должен написать весь код каждого окна, который мне понадобится внутри WinMain, а затем сделать его видимым?
Помощь Очень ценится. Благодарю.
Если вы намерены использовать только C++, я бы рекомендовал создать приложение C++/MFC с VS2013. Классы Microsoft Foundation (MFC) были основой, которая скрывает большую часть усилий по созданию и обработке окон. С гораздо легче начать работу, чем с помощью программного обеспечения Win32.
В MSDN есть ряд руководств и статей, которые могут помочь вам приступить к работе. Я также нашел это разумное пошаговое руководство по программированию MFC. Если вы ищете Программу MFC, вы должны найти достаточное количество информации/кода/примеров.
Поскольку вы используете Visual Studio 2013, одно предложение комментаторов не применимо к вам. Существует предположение, что вы можете использовать C++/CLI (это эффективно.NET C++). C++/CLI часто является прокладкой, которая используется в качестве шлюза для перехода разработчика C++ на С#. Microsoft больше не поддерживает Winforms через среду IDE для приложений C++/CLI. Уже нет проекта приложений Winforms для C++/CLI. Если у вас есть winfs VS2010, то доступно через IDE.
Если вы пишете графический интерфейс и не хотите использовать MFC с C++, я бы рекомендовал перейти на С#. Найдите хорошую книгу на эту тему. У Microsoft есть онлайн-руководство, которое для Java-разработчиков переносится на С#.
Основываясь на комментарии OPs, он хотел бы сделать что-то более программно. Существует решение, которое было создано Microsoft и по-прежнему поддерживается сообществом с открытым исходным кодом. Эта опция - Библиотека шаблонов Windows (WTL). Я лично все еще использую его для приложений с небольшим весом, где я не хочу накладных расходов на MFC. Это набор шаблонов Windows, которые размещают верхний ATL (активная библиотека шаблонов). Первоначально ATL был разработан как набор шаблонов C++ для создания многоразовых двоичных компонентов с использованием COM.
Вы можете добавить WTL к VS2013 (это уже не часть стандартной Visual Studio). Вы можете загрузить WTL из http://sourceforge.net/projects/wtl/. Установка выполняется не прямо, а работает правильно.
Winapi использует простой интерфейс C, поэтому нет готовых классов.
Если вы хотите писать приложения.net в C++, вы можете использовать wpf (Windows Presentation Foundation) или winforms, как писал в своем комментарии huseyin.
Если вы хотите разрабатывать собственные приложения win32/64, вам нужно использовать библиотеку/фреймворк. У Microsoft есть MFC (Microsoft Foundation Classes), но IMHO они сложны и, следовательно, им не нравятся.
Вы также можете взглянуть на кросс-платформенные структуры как qt, gtk или wxWidgets. Однако там вы должны позаботиться о лицензии (qt доступен как GPL, LGPL или коммерческая лицензия, поэтому вам либо нужно покупать лицензии разработчика, либо поставить свой код под GPL, либо соответствовать LGPL).