169,6 → 169,8 |
pop edx |
|
mov ebx, [esp+24h+8] ;DLGTEMPLATE* dlg |
cmp dword[ebx+dlgtemplate.size], 0 |
jne .event ;¥á«¨ ¤¨ «®£®¢®¥ ®ª® ¥ áâ ¤ à⮥ (ᯨ᮪ § 票©) |
cmp edx, [ebx+dlgtemplate.y] |
jl .event |
cmp eax, [ebx+dlgtemplate.x] |
205,6 → 207,12 |
cmp [ebx+dlgitemtemplate.y2], edx |
jl .m_next |
|
cmp [ebx+dlgitemtemplate.type], 2 ;button |
jne @f |
mov [esp+28+8], ebx ;save to eax |
pop ecx ebx |
jmp .exit |
@@: |
mov eax, [ebx+dlgitemtemplate.flags] |
and eax, 4 |
jnz .m_old_focus |
438,6 → 446,7 |
ret |
|
; void __stdcall DrawGenericBox(DLGDATA* dlg, void* DlgProc) |
align 16 |
DrawGenericBox: |
pushad |
mov ebx, [esp+24h] |
720,6 → 729,7 |
|
; int __stdcall menu(void* variants, const char* title, unsigned flags); |
; variants 㪠§ë¢ ¥â ⥪ã騩 í«¥¬¥â ¢ ¤¢ãá¢ï§®¬ «¨¥©®¬ ᯨ᪥ |
align 16 |
menu: |
pop eax |
push [cur_height] |
734,11 → 744,11 |
pushad |
mov ecx, 60 |
; 40 bytes for dlgtemplate + additional: |
; +40: dd cur_variant |
; +44: dd num_variants |
; +48: dd begin_variant |
; +52: dd end_variant |
; +56: dd cur_variant_idx |
; +40: dd cur_variant - [???] |
; +44: dd num_variants - ᪮«ìª® í«¥¬¥â®¢ ¢« §¨â ¢ ®ª® |
; +48: dd begin_variant - [dd ..,..,???] |
; +52: dd end_variant - [dd ..,..,???] |
; +56: dd cur_variant_idx - ??? |
call xpgalloc |
test eax, eax |
jnz @f |
749,7 → 759,7 |
@@: |
mov ebx, eax |
mov eax, 1 |
test byte [esp+20h+28], 1 |
test byte [esp+20h+28], 1 ;unsigned flags |
jz @f |
mov al, 3 |
@@: |
760,7 → 770,7 |
; 室¨¬ è¨à¨ã ¨ ¢ëá®âã ®ª |
xor eax, eax |
xor ecx, ecx |
mov esi, [esp+20h+20] |
mov esi, [esp+20h+20] ;void* variants |
mov [ebx+40], esi |
mov dword [ebx+56], eax |
@@: |
889,6 → 899,7 |
popad |
ret 28 |
|
align 16 |
MenuDlgProc: |
mov eax, [esp+8] |
cmp al, 1 |