_ProcDlgMain proc uses ebx edi esi hWnd,wMsg,w Param,lParam
mov eax,wMsg
.if eax == WM_CLOSE
invoke EndDialog,hWnd,NULL
.elseif eax == WM_INITDIALOG
mov eax,hWnd
mov hWinMain,eax
invoke SendDlgItemMessage,hWnd,IDC_HEX,EM_LIMITTEXT,8,0
invoke SendDlgItemMessage,hWnd,IDC_DEC,EM_LIMITTEXT,10,0
invoke GetDlgItem,hWnd,IDC_HEX
invoke SetWindowLong,eax,GWL_WNDPROC,addr _ProcEdit
mov lpOldProcEdit,eax
.elseif eax == WM_COMMAND
mov eax,wParam
.if !dwOption
mov dwOption,TRUE
.if ax == IDC_HEX
invoke _HexToDec
.elseif ax == IDC_DEC
invoke _DecToHex
.endif
mov dwOption,FALSE
.endif
.esle
mov eax,FALSE
.endif
mov eax,TRUE
ret
_ProcDlgMain endp