Windows GUI C ++ Программирование - PullRequest
9 голосов
/ 28 февраля 2009

Я хочу научиться программировать на C ++ с помощью Visual Studio 2008. Хотя я не уверен, с чего начать. Я изучал C ++ в средней школе, но не GUI. Я занимаюсь C # около 3 лет, и вот как я «выучил» программирование GUI. Теперь я хочу научиться писать GUI без использования .NET Framework, так с чего мне начать?

Ответы [ 7 ]

8 голосов
/ 28 февраля 2009

Поскольку вы говорите, что занимались программированием на C # GUI около 3 лет, я предполагаю, что это означает Windows Forms. Один из способов опустить носок в воду - помнить, что WinForms - это просто объектно-ориентированная оболочка вокруг user32. Загрузите Reflector и посмотрите, как реализованы некоторые элементы управления. Вы увидите, что эти странные сообщения, такие как WM_PAINT и WM_KEYDOWN, передаются в WndProc различных элементов управления Windows. В простом старом программировании на Win32 или MFC то же самое происходит и сейчас. Делая это, вы будете медленно отшелушивать слои лука; вы также получите лучшее представление о том, как работает Windows Forms. Оттуда я бы порекомендовал взять Программирование Windows от Petzold; он старый, но нативные API в Windows не перемещаются вокруг , что . Веселись!

8 голосов
/ 28 февраля 2009

Чарльз Петцольд "Программирование Windows 5-е издание" - это Библия для программирования Windows.

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

7 голосов
/ 28 февраля 2009

MFC почти устарел. Я бы рекомендовал вместо этого использовать WTL.

Ну и начинать программирование для GUI на C ++, когда есть так много хороших фреймворков, как кроссплатформенный фреймворк QT, тоже не очень хорошая идея.

5 голосов
/ 28 февраля 2009

Некоторые еретические мнения ...

Я бы не рекомендовал C ++ для написания сложных графических интерфейсов Windows - языковые / библиотечные комбинации, такие как C # или Delphi, намного более продуктивны. Если вы хотите заняться программированием на C ++, я бы предложил использовать его для написания многопоточного сервера - простой веб-сервер подойдет для начинающих.

И если вы действительно хотите понять базовые API-интерфейсы Windows, я думаю, что есть что сказать для написания простого приложения (например, упрощенной версии ноутбука) на C (не C ++). Вы захотите сделать это только один раз, но в процессе вы многому научитесь.

И прежде чем кто-то начнет безумно понижать голосование, позвольте мне сказать, что я программист на C ++ более 20 лет и действительно люблю язык.

2 голосов
/ 28 февраля 2009

А, я знаю, как вы себя чувствуете, программист, интерпретирующий старые языки, который хочет знать магию скомпилированного программирования. Ну, я не могу найти учебник, который я использовал для изучения программирования Windows, но просто знаю, что есть хорошие учебники по win32, так что вы не тратите время на покупку книги. Я нашел это: http://www.relisoft.com/win32/index.htm Самый лучший урок, поверь мне.

2 голосов
/ 28 февраля 2009

Было бы хорошо с вами писать GUI на VC ++, используя Microsoft Foundation Classes или MFC? Так я и писал в прошлом графические интерфейсы VC ++.

За эти годы было написано много книг о МФЦ. Я уверен, что любой из них будет хорошо. Вы можете найти в литературе справочную версию ATL, которая является итерацией Microsoft по STL. MFC и ATL слились за эти годы, поэтому все, что ATL также применимо к приложениям MFC в наши дни.

Удачи и веселья!

0 голосов
/ 21 августа 2013

На данный момент (Windows 8), WinRT, Microsoft представила аудитории совершенно новый API, и я очень взволнован этим. Никогда не занимался программированием MFC, но видел несколько примеров кода, и они выглядят странно в стиле C 90-х (современный стиль C часто лучше!). Итак, не собираясь начинать непосредственно с MFC, я думаю, что я начну с WinRT

:)

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