Студопедия — WinProc PROC,
Студопедия Главная Случайная страница Обратная связь

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

WinProc PROC,






hWnd: DWORD,; Дескриптор окна

localMsg: DWORD,; Идентификатор сообщения

wParam: DWORD,; Параметр 1 (зависит от сообщения)

lParam: DWORD; Параметр 2 (зависит от сообщения)

Обратите внимание, что значение третьего и четвертого параметров процедуры зависит от типа поступившего сообщения. Например, при обработке щелчка кнопкой мыши, параметр lParam указывает координаты X и Y точки на экране, в которой находится указатель в момент щелчка.

В примере программы, приведенном ниже, процедура WinProc будет обрабатывать всего три сообщения:

• WMLBUTTONDOWN — генерируется в ответ на щелчок левой кнопкой мыши;

• WM_CREATE — уведомляет программу о создании основного окна;

• WM_CLOSE — информирует программу о том, что ее основное окно закрывается.

Например, ниже приведен фрагмент кода процедуры WinProc, в котором обрабатывается сообщение WM_LBUTTONDOWN. При этом вызывается функция MessageBox, отображающая на экране окно сообщения, информирующее пользователя о произошедшем событии (рис.):

.IF eax == WM_LBUTTONDOWN

INVOKE MessageBox, hWnd, ADDR PopupText,

ADDR PopupTitle, MB_OK

Jmp WinProcExit

Сообщения для которых не предусмотрена обработка передаются на обработку стандартной процедуре системы Windows, которая называется DefWindowProc.

Процедура ErrorHandler

Эта процедура не является обязательной и создается исключительно ради удобства. Она вызывается в случае, если при регистрации класса и создании основного окна программы возникнет ошибка. Например, если класс основного окна программы бьл успешно зарегистрирован, функция RegisterClass возвращает ненулевое значение.

Если эта функция вернет нулевое значение, вызывается процедура ErrorHandler, в которой отображается сообщение об ошибке, а затем работа программы завершается:

INVOKE RegisterClass, ADDR MainWin

.IF eax == 0

Call ErrorHandler

Jmp Exit_Program

ENDIF

В процедуре ErrorHandler выполняются несколько важных действий, перечисленных ниже:

• вызывается функция GetLastError, с помощью которой определяется системный код ошибки;

• вызывается функция FormatMeesage, которая возвращает адрес строки, содержащей сообщение об ошибке, сформированное операционной системой;

• вызывается функция MessageBox, с помощью которой полученная от функции FormatMeesage текстовая строка выводится на экран в окне сообщений;

• вызывается функция LocalFree, которая освобождает память, занимаемую строкой, содержащей сообщение об ошибке.







Дата добавления: 2014-11-10; просмотров: 597. Нарушение авторских прав; Мы поможем в написании вашей работы!



Функция спроса населения на данный товар Функция спроса населения на данный товар: Qd=7-Р. Функция предложения: Qs= -5+2Р,где...

Аальтернативная стоимость. Кривая производственных возможностей В экономике Буридании есть 100 ед. труда с производительностью 4 м ткани или 2 кг мяса...

Вычисление основной дактилоскопической формулы Вычислением основной дактоформулы обычно занимается следователь. Для этого все десять пальцев разбиваются на пять пар...

Расчетные и графические задания Равновесный объем - это объем, определяемый равенством спроса и предложения...

Психолого-педагогическая характеристика студенческой группы   Характеристика группы составляется по 407 группе очного отделения зооинженерного факультета, бакалавриата по направлению «Биология» РГАУ-МСХА имени К...

Общая и профессиональная культура педагога: сущность, специфика, взаимосвязь Педагогическая культура- часть общечеловеческих культуры, в которой запечатлил духовные и материальные ценности образования и воспитания, осуществляя образовательно-воспитательный процесс...

Устройство рабочих органов мясорубки Независимо от марки мясорубки и её технических характеристик, все они имеют принципиально одинаковые устройства...

Гносеологический оптимизм, скептицизм, агностицизм.разновидности агностицизма Позицию Агностицизм защищает и критический реализм. Один из главных представителей этого направления...

Функциональные обязанности медсестры отделения реанимации · Медсестра отделения реанимации обязана осуществлять лечебно-профилактический и гигиенический уход за пациентами...

Определение трудоемкости работ и затрат машинного времени На основании ведомости объемов работ по объекту и норм времени ГЭСН составляется ведомость подсчёта трудоёмкости, затрат машинного времени, потребности в конструкциях, изделиях и материалах (табл...

Studopedia.info - Студопедия - 2014-2024 год . (0.008 сек.) русская версия | украинская версия