1473

Win API 32. Программирование на C

Книга

Информатика, кибернетика и программирование

Литература по API Windows. Краткая история Windows. Цикл обработки сообщений Windows. Стили окна, overlapped window, pop-up window. Структура сообщения MSG. Окно сгенерированного приложения.

Русский

2013-01-06

337.13 KB

49 чел.


Win API 32
Программирование на C
© Яблонский С. А., 2000-2003


Литература по API Windows
Petzold
Библиотека системного программиста

11, 12, […] 26.
MSDN



Краткая история Windows
1981 г. MS-DOS - Microsoft Disk 
Operating System
1984 г. Apple разработала Macintosh и 
первую графическую среду
1985 г. Microsoft Windows версии 1.0 
1987 г. Windows версии 2.0


Краткая история Windows
1987 г. Windows версии 2.0
1. использования перекрывающихся окон,
2. улучшенный интерфейс клавиатуры и 
манипулятора мышь, 
3. а также, отчасти, окон меню и диалога, 
4. процессоры Intel 8086 или 8088, 
работающие в реальном режиме,
5. доступ осуществлялся к 1 мегабайту 
оперативной памяти. 


Краткая история Windows
1987 г. Windows версии 2.0
1. использования перекрывающихся окон,
2. улучшенный интерфейс клавиатуры и 
манипулятора мышь, 
3. а также, отчасти, окон меню и диалога.


Краткая история Windows
Windows версии 3.1 появилась в 
апреле 1992 года. 
1. технология TrueType для шрифтов (что 
дало возможность масштабировать 
шрифты для Windows), 
2. multimedia (звук и музыка), 
3. OLE и диалоговые окна общего 
пользования. 


Краткая история Windows
июль 1993 года Windows NT
1. первая версия Windows, поддерживающая 
32-разрядную модель программирования 
для процессоров Intel 80386 и 80486, а 
также Pentium. 
2. Windows NT имеет сплошное плоское (flat) 
32-разрядное адресное пространство и 32-
разрядные целые. 


Краткая история Windows
Windows 95 появилась в августе 1995 года. 
1. Windows 95 поддерживает 32-разрядную модель 
программирования (требуя, таким образом, для 
себя процессор 80386 и выше). 
2. нет некоторых возможностей Windows NT, таких 
как высокая степень безопасности и 
переносимость для работы с машинами, 
созданными по RISC-технологии; 
3. способна работать на компьютерах, имеющих 
всего 4 мегабайта оперативной памяти.



Цикл обработки сообщений 
Windows




Константы


Стили окна
три основных стиля окон 
перекрывающиеся окна (overlapped 
window), 
временные окна (pop-up window) и 
дочерние окна (child window).



overlapped window
Перекрывающиеся окна обычно используются в 
качестве главного окна приложения. 
Такие окна имеют заголовок (title bar), рамку и, 
разумеется, внутреннюю часть окна (client 
region). 
Дополнительно перекрывающиеся окна могут 
иметь (а могут и не иметь) системное меню, 
кнопки для максимального увеличения 
размера окна и для сворачивания окна в 
пиктограмму, вертикальную и 
горизонтальную полосу просмотра (scroll bar) 
и меню. 


overlapped window
Приложение Windows может создавать 
несколько окон, связанных между собой 
"узами родства" и "отношениями 
собственности". 
В частности, при создании перекрывающегося 
окна при помощи функции CreateWindow в 
качестве восьмого параметра функции вы 
можете указать так называемый 
идентификатор окна-владельца. Окно-
владелец уже должно существовать на 
момент создания второго окна, имеющего 
владельца. 


overlapped window
Таким образом, если вы создаете несколько 
перекрывающихся окон, одни окна могут принадлежать 
другим. 
Если окно-хозяин сворачивается в пиктограмму, все окна, 
которыми оно владеет, становятся невидимыми. Если вы 
сначала свернули в пиктограмму окно, которым владеет 
другое окно, а затем и окно-хозяин, пиктограмма первого 
(подчиненного) окна исчезает. 
Если вы уничтожили окно, автоматически уничтожаются и 
все принадлежащие ему окна. 
Обычное перекрывающееся окно, не имеющее окна-
владельца, может располагаться в любом месте экрана и 
принимать любые размеры. Подчиненные окна 
располагаются всегда над поверхностью окна-владельца, 
загораживая его. 


overlapped window
Константа WS_OVERLAPPED определяет базовый 
стиль окна - перекрывающееся окно. 
Стиль WS_OVERLAPPEDWINDOW в добавление к 
базовому указывает, что окно должно иметь 
заголовок (константа WS_CAPTION), системное 
меню (WS_SYSMENU), толстую рамку для 
изменения размера окна (WS_THICKFRAME), 
кнопку минимизации размера окна 
(WS_MINIMIZEBOX) и кнопку для максимального 
увеличения размера окна (WS_MAXIMIZEBOX). 
Если окно имеет заголовок, вы можете его перемещать 
по экрану. 


pop-up window
Временные окна могут иметь окно владельца и могут 
сами владеть другими окнами. Все замечания, 
сделанные нами относительно владения 
перекрывающимися окнами, справедливы и для 
временных окон. 
Начало системы координат, используемой при 
создании временных окон, находится в левом верхнем 
углу экрана. Поэтому при создании временных окон 
используются экранные координаты (так же, как и при 
создании перекрывающихся окон). 
При изменении размеров временного окна (так же, как 
и дочернего) функция окна получает сообщение 
WM_PAINT, в параметрах которого указаны новые 
размеры окна. 
В общем случае вы можете рассматривать временные 
окна как специальный вид перекрывающихся окон. 


pop-up window
Временные окна имеют стиль WS_POPUP, 
определенный в файле windows.h следующим 
образом: #define WS_POPUP 0x80000000L 
Временные окна, в отличие от 
перекрывающихся, могут не иметь заголовок 
(title bar). Если для временного окна определен 
заголовок, оно может иметь и системное меню. 
Часто для создания временных окон, имеющих 
рамку, используется стиль 
WS_POPUPWINDOW
Если надо добавить к временному окну 
системное меню и заголовок, стиль 
WS_POPUPWINDOW следует использовать в 
комбинации со стилем WS_CAPTION, 
добавляющим заголовок. 


child window
Дочерние окна чаще всего используются 
приложениями Windows. Эти окна нужны для 
создания органов управления, например таких, 
как кнопки или переключатели. Windows имеет 
множество классов, на базе которых созданы 
стандартные органы управления - кнопки, 
полосы просмотра и т. п. Все эти органы 
управления представляют собой дочерние окна. 
Позже вы будете ими активно пользоваться. 
Базовый стиль дочерних окон определяется при 
помощи константы WS_CHILD


windows.h
Исходные тексты любого 
приложения Windows включают 
файл windows.h: 
#include <windows.h> 
Этот файл содержит множество 

определений типов данных, 
макросов, прототипов функций, 
констант и т. д.


windows.h
Для разработки приложений 
Windows используется большое 
количество типов данных и 
констант, определенных в таких 
файлах, как windows.h, commdlg.h и 
других. 
Эти типы данных как бы замещают 

собой стандартные типы данных 
языка Си.


windows.h
Этот файл содержит описание базовых 
типов и производных, созданных из базовых. 
Имена типов (как правило, это указатели) 

могут начинаться с префикса. 
Префикс LP означает дальний указатель 

(Long Pointer), префикс NP - ближний 
указатель (Near Pointer), и префикс P -
указатель без определения типа. Для 
константных типов данных (определенных с 
ключевым словом const) после префикса 
добавляется буква "C", например, LPCSTR.



windows.h


Структура сообщения MSG
typedef struct tagMSG { 
HWND hwnd
UINT message

WPARAM wParam

LPARAM lParam

DWORD time

POINT pt
} MSG;



WM_COMMAND
WM_COMMAND
WPARAM wParam;
LPARAM lParam;

wParam: 
wld (идентификатор органа управления)
+ wCmd (код извещения)
lParam:
hWnd (идентификатор окна пославшего 

сообщение)


WM_COMMAND
WPARAM wParam;
LPARAM lParam;

wParam: wld + wCmd



Цикл обработки сообщений 
Windows




Простейшее приложение - 1



Простейшее приложение - 2



Простейшее приложение - 3


Простейшее приложение - 3



Простейшее приложение - 4



Простейшее приложение - 5



Простейшее приложение - 6



Простейшее приложение - 7



Простейшее приложение - 8



Простейшее приложение - 9



Окно сгенерированного 
приложения - 1



Окно сгенерированного 
приложения - 2



Окно сгенерированного 
приложения - 3



Окно сгенерированного 
приложения - 4



Окно сгенерированного 
приложения


 

А также другие работы, которые могут Вас заинтересовать

27749. Основными направлениями социально-педагогической деятельности являются 17.47 KB
  Поскольку проблема ребенка требующая разрешения как правило имеет и внутренние личностные и внешние аспекты социальнопедагогическая деятельность обычно включает две составляющие: непосредственную работу с ребенком; посредническую деятельность во взаимоотношениях ребенка со средой способствующую их социальнокультурному становлению и развитию. По содержанию социальнопедагогическая деятельность чрезвычайно многообразна. Однако в настоящее время эта задача непростая поскольку сфера практической социально педагогической деятельности...
27750. Становление идей воспитывающего и развивающего обучения в педагогической мысли Западной Европы до 80-х гг. XIX в 27.72 KB
  Становление идей воспитывающего и развивающего обучения в педагогической мысли Западной Европы до 80х гг. в педагогической мысли возникают теории обучения и воспитания которые становятся классическими педагогическими теориями и базой для дальнейшего развития науки и практики образования во всех странах. Так один из основоположников дидактики начального обучения швейцарский педагог Иоганн Генрих Песталоцци 1746–1827 окончивший два курса коллегиума Каролинум вел активную просветительскую деятельность организовал ряд приютов для детей из...
27751. Сущность коррекционно-педагогической деятельности с детьми и подростками 28.78 KB
  Возникает задача поиска более действенных и результативных путей профилактики и педагогической коррекции отклоняющегося поведения детей и подростков как следствия их школьной дезадаптации опирающихся на принципы гуманизации и индивидуализации педагогического процесса в общеобразовательной школе. В педагогической науке в настоящий момент отсутствуют системные исследования коррекционнопедагогической деятельности не ведется пока целостного изучения взаимосвязи между коррекционной деятельностью и единым педагогическим процессом. Поэтому...
27752. Психолого - педагогические подходы в воспитании детей с ограниченными возможностями 39.13 KB
  В процессе развития ребенка функциональные системы взаимовлияют друг на друга. Поэтому эмоциональноположительное взаимодействие ребенка с матерью составляет основу формирования всех психических функций: речи внимания памяти целенаправленной деятельности эмоциональной сферы мышления и сознания. Специальные исследования показали что отрицательные последствия воспитания детей грудного и раннего возраста в учреждениях закрытого типа возникают не изза отсутствия материального ухода а являются следствием недостаточности эмоциональных...
27753. Средства массовой информации. Их влияние на развитие личности детей и подростков 23.81 KB
  Не смотря на бурное развитие средств коммуникации в начале XXI века телевидение и сегодня остается самым массовым и доступным средством информации. СМИ являются также источниками пошлой информации порнографии. Помимо негативного влияния СМИ на молодежное поведение можно выделить несколько позитивных моментов: СМИ держит молодежь в курсе всех происходящих событий таким образом удаляя информационный голод средства массовой информации повышает общую в том числе и политическую культуру населения; служит для взаимного информирования властей и...
27754. МЕТОДОЛОГИЯ И МЕТОДЫ ПЕДАГОГИЧЕСКИХ ИССЛЕДОВАНИЙ 46.16 KB
  В свою очередь для их накопления и интерпретации нужны научно обоснованные методы исследования. Методология науки дает характеристику компонентов научного исследования его объекта предмета анализа задач исследования совокупности исследовательских средств необходимых для их решения а также формирует представление о последовательности движения исследователя в процессе решения исследовательских задач. Дескриптивная методология как учение о структуре научного знания закономерностях научного познания служит ориентиром в процессе...
27755. Сущность социальной педагогики 18.67 KB
  Социальная педагогика рассматривает процесс воспитания социологию личности в теоретическом и прикладном аспектах то есть социальная педагогика выступает и как наука и как область практической деятельности нацеленная на преобразование окружающей среды создание гуманных воспитывающих отношений в социуме поиск механизмов педагогически компетентного вмешательства в различные в том числе кризисные ситуации социальной действительности. Мудрик считает что социальная педагогика это отрасль педагогики рассматривающая социальное воспитание...
27756. Принцип. Основные принципы и их применение 26.32 KB
  Человек природное существо и развивается по законам естественной и социальной природы. Сущность принципа заключается в том что отношение к человеку должно быть как к природному существу а точнее социальноприродному. Принцип природосообразности диктует необходимость тщательного учета в процессе социальнопедагогической работы общих законов развития природы другими словами естественных возможностей человека. Основные требования это: знать законы и закономерности развития и воспитания человека и уметь строить в соответствии с ними всю...
27757. Принцип гуманизма 16.95 KB
  Гуманность человечность идеал различных направлений гуманизма его целью является развитие ценностных способностей чувств и разума человека высшее развитие человеческой культуры и нравственности и соответствующего поведения личности и ее отношения к миру. Понятие гуманизация широко используемое в наше время подразумевает деятельность отдельных людей и человеческих сообществ по реализации гуманизма как системы мировоззрения признание ценности человека как личности его права на свободное развитие и проявление своих способностей...