оригинал: http://blogs.msdn.com/b/vcblog/archive/2011/07/25/10189090.aspx
Мы получили только что опубликованную серию статей «Разработка приложений Windows на C++», написанную Кейт Грегори (Kate Gregory), обладающую званием MVP в области C++ (MVP Most Valuable Professional [наиболее ценный специалист] звание, присваиваемое компанией «Microsoft» лицам, не являющимся ее работниками, но внесшими выдающийся вклад в популяризацию ее продуктов и обучению работе с ними). Этот материал предназначен для разработчиков на C++, которые хотят разобраться в том, как писать приложения Windows. Эти статьи не научат вас программировать на C++ и не научат работе в Windows в качестве пользователя. Но если вы уже знаете C++ и Windows, и хотите научиться писать приложения, вы попали туда, куда нужно. Материал разделен на 6 глав.
1. Инструменты, которые вам понадобятся
http://msdn.microsoft.com/visualc/hh312853.aspx
В этой главе вы узнаете о Windows SDK [SDK Software Development Kit комплект инструментов разработчика программ] и о том, как получить его. Вам расскажут о среде разработки программ «Visual Studio» и объяснят разницу между различными ее версиями. Все примеры и демонстрационные версии программ в этой статье были разработаны с помощью «Visual Studio 2010 Express», которую можно скачать бесплатно.
2. Основы Windows
http://msdn.microsoft.com/visualc/hh312793.aspx
Вы поймете, как работает Windows внутри. Вы встретитесь с такими словами, как «сообщение» (message) и «обработчик» (handle), общеизвестными в среде программистов для Windows. Терминология Windows может отличаться от той, к которой вы привыкли, и эта глава расставит для вас по полочкам большую часть терминов, которые вам не понятны в программировании для Windows. Также вы узнаете о различных способах, с помощью которых Windows взаимодействует с вашим приложением и обеспечивает для него функциональность, которую должна обеспечивать операционная система.
3. Простейшее приложение для Windows
http://msdn.microsoft.com/visualc/hh314556.aspx
В этой главе вы узнаете, как написать простейшие приложения для Windows, поймете их структуру и то, как они работают. Это понадобится вам при написании каждого приложения для Windows. Также вы разберете код, генерируемый «Visual Studio» при создании в этой среде нового приложения («стартовый код»), и то, чем он отличается от простейшего приложения для Windows.
4. Типовые задачи, возникающие при программировании для Windows
http://msdn.microsoft.com/visualc/hh313028.aspx
Эта глава начинается разъяснением того, как можно преобразовать «стартовый код» 3-й главы из коллекции функций в стиле языка C в более объектно-ориентированное приложение на C++. Далее показано, как с помощью Direct2D можно нарисовать простейший пользовательский интерфейс (UI User Interface). Далее созданный пример улучшается добавлением реакций на мышь и клавиатуру, а затем и добавлением средств управления (controls). Также вы сможете разобраться в том, как показать пользователям окно с сообщением (message box). Всё это даст вам все необходимые строительные блоки для создания пользовательского интерфейса вашего будущего приложения.
5. Работа с COM
http://msdn.microsoft.com/visualc/hh312851.aspx
Большая часть функциональности Windows обеспечивается через COM Component Object Model [дословно «объектная модель компонентов», стандарт взаимодействия программ]. Эта глава рассказывает о том, как использовать функциональность, предлагаемую Windows через COM. Здесь излагаются концепции COM, демонстрируется вызов через COM функций Windows для воспроизведения текста голосом и разъясняются многие шаблоны и соглашения, используемые в программировании почти каждого приложения, использующего COM, которое вы могли где-либо видеть.
6. Дальнейшие шаги
http://msdn.microsoft.com/visualc/hh302879.aspx
Эта глава рассказывает о девяти других технологиях программирования для Windows, которые могут быть вам интересны, и предлагает ссылки на статьи, с которых вы можете начать знакомиться с ними более подробно. С основами программирования для Windows, которые вы усвоили в этих первых шести главах, вы можете начать изучение и встраивание многих других технологий в ваши собственные приложения для Windows.