鱼C论坛

 找回密码
 立即注册
查看: 2110|回复: 2

求大侠帮助,关于win32汇编滚动条的问题

[复制链接]
发表于 2012-7-7 15:50:16 | 显示全部楼层 |阅读模式
1鱼币
在看小甲鱼老师的win32汇编视频有关滚动条的使用部分时,我将位置变量设为局部变量@dwPos,结果实际操作时发现无论如何移动,滚动条始终在100位置,设为全局变量就没问题,求详细解释。
以下是部分源码:
.elseif eax==WM_HSCROLL
        mov eax,wParam
        .if ax==SB_LINELEFT
            dec @dwPos
        .elseif ax==SB_LINERIGHT
            inc @dwPos
        .elseif ax==SB_PAGELEFT
            sub @dwPos,10
        .elseif ax==SB_PAGERIGHT
            add @dwPos,10
        .elseif ax==SB_THUMBPOSITION||ax==SB_THUMBTRACK
            mov eax,wParam
            shr eax,16
            mov @dwPos,eax
        .endif
        cmp @dwPos,0
        jge @F
        mov @dwPos,0
        @@:
        cmp @dwPos,100
        jle @F
        mov @dwPos,100
        @@:
        invoke SendDlgItemMessage,hWnd,IDC_SCROLLBAR1,SBM_SETPOS,@dwPos,TRUE
        invoke SetDlgItemInt,hWnd,IDC_STATIC,@dwPos,TRUE
    .elseif eax==WM_INITDIALOG
            invoke SendDlgItemMessage,hWnd,IDC_SCROLLBAR1,SBM_SETRANGE,0,100

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
发表于 2012-7-13 01:29:26 | 显示全部楼层
不能是局部变量,全局变量才通知得到。

如果是C-like语言可以 static int dwPos;
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2015-8-21 09:49:17 | 显示全部楼层
厉害
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-6-6 23:40

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表