| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
共有 2790 人关注过本帖
标题:用win32汇编如何限定一个文本编辑框输入内容
取消只看楼主 加入收藏
youyong407
Rank: 1
等 级:新手上路
帖 子:62
专家分:3
注 册:2008-9-22
结帖率:100%
收藏
已结贴  问题点数:0 回复次数:2 
用win32汇编如何限定一个文本编辑框输入内容
用win32汇编限定一个文本编辑框中的输入的内容,我已经知道以下几点:
1.用SetWindowLong函数获取原来窗口过程地址;
2.然后调用一个新的窗口过程,代码如下:
            .data
szAllowChar    db    '0123456789',08h
_NewProc    proc    uses esi edi ebx hWnd,uMsg,wParam,lParam
        LOCAL    @szBuffer[512]:byte
        mov    eax,uMsg
        .if    uMsg ==    WM_CHAR
            mov    eax,wParam
            mov    edi,offset szAllowChar
            mov    ecx,sizeof szAllowChar
            repnz    scasb
            .if    ZERO?
                    invoke    CallWindowProc,lpOldProc,hWnd,uMsg,eax,lParam
                    ret
            .endif
        .else
            invoke    CallWindowProc,lpOldProc,hWnd,uMsg,wParam,lParam
            ret
        .endif
        
        xor    eax,eax
        ret
_NewProc     endp
但是却达不到预定的效果,大家能告诉我我错在哪儿了吗?

努力!加油!坚持!
2010-09-19 10:50
youyong407
Rank: 1
等 级:新手上路
帖 子:62
专家分:3
注 册:2008-9-22
收藏
得分:0 
我要限制的是输入的内容(只能输入0-9之间的数字),窗口子类化就可以,但是我写的代码好像不行。能帮我看看到底怎么回事吗?

努力!加油!坚持!
2010-09-19 14:38
youyong407
Rank: 1
等 级:新手上路
帖 子:62
专家分:3
注 册:2008-9-22
收藏
得分:0 
SubClass.rar (11.19 KB)

谢谢zklhp所给予的帮助,附件是我参考你所提供的例子编写的关于子类化一段小程序。上传上来,以方便后续有需要的朋友。
再次感谢zklhp的帮助!谢谢!

努力!加油!坚持!
2010-09-20 13:44
快速回复:用win32汇编如何限定一个文本编辑框输入内容
数据加载中...
 
   



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

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