Documente online.
Zona de administrare documente. Fisierele tale
Am uitat parola x Creaza cont nou
 HomeExploreaza
upload
Upload




Основы приложений Windows

Rusa


Основы приложений Windows

Прежде чем начать разраб& 555e412f #1086;тку каркаса приложения для Windows, необходимо рассмотреть некоторые понятия, общие для всех программ Windows.



WinMain. Все приложения Windows начинают свое выполнение с вызова WinMain(), а не с функции main(), как это делается в консольных приложениях. WinMain() WINAPI APIENTRY

По умолчанию все функции в «С» и «C++» используют соглашения о вызовах, принятые для С-программ. Допускается также применение функций, вызываемых иначе; в данном случае используется тип соглашения о вызовах, принятый в среде языка Pascal. По различным техническим причинам Windows использует для WinMain() WINAPI WinMain() int

. Все программы для Windows должны содержать некоторую функцию, которая вызывается не из Вашей программы, а операционной системой. Эту функцию часто называют оконной функцией или оконной процедурой. Оконная функция вызывается опера­ционной системой Windows, когда программе нужно послать сообщение. Используя эту функцию, Windows взаимодействует с Вашей программой. В качестве параметров оконная функция получает сообщение, посылаемое Windows. Все оконные процедуры должны объявляться как LRESULT CALLBACK LRESULT typedef; (long CALLBACK используется для функций, вызываемых операционной системой Windows.



Принимая сообщения, посылаемые Windows, оконная функция должна вы­полнять действия, соответствующие типу и параметрам этих сообщений. Как прави­ло, тело оконной функции представляет собой оператор switch, определяющий тип получаемых сообщений и выполняющий соответствующие действия для каждого типа. Ваша программа не обязана выполнять обраб& 555e412f #1086;тку всех типов сообщений, посылаемых Windows. Сообщения, не обраб& 555e412f #1072;тываемые в Вашей программе, должны обраб& 555e412f #1072;тываться Windows по умолчанию. Поскольку в Windows сущест­вуют сотни типов сообщений, большая их часть, как правило, обраб& 555e412f #1072;тывается по умолчанию.

. Когда Ваша программа, написанная для Windows, начинает выполняться впервые, ей необходимо определить и зарегистрировать класс окна. (Здесь слово класс употребляется не в смысле определения из C++. Скорее, оно должно означать стиль или тип.). Регистрируя класс окна, Вы сообщаете Windows об основных атрибутах и функциях окна. Однако регистрация класса не означает создание окна. Для этого требуются дополнительные действия.

Цикл обраб& 555e412f #1086;тки сообщений. Как отмечалось ранее, Windows взаимодействует с Вашей программой, посы­лая ей сообщения. Все приложения Windows должны запускать цикл обраб& 555e412f #1086;тки сообщений функции WinMain(). Этот цикл выбирает сообщения из очереди сооб­щений приложения и направляет их обратно к Windows, которая затем вызывает оконную функцию Вашей программы, передавая ей указанные сообщения в качестве параметров. Такой способ взаимодействия может показаться излишне сложным, однако программы для Windows функционируют именно так. Одна из причин реализации такой схемы взаимодействия состоит в том, что программа должна возвращать управление планировщику Windows, который распределяет время центрального процессора, чтобы обеспечить его оптимальную загрузку.



Типы данных в Windows Как Вы скоро увидите, программы для Windows редко используют стандартные типы данных C/C++, такие как int или char* Вместо стандартных типов в них используются типы данных, определенные при помощи оператора typedef в файле windows.h и/или сопутствующих файлах. Файл Windows.h поставляется Microsoft (или любой другой компанией, выпускающей компиляторы C/C++ для Windows) и должен включаться во все программы для Windows. Вот некоторые из этих типов: HANDLE HWND BYTE WORD DWORD UINT LONG BOOL LPSTR LPCSTR HANDLE HANDLE



HWND

BYTE

WORD

DWORD

UINT

LONG - просто другое название для long;

BOOL - это целое число, принимающее значения "истина" и "ложь";

LPSTR - указатель на строку, a LPCSTR - const-указатель на строку.

Кроме собственных базовых типов данных Windows определяет несколько структур. Для разраб& 555e412f #1086;тки каркаса приложения нам понадобятся структуры MSG WNDCLASS

MSG описывает сообщение, a WNDCLASS




Document Info


Accesari: 1159
Apreciat: hand-up

Comenteaza documentul:

Nu esti inregistrat
Trebuie sa fii utilizator inregistrat pentru a putea comenta


Creaza cont nou

A fost util?

Daca documentul a fost util si crezi ca merita
sa adaugi un link catre el la tine in site


in pagina web a site-ului tau.




eCoduri.com - coduri postale, contabile, CAEN sau bancare

Politica de confidentialitate | Termenii si conditii de utilizare




Copyright © Contact (SCRIGROUP Int. 2025 )