Очистка экрана - Assembler

Узнай цену своей работы

Формулировка задачи:

Здравствуйте . Помогите , пожалуйста , с функцией очистки экрана. У меня есть программа с меню . И один с пунктов меню - это "Очистка" . То есть , при нажатие на этот пункт , окно должно очищаться. Пробовала как-то так записать :
invoke GetMessage, ADDR msg, NULL, 0, 0 ; читання повідомлення
    or eax, eax         ; формування ознак
    jz Quit         ; перейти на мітку Quit, якщо eax = 0
invoke DispatchMessage, ADDR msg ; відправка на обслуговування
    .ENDW       ; закінчення циклу оброблення повідомлень
Quit:       
    mov   eax,msg.wParam
    ret         ; повернення з процедури WinMain
WinMain endp            ; закінчення процедури з ім'ям WinMain
 
WndProc proc hWnd:HWND, uMsg:UINT, wParam:WPARAM,\
 lParam:LPARAM
LOCAL rect:RECT ; резервування стека під структуру RECT
LOCAL ps:PAINTSTRUCT ; резервування стека під структуру 
LOCAL hdc:HDC       ; резервування стека під хендл вікна
.IF uMsg==WM_DESTROY ; якщо є повідомлення про знищення вікна
invoke PostQuitMessage,NULL ; передача повідомлення WM_Quit
 
.....................
 
ОЧИСТКА:
 
.ELSEIF ax==IDM_CLR
 mov ax, 03
int 10h
Вроде всё компилируется , но при нажатии на кнопку меню программа просто начинает вылетать и всё . Помогите , пожалуйста , как это возможно сделать ?

Решение задачи: «Очистка экрана»

textual
Листинг программы
.ELSEIF ax==IDM_CLR
invoke SendMessage, hWnd, WM_ERASEBKGND, 0,0

Объяснение кода листинга программы

  1. ax - это регистр, который содержит значение, которое было передано в функцию GetMessage.
  2. IDM_CLR - это константа, которая определяет тип сообщения, которое нужно отправить.
  3. hWnd - это дескриптор окна, которое нужно очистить.
  4. WM_ERASEBKGND - это тип сообщения, которое нужно отправить окну для очистки его фона.
  5. 0 и 0 - это параметры, которые передаются вместе с сообщением WM_ERASEBKGND и указывают на то, что фон окна должен быть очищен.

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

7   голосов , оценка 4.143 из 5
Похожие ответы