2011-01-23 5 views
1

Эй, я видел некоторые вопросы по этой теме, но большинство из них только пытаются указать, лучше ли использовать IDE для создания графического интерфейса или нет, но это не мой вопрос ,Handcoding Windows GUI на C++ без IDE

Я хочу использовать некоторую IDE, такую ​​как Qt, для написания больших программ в будущем, но на данный момент я новичок в C++ и особенно в графических интерфейсах, и хочу узнать, как вручную кодировать простые приложения (например, «Hello World» -app с кнопкой, возможно, текстовое поле и функция, чтобы выплеснуть результат). Возможно, чтобы не обсуждать, почему я хочу это сделать: потому что мне нравится мучить себя, и особенно потому, что я ненавижу, если что-то (в этом случае IDE) создает что-то, чего я не понимаю, но тем не менее мне нужно работать с ним ,

Итак, есть ли какие-либо учебные пособия по этой теме, которые дают краткое введение в небольшие приложения для работы с небольшим C++ с помощью редактора, такого как notepad ++?

+0

Итак, вы хотите мучить себя. Но какой графический интерфейс/библиотека GUI вы бы хотели настроить? Qt (только библиотека, а не дизайнер), wxWindows, MFC или даже API Win32 напрямую? Последний был бы самым мазохистским. – stakx

+3

Вы должны сказать, планируете ли вы напрямую вызывать WinAPI (самый болезненный путь, но также и самый гибкий), или вы хотите использовать его абстракцию. Общей абстракцией является MFC (но, насколько я знаю, вам нужна хотя бы профессиональная версия Visual Studio для ее использования). Альтернативой (например, используемой Google Chrome) является WTL (http://en.wikipedia.org/wiki/Windows_Template_Library). Существуют и другие инструментальные средства GUI (часто не зависящие от платформы) как Qt (его часть GUI), wxWidgets, FLTK и т. Д., Которые абстрагируются еще больше. – Nubok

+0

Я не уверен (как я сказал, кровавый начинающий), но да, кажется, что WinAPI - это лучший способ начать. я узнаю, что учебник stakx опубликован сегодня вечером или завтра (нет времени этим вечером, в кинотеатре :)) и дайте «голосование вверх» и «ответ примет» сегодня, так как вы видите, что я новичок в stackoverflow :) надеюсь, что все, что помогло примите письменное спасибо, так что спасибо – Baarn

ответ

4

Вот учебник для создания графического интерфейса пользователя, который не требует какой-либо библиотеки, так как она ориентирована на родной Windows API:

Создание Win32-приложений (C++):
http://msdn.microsoft.com/en-us/library/bb384843.aspx

(Как пользователь Nubok написал в комментарии выше, программирование против Win32 API довольно напряженное. Но вы узнаете много о том, как Windows работает внутри.)

В этом учебнике предполагается, что вы работаете с Visual Studio; просто игнорируйте биты, где говорится о создании новых решений на основе шаблонов и т. д. Эти важные биты в этой статье являются примерами кода.

Когда речь заходит о компиляции и связывании кода, вам нужно будет проверить с помощью руководства вашего компилятора, как именно обращаться к внешним библиотекам и т. Д. Просто убедитесь, что вы включили библиотеку импорта Win32 API в процесс компоновки. (Посмотрите на что-то под названием win32.lib, win32api.lib или тому подобное.)

1

Существует отличное но датированное учебное пособие, охватывающее простые API-интерфейсы Windows GUI по адресу winprog.org. Он использует обычный C, хотя и не C++.

+0

спасибо за ваш ответ, я бы дал вам голосование, но я пока не могу :) c не совсем то, что я ищу, особенно потому, что я даже не могу сказать разницу между c и C++, но я думаю, что он учит некоторому базовому пониманию, а также – Baarn

7

Если вы хотите узнать, Win32 я (как и многие другие) рекомендуют книгу Чарльза Peztold в:

http://www.charlespetzold.com/pw5/index.html

Если это не изменилось с момента издания у меня есть, это не предполагает каких-либо IDE или рамок помимо самого Win32 и компилятора C. Это даст вам отличную основу в том, как работает OS/API и упрощает понимание инструментов и фреймворков, построенных поверх него (если вы решите их использовать).

+0

спасибо за ваш ответ, я думаю, что книга слишком много для меня, я только хочу получить базовые знания программирования GUI перед переходом на IDE. – Baarn

+0

Ваш выбор, но прочный фундамент поможет вам, даже если вы переключитесь на использование фреймворков и т. Д. Очень полезно понять, что делают такие вещи, как MFC, и почему, поскольку они делают вещи очень похожими на то, как они выглядят. (Для большого проекта MFC - это уровень обфускации, или, может быть, больше, чем помощь программисту.)) Все в Pezthold остается актуальным независимо от того, как вы программируете Windows; некоторые инструменты позволяют вам делать ярлыки. –