Mail.ruПочтаМой МирОдноклассникиВКонтактеИгрыЗнакомстваНовостиКалендарьОблакоЗаметкиВсе проекты

WIN API FASM проблема с выводом в STATIC

Николай Мурин Мыслитель (7945), закрыт 12 лет назад
здравствуйте. Подскажите пожалуйста как сделать так, чтобы Текст в "STATIC" появлялся сам, а не при нажатии кнопки. понимаю что вся суть моей проблемы где-то в .if ,elseif и т.д. но что и как изменить не знаю.

format PE GUI 4.0
include '%include%\win32ax.inc'
ID_CPUID = 201
cpu db 48 dup(0)
hInst dd ?

start:
invoke GetModuleHandleW,0
mov [hInst],eax
mov eax,0x80000002
CPUID
mov dword [cpu],EAX
mov dword [cpu+4],EBX
mov dword [cpu+8],ECX
mov dword [cpu+12],EDX
mov eax,0x80000003
CPUID
mov dword [cpu+16],EAX
mov dword [cpu+20],EBX
mov dword [cpu+24],ECX
mov dword [cpu+28],EDX
mov eax,0x80000004
CPUID
mov dword [cpu+32],EAX
mov dword [cpu+36],EBX
mov dword [cpu+40],ECX
mov dword [cpu+44],EDX
invoke DialogBoxParam,eax,37,0,DlgProc,0
invoke ExitProcess,0

proc DlgProc,hwnd,wmsg,wparam,lparam
xor eax,eax
.if [wmsg]=WM_CLOSE
invoke EndDialog,[hwnd],0
.elseif [wmsg]=WM_COMMAND&[wparam]=BN_CLICKED shl 16+IDOK
invoke SetDlgItemText,[hwnd],ID_CPUID,cpu
mov eax,1
.else
xor eax,eax
.endif
ret
endp

section '.rsrc' resource data readable
directory RT_DIALOG,dialogs
resource dialogs,37,LANG_ENGLISH+SUBLANG_DEFAULT,demonstration

dialog demonstration,'',70,70,240,64,WS_CAPTION+WS_POPUP+WS_SYSMENU+DS_MODALFRAME
dialogitem 'STATIC','',ID_CPUID,5,5,225,8,WS_VISIBLE
dialogitem 'BUTTON','OK',IDOK,100,40,40,15,WS_VISIBLE
enddialog
.end start
Лучший ответ
Пёсий Кот Мастер (1837) 12 лет назад
Обрабатывай событие WM_CREATE оно происходит при создании окна.
...
.elseif [wmsg]=WM_CREATE
invoke SetDlgItemText,[hwnd],ID_CPUID,cpu
...

UPD:
аа, у тебя диалоговое окно, тогда WM_INITDIALOG
Николай МуринМыслитель (7945) 12 лет назад
WM_CREATE - ноль на массу.
WM_INITDIALOG - спасибо помогло =)
Остальные ответы
Похожие вопросы