C++ C++ C# C# ASP.NET Security ASP.NET Security ASM ASM Скачать Скачать Поиск Поиск Хостинг Хостинг  
  Программа для работы с LPT портом...
Язык: .NET — ©Alexey...
  "ASP.NET Atlas" – AJAX в исполнении Micro...
Язык: .NET — ©legigor@mail.ru...
  "Невытесняющая" Многопоточность...
Язык: C/C++ — ©...
  Update World C++: Сборник GPL QT исходников
  Весь сайт целиком можно загрузить по ссылкам из раздела Скачать
Нетология

 56 - Основная функция окна / Win 32 API / Win32 API

Шаг 56 - Основная функция окна

Эта функция производит обработку сообщений для окна. Мы ее связываем с окном при заполнении структуры класса окна WNDCLASS в поле lpfnWndProc:

WNDCLASS WC;
......
WC.lpfnWndProc = WndProc; 

Вот эта функция WndProc и будет получать сообщения, которые Windows будет отсылать окну. Соответственно эта функция должна быть объявлена ранее. Прототип у этой функции такой:

LRESULT CALLBACK WndProc(HWND, UINT, WPARAM,LPARAM);

Общий вид для реализации:

LRESULT CALLBACK WndProc(HWND hwnd, UINT Message, WPARAM wparam,LPARAM lparam)
{ 
	if (Message == WM_DESTROY ) 
	{ 
		PostQuitMessage(0);
		return 0; 
	}
	return DefWindowProc(hwnd,Message,wparam,lparam);
}

В этой функции мы обрабатываем сообщения от Windows. При этом, если обработку не совершаем, то вызываем функцию по умолчанию DefWindowProc, которая уммет обрабатывать сообщения по умолчанию.

LRESULT DefWindowProc
(  
	HWND hWnd,	// указатель окна
	UINT Msg,		// идентификатор сообщения
	WPARAM wParam,	// первый параметр сообщения
	LPARAM lParam	// второй параметр сообщения
);

Возврашает результат обработки сообщения. Обычно в функции WndProc организуется огромный switch для обработки сообщений.


| |
Автор Каев Артем.
[AD]





Letyshops [lifetime]