Программирование графического интерфейса C++ win32, кратчайший путь?

Знаете ли вы о хороших способах изучения C++ win32 (не .Net / MFC / ATL / Wx / Qt ..) программирования графического интерфейса пользователя? Книга, учебное пособие, существующий проект, желательно практический подход с реалистичным примером .. Я не новичок, поэтому не против "продвинутых" отправных точек.

С благодарностью.

Пока все единодушны! Поговорим о получении четкого прямого ответа на вопрос!

dicroce 17.10.2008 19:11

да, хорошо спросите любого достаточно взрослого, чтобы помнить. Последняя ревизия была в 1998 году.

gbjbaanb 17.10.2008 19:14

Я озадачен, почему все рекомендуют «Программирование Windows». Он даже не содержит C++!

ilitirit 17.10.2008 19:30

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

KTC 18.10.2008 03:06
Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Приемы CSS-макетирования - floats и Flexbox
Приемы CSS-макетирования - floats и Flexbox
Здравствуйте, друзья-студенты! Готовы совершенствовать свои навыки веб-дизайна? Сегодня в нашем путешествии мы рассмотрим приемы CSS-верстки - в...
Тестирование функциональных ngrx-эффектов в Angular 16 с помощью Jest
В системе управления состояниями ngrx, совместимой с Angular 16, появились функциональные эффекты. Это здорово и делает код определенно легче для...
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
13
4
19 139
13

Ответы 13

Книга Чарльза Петцольда - лучшая.

Программирование Windows

«Окна программирования» НЕ содержат примеров C++. Это строго руководство по C / Win32.

ilitirit 17.10.2008 19:31

Если вы можете научиться делать это на C и знаете C++, прыжок будет действительно тривиальным.

Eclipse 17.10.2008 20:46

Это C, но это то, что в основном представляет собой Win32 SDK, API в стиле C. Все, что связано с C++, начинает превращаться в «фреймворк» (мусор поверх необработанного API), которого OP говорит, что он не хочет. Однако стоит отметить ...

Aardvark 17.10.2008 23:47

Окна программирования Петцольда, если сможете найти копию. Все графические элементы Win32 все еще находятся под MFc / Winforms и т. д. http://www.charlespetzold.com/pw5/index.html

edit - как кто-то упомянул, api win32 - это чисто «C», как и все примеры в Petzold. На самом деле это не имеет значения, если вы вызываете их из C++, за исключением того, что вам придется понимать обычные строки C.

Библия всего программирования Win32 (включая, но не ограничиваясь темами GUI) - Книга петцольда.

Убедитесь, что вы получили версия 4 или выше, так как предыдущие версии 16-битные!

Значит, версии до 3 не охватывают win32?

Adam Davis 17.10.2008 19:11
кхм, это версия 4 или выше. Нет, до этого не было Win32. См. Мой отредактированный ответ.
gbjbaanb 17.10.2008 19:12

Я много узнал о графическом интерфейсе Win32 от Iczelion уроки. Они в основном предназначены для сборки win32, поэтому образцы исходного кода находятся в MASM, а не на C++, но все же механизмы графического интерфейса Windows описаны довольно хорошо. Да и сам API от языка все равно не зависит.

На канале #Efnet WinProg есть достойное руководство и FAQ. Однако это не строго руководство по C++.

http://www.winprog.org/tutorial/

Не существует такого понятия, как «программирование графического интерфейса пользователя C++ Win32». C++ используется для многих библиотек-оболочек, которые вы видите вокруг (на ум приходят QT и MFC). Однако программирование на чистом Win32 носит чисто процедурный характер, если не концептуально. Это началось на Паскале, затем было переработано на C, и с тех пор оно никуда не делось.

TITCR. Вопрос OP бессмыслен, вы не можете запрограммировать win32 на C++, потому что win32 - это C API.

Roel 17.10.2008 20:58

Это так неправильно. Win32 очень объектно-ориентированный и управляемый событиями, а не процедурный. Повсюду есть подтипы, полиморфизм, повторное использование кода, что угодно. (И я говорю не только об API, реализованных с помощью COM, хотя их много)

Ben Voigt 05.03.2011 07:47

Вот что я имел в виду, говоря «если не в концепции».

user3458 08.03.2011 16:55

Вы также можете взглянуть на исходный код WTL.

Думаю, я усвоил это на собственном горьком опыте - полностью изучив файлы справки VC6. :-) Я считаю, что файлы VC8 гораздо менее полезны для программирования Win32 в целом, потому что они пронизаны MFC, COM, WinCE и другими вещами, которые вы не всегда можете отфильтровать.

(Я знаю, что этот ответ не так уж и полезен, я просто говорю, как научился я.)

  • Петцольд

  • MSDN

  • Расширенная группа новостей API Win32 comp.os.ms-windows.programmer.win32 (недокументированный API и любой исходный код API Win32)

Вот список некоторых онлайн-руководства по Win32 и список ссылок на файлы справки WIN32 SDK.

Мне лично нравится Borland Win32 SDK в формате Winhelp (по ссылке выше), поскольку он охватывает все основы Win32 и его легче искать, чем что-то вроде MSDN.

MSDN отлично подходит, если вы знаете, что делаете, но я подозреваю, что он может сбить с толку новичков.

почему C++, почему не просто C и WIN32? Это намного проще ... Петцольд - ваш ответ.

Руководство по программированию Win32 API от theForger описывает себя как «попытку помочь вам начать разработку с Win32 API как можно быстрее и понятнее», и что его проекты и решения написаны для Visual C++. Он также доступен в виде PDF-файла, длина которого составляет всего 108 страниц.

Я получил опыт работы с Win32 из руководств Forger по winprog. Мне потребовался почти год, чтобы освоить это, и позвольте мне сказать вам, я не был программистом на C в то время, но теперь я им. Также, проходя через них, купите копию программы ANSI C от Ричи и Кернигана II редакции.

Для начала используйте Visual C Express. Я пишу свои программы Win32 / C, используя терминал Windows SDK.

Другие вопросы по теме