Assembler & Win32 [Александр Усов] (fb2) читать постранично, страница - 3 [Настройки текста] [Cбросить фильтры]
Цвет фона черный светло-черный бежевый бежевый 2 персиковый зеленый серо-зеленый желтый синий серый красный белый
Цвет шрифта белый зеленый желтый синий темно-синий серый светло-серый тёмно-серый красный
Размер шрифта 14px 16px 18px 20px 22px 24px
Шрифт Arial, Helvetica, sans-serif "Arial Black", Gadget, sans-serif "Bookman Old Style", serif "Comic Sans MS", cursive Courier, monospace "Courier New", Courier, monospace Garamond, serif Georgia, serif Impact, Charcoal, sans-serif "Lucida Console", Monaco, monospace "Lucida Sans Unicode", "Lucida Grande", sans-serif "MS Sans Serif", Geneva, sans-serif "MS Serif", "New York", sans-serif "Palatino Linotype", "Book Antiqua", Palatino, serif Symbol, sans-serif Tahoma, Geneva, sans-serif "Times New Roman", Times, serif "Trebuchet MS", Helvetica, sans-serif Verdana, Geneva, sans-serif
Насыщенность шрифта жирный
Обычный стиль курсив Ширина текста 400px 500px 600px 700px 800px 900px 1000px 1100px 1200px Показывать меню Убрать меню Абзац 0px 4px 12px 16px 20px 24px 28px 32px 36px 40px
Межстрочный интервал 18px 20px 22px 24px 26px 28px 30px 32px
ID_SAVE = 9C42
ID_EXIT = 9C43
CS_VREDRAW = 0001
CS_HREDRAW = 0002
IDI_APPLICATION = 7F00
IDC_ARROW = 7F00
COLOR_WINDOW = 5
WS_EX_WINDOWEDGE = 00000100
WS_EX_CLIENTEDGE = 00000200
WS_EX_OVERLAPPEDWINDOW = WS_EX_WINDOWEDGE OR WS_EX_CLIENTEDGE
WS_OVERLAPPED = 00000000
WS_CAPTION = 00C00000
WS_SYSMENU = 00080000
WS_THICKFRAME = 00040000
WS_MINIMIZEBOX = 00020000
WS_MAXIMIZEBOX = 00010000
WS_OVERLAPPEDWINDOW = WS_OVERLAPPED OR \
WS_CAPTION OR \
WS_SYSMENU OR \
WS_THICKFRAME OR \
WS_MINIMIZEBOX OR \
WS_MAXIMIZEBOX
CW_USEDEFAULT = 80000000
SW_SHOW = 5
WM_COMMAND = 0111
WM_DESTROY = 0002
WM_CLOSE = 0010
MB_OK = 0
PROCTYPE ptGetModuleHandle stdcall \
lpModuleName :dword
PROCTYPE ptLoadIcon stdcall \
hInstance :dword, \
lpIconName :dword
PROCTYPE ptLoadCursor stdcall \
hInstance :dword, \
lpCursorName :dword
PROCTYPE ptLoadMenu stdcall \
hInstance :dword, \
lpMenuName :dword
PROCTYPE ptRegisterClassEx stdcall \
lpwcx :dword
PROCTYPE ptCreateWindowEx stdcall \
dwExStyle :dword, \
lpClassName :dword, \
lpWindowName :dword, \
dwStyle :dword, \
x :dword, \
y :dword, \
nWidth :dword, \
nHeight :dword, \
hWndParent :dword, \
hMenu :dword, \
hInstance :dword, \
lpParam :dword
PROCTYPE ptShowWindow stdcall \
hWnd :dword, \
nCmdShow :dword
PROCTYPE ptUpdateWindow stdcall \
hWnd :dword
PROCTYPE ptGetMessage stdcall \
pMsg :dword, \
hWnd :dword, \
wMsgFilterMin :dword, \
wMsgFilterMax :dword
PROCTYPE ptTranslateMessage stdcall \
lpMsg :dword
PROCTYPE ptDispatchMessage stdcall \
pmsg :dword
PROCTYPE ptSetMenu stdcall \
hWnd :dword, \
hMenu :dword
PROCTYPE ptPostQuitMessage stdcall \
nExitCode :dword
PROCTYPE ptDefWindowProc stdcall \
hWnd :dword, \
Msg :dword, \
wParam :dword, \
lParam :dword
PROCTYPE ptSendMessage stdcall \
hWnd :dword, \
Msg :dword, \
wParam :dword, \
lParam :dword
PROCTYPE ptMessageBox stdcall \
hWnd :dword, \
lpText :dword, \
lpCaption :dword, \
uType :dword
PROCTYPE ptExitProcess stdcall \
exitCode :dword
extrn GetModuleHandleA :ptGetModuleHandle
extrn LoadIconA :ptLoadIcon
extrn LoadCursorA :ptLoadCursor
extrn RegisterClassExA :ptRegisterClassEx
extrn LoadMenuA :ptLoadMenu
extrn CreateWindowExA :ptCreateWindowEx
extrn ShowWindow :ptShowWindow
extrn UpdateWindow :ptUpdateWindow
extrn GetMessageA :ptGetMessage
extrn TranslateMessage :ptTranslateMessage
extrn DispatchMessageA :ptDispatchMessage
extrn SetMenu :ptSetMenu
extrn PostQuitMessage :ptPostQuitMessage
extrn DefWindowProcA :ptDefWindowProc
extrn SendMessageA :ptSendMessage
extrn MessageBoxA :ptMessageBox
extrn ExitProcess :ptExitProcess
UDataSeg
hInst dd ?
hWnd dd ?
IFNDEF VER1
hMenu dd ?
ENDIF
DataSeg
msg msgStruc <>
classTitle db 'Menu demo', 0
wndTitle db 'Demo program', 0
msg_open_txt db 'You selected open', 0
msg_open_tlt db 'Open box', 0
msg_save_txt db 'You selected save', 0
msg_save_tlt db 'Save box', 0
CodeSeg
Start: call GetModuleHandleA, 0 ; не обязательно, но желательно
mov [hInst],eax
sub esp,SIZE WndClassEx ; отведём место в стеке под структуру
mov [(WndClassEx esp).cbSize],SIZE WndClassEx
mov [(WndClassEx esp).style],CS_HREDRAW or CS_VREDRAW
Последние комментарии
17 часов 30 минут назад
1 день 9 часов назад
1 день 18 часов назад
1 день 18 часов назад
4 дней 52 минут назад
4 дней 5 часов назад