Дипломированных специалистов «Информатика и вычислительная техника»



Download 12,06 Mb.
Pdf ko'rish
bet231/357
Sana22.02.2022
Hajmi12,06 Mb.
#115195
TuriДиплом
1   ...   227   228   229   230   231   232   233   234   ...   357
Bog'liq
assembler uchebnik dlya vuzov 2-e izd YuRXUW1

 вам
 выведен
Lelt_Top:
X
X |0300
Y
Y
Cancel
Текст выведен функцией
' ' '
Рис.
Окно диалога для задания координат прямоугольника
значения, вводимые в каждое из полей ввода, должны содержать все че-
тыре десятичные цифры с включением, при необходимости, ведущих нулей
Для обработки сообщений от этих окон диалога программа
(см. ли-
стинг 16.13) содержит две диалоговые процедуры,
и DialogProc2. Про-
цедура
(строки 357-439) предназначена для ввода координат отрезка,
процедура DialogProc2 (строки 440-522) — координат прямоугольника. Структура
диалоговой процедуры аналогична структуре оконной процедуры. В начале диа-
логовой процедуры находится код, определяющий тип поступившего сообщения
и в зависимости от него передающий управление в определенную точку диалого-
вой
e a x ,
cmp a x ,
je
cmp ax,
jne
mov ebx,
bx идентификатор элемента управления
cmp bx,
je
cmp bx, IDCANCEL
je
Главное сообщение, поступающее в оконную процедуру, — сообщение
Именно оно несет информацию о действиях пользователя с элемен-
тами управления окна диалога. Так, в строках 361-371 листинга 16.13, обрабаты-
ваются два сообщения:
и
Сообщение
приходит в диалоговую процедуру один раз. Это
в процессе инициа-
лизации окна диалога перед его появлением в окне приложения. Далее в


434 Глава
Создание Windows-приложений на ассемблере
вую процедуру поступает последовательность сообщений
Параметр
' wParam такого сообщения содержит идентификатор того элемента управления, над
которым пользователь произвел некоторое действие, например, щелкнул на кноп-
ке
или Cancel (см. рис. 16.3). Обратите внимание на то, что при описании элемен-
тов различных окон диалога используются одни и те же идентификаторы. Более
в файле
этим идентификаторам назначены одни и те же константы.
Именно их значения передаются в структуре сообщения для идентификации кон-
кретного элемента окна диалога. Одинаковые значения не вносят никакой пута-
ницы в работу приложения, так как для каждого окна диалога существует своя
оконная процедура.
Интерес представляют детали реализации диалоговых процедур DialogProcl
и DialogProc2. В них используются две отладочные макрокоманды,
и show_eax.
Макрокоманда
в программе
предназначена для пре-
образования строки из четырех символов десятичных цифр в эквивалентное дво-
ичное число, помещаемое в регистр ЕАХ. В данной программе эта макрокоманда
требуется для преобразования символьных строк, считываемых из полей ввода окна
диалога. Эти символьные строки логически представляют собой координаты от-
резка и прямоугольника. Преобразованные с помощью макрокоманды
значения этих координат используются функциями Win32 API
(строки 272-277), LineTo (строки 278-282) и Rectangle (строки 297-316). В конце
своей работы макрокоманда
с помощью окна, выводимого функци-
ей
сообщает о результатах преобразования. Это отладочный момент
работы, и, учитывая учебный характер разрабатываемого приложения, он не убран
из его конечной версии.
Макрокоманда show_eax также используется для отладки и является аналогом
макрокоманды show, описанной в главе 14. Попытка запустить макрокоманду show
в нашем приложении ни к чему хорошему не приведет, поэтому для динамическо-
го контроля за работой программы макрокоманда
может оказаться очень
полезной. Кстати, проблема отладки Windows-приложений довольно актуальна,
и для ее решения подчас приходится применять самые нетрадиционные подходы,
но это уже тема для отдельного разговора.

Download 12,06 Mb.

Do'stlaringiz bilan baham:
1   ...   227   228   229   230   231   232   233   234   ...   357




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©hozir.org 2024
ma'muriyatiga murojaat qiling

kiriting | ro'yxatdan o'tish
    Bosh sahifa
юртда тантана
Боғда битган
Бугун юртда
Эшитганлар жилманглар
Эшитмадим деманглар
битган бодомлар
Yangiariq tumani
qitish marakazi
Raqamli texnologiyalar
ilishida muhokamadan
tasdiqqa tavsiya
tavsiya etilgan
iqtisodiyot kafedrasi
steiermarkischen landesregierung
asarlaringizni yuboring
o'zingizning asarlaringizni
Iltimos faqat
faqat o'zingizning
steierm rkischen
landesregierung fachabteilung
rkischen landesregierung
hamshira loyihasi
loyihasi mavsum
faolyatining oqibatlari
asosiy adabiyotlar
fakulteti ahborot
ahborot havfsizligi
havfsizligi kafedrasi
fanidan bo’yicha
fakulteti iqtisodiyot
boshqaruv fakulteti
chiqarishda boshqaruv
ishlab chiqarishda
iqtisodiyot fakultet
multiservis tarmoqlari
fanidan asosiy
Uzbek fanidan
mavzulari potok
asosidagi multiservis
'aliyyil a'ziym
billahil 'aliyyil
illaa billahil
quvvata illaa
falah' deganida
Kompyuter savodxonligi
bo’yicha mustaqil
'alal falah'
Hayya 'alal
'alas soloh
Hayya 'alas
mavsum boyicha


yuklab olish