Программирование на Ассемблере

       

Функция MessageBox


int MessageBoxA(

    HWND hWnd,         // Дескриптор окна (NULL для текущего)

LPCTSTR lpText,        // Адрес выводимой строки

    LPCTSTR lpCaption,          // Адрес заголовка

    UINT uType            // Стиль. Определяет выводимые кнопки

   );      

Допустимые стили:

MB_ABORTRETRYIGNORE (2) 3 кнопки: Abort, Retry, и Ignore.

MB_OK (0)     : Кнопка OK.

MB_OKCANCEL (1)  Кнопки: OK и

Cancel.



MB_RETRYCANCEL (5)       Кнопки: Retry и Cancel.

MB_YESNO (4)          Кнопки : Yes и No.

MB_YESNOCANCEL (3)       3 кнопки: Yes, No, иCancel.

Значения констант, которые надо задавать вместо приведенных имен при программировании на ассемблере заданы в скобках после определения константы. Их можно посмотреть в файле WINUSER.H

 Дополнительно, можно задавать иконки для окна и дополнительную информацию (см. файл WIN32.HLP):

Возвращаемое значение:

Функция возвращает 0, если не достаточно памяти для создания окна.

При успешном завершении функция возвращает код нажатой клавиши: IDABORT       (3) нажата кнопка ABORT.

IDCANCEL    (2) нажата кнопка CANCEL или клавиша ESC.

IDIGNORE     (5) нажата кнопка IGNORE.

IDNO  (7)нажата кнопка NO.

IDOK (1)нажата кнопка OK.

IDRETRY(4)нажата кнопка RETRY.

IDYES(6)нажата кнопка YES.

Пример программы для вывода сообщения “Hello, World”

p586

include win.inc

model   flat

extrn ExitProcess:proc

extrn    MessageBoxA:proc

dataseg

mystr   db        'HelloWorld!', 0

tit         db        'Message', 0

codeseg

begin:

push     0

push     offset tit

push     offset mystr

push     0

call      MessageBoxA

call ExitProcess

end begin



Содержание раздела