Студопедия

Главная страница Случайная страница

Разделы сайта

АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника






Структура Windows-програми.






Мінімальна Windows-програма складається з двох основних функцій:

WinMain() з якої починається виконання програми і відбувається її інаціалізація, та WindowProc() яка викликається ОС для обробки повідомлення програми. WinMain() взаємодіє з ОС викликаючи деякі функції WinAPI. Те саме стосується і WinProc().

 

7.6 Цикл повідомлень

Для отримання повідомлень з черги використовується Цикл повідомлень. Він має вигляд

MSG msgwhile((GetMessage(& msg, NULL, 0, 0))! = 0)

{

TranslateMessage(& msg); DispatchMessage(& msg); }

Функція GetMessage отримує повідомлення з черги

7.3 Функція WinMain() та її параметри.

Функція WinMain() це еквівалент функції main() консольної програми. З неї починається виконання та інаціалізація програми.

int WINAPI WinMain (

HINSTANCE hThisInstance, //дескриптор еземпляра прикладної програми

HINSTANCE hPrevInstance, //дескриптор попереднього еземпляра програми

LPSTR lpCmdLine, //вказівник на рядок що містить командний рядок що запустив програму

int nCmdShow //визначає зовнішній вигляд вікна при його створенні)

 

7.4 Реєстрація класу вікна

Реєстрація класу вікна відбувається за допомогою функції RegisterClassEx(). Її параметром є адреса структури WNDCLASSEX яка містить дані що описують вікно програми.

struct WNDCLASSEX {
UINT cbSize;

UINT style;
WNDPROC lpfnWndProc;
int cbClsExtra;
int cbWndExtra;
HINSTANCE hInstance;
HICON hIcon;
HCURSOR hCursor;
HBRUSH hbrBackground;
LPCTSTR lpszMenuName;
LPCTSTR lpszClassName;

HICON hIconSm; }

 

7.7 Процедура вікна та функція WindowProc().

Функ.WindowProc () викликається ОС для обробки повідомлення програми.

LRESULT CALLBACK WindowProc(

HWND hwnd,

UINT uMsg,

WPARAM wParam,

LPARAM lParam

);

7.5 Створення примірника вікна

Для створення примірника вікна використовується функція CreateWindowEx() для повертає дескриптор створеного вікна.

HWND CreateWindowEx (

DWORD dwExStyle,

// покращений стиль вікна (зазвичай NULL)

LPCTSTR lpClassName,

// вказ. на зареєстроване ім’я класу вікна

LPCTSTR lpWindowName,

// вказівник на ім‘я вікна

DWORD dwStyle, // стиль вікна

int x, // горизонтальна позиція вікна

int y, // вертикальна позиція вікна

int nWidth, // ширина вікна

int nHeight, // висота вікна

HWND hWndParent,

// дескриптор батьківського вікна

HMENU hMenu, // дескриптор меню

HINSTANCE hInstance,

// дескриптор еземпляра прикладної програми

LPVOID lpParam

// вказівникна дані створеннявікна

);

 






© 2023 :: MyLektsii.ru :: Мои Лекции
Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав.
Копирование текстов разрешено только с указанием индексируемой ссылки на источник.