标题:win32的键盘输入问题
只看楼主
HandsomeCR
Rank: 1
等 级:新手上路
帖 子:3
专家分:0
注 册:2010-9-14
结帖率:100%
 问题点数:0 回复次数:0 
win32的键盘输入问题
写的一个win32的计算器代码 结果键盘输入用不了
_ProcDlgMain PROC USES EBX EDI ESI , hWnd, wMsg, wParam, lParam
    MOV    EAX, wMsg
        .IF    EAX == WM_CLOSE            ;关闭程序
        INVOKE EndDialog, hWnd, NULL
    .ELSEIF    EAX == WM_INITDIALOG    ;初始化程序
        INVOKE LoadIcon, hInstance, ICO_MAIN
        INVOKE SendMessage, hWnd, WM_SETICON, ICON_BIG, EAX
        INVOKE GetDlgItem, hWnd, IDC_EDIT  
        INVOKE SetWindowText, EAX, ADDR BUF+1
    .ELSEIF    EAX == WM_CHAR            ;响应键盘操作
        MOV    EAX, wParam
        .IF    ( EAX <= '9' && EAX >= '0' )
        ADD    EAX, IDC_0 - '0'
            INVOKE    _ProcDlgMain, hWnd, WM_COMMAND, EAX, 0
        .ELSEIF EAX == '.'
            INVOKE    _ProcDlgMain, hWnd, WM_COMMAND, IDC_DOT, 0
        .ELSEIF EAX == '+'
            INVOKE    _ProcDlgMain, hWnd, WM_COMMAND, IDC_ADD, 0
        .ELSEIF EAX == '-'
            INVOKE    _ProcDlgMain, hWnd, WM_COMMAND, IDC_SUB, 0
        .ELSEIF EAX == '*'
            INVOKE    _ProcDlgMain, hWnd, WM_COMMAND, IDC_MUL, 0
        .ELSEIF EAX == '/'
            INVOKE    _ProcDlgMain, hWnd, WM_COMMAND, IDC_DIV, 0
        .ELSEIF EAX == '='
            INVOKE    _ProcDlgMain, hWnd, WM_COMMAND, IDC_EQU, 0
        .ENDIF
    .ELSEIF    EAX == WM_COMMAND    ;响应按键
。。。。
。。。。

    .ELSE
        MOV    EAX, FALSE
        RET
    .ENDIF
    MOV    EAX, TRUE
    RET
_ProcDlgMain    ENDP
;主程序
START:
    FINIT
    INVOKE    GetModuleHandle,NULL    ;取得模块句柄
    MOV    hInstance,EAX                ;保存到hInstance
    FINIT
    INVOKE    DialogBoxParam, hInstance, DLG_MAIN, NULL, OFFSET _ProcDlgMain, NULL
    MOV hDlg, EAX
    FINIT
    INVOKE    ExitProcess,NULL
END    START

求指导……
搜索更多相关主题的帖子: 键盘 计算器 
2011-10-20 18:03



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-353030-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.217855 second(s), 8 queries.
Copyright©2004-2025, BCCN.NET, All Rights Reserved