请问如何设置CSliderCtrl鼠标拖动移动距离

html007 2000-08-08 12:02:00
...全文
307 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
hyzx2000 2000-08-08
  • 打赏
  • 举报
回复
你说的是当鼠标在SlideCtrl上点击时那个指示器的移动距离吧!可以用
m_slide.SetPageSize( 125 );

hyzx2000 2000-08-08
  • 打赏
  • 举报
回复
属性页也有OnInitDialog(),你用ClassWizard增加对WM_INITDIALOG消息的处理就有了。如果你想在鼠标拖动指示器之后即判断指示器的位置,请对该控件处理NM_RELEASEDCAPTURE消息,在消息中: if( m_slide.GetPos()满足条件) {.....如设置位置SetPos(...);等}
html007 2000-08-08
  • 打赏
  • 举报
回复
我会疯了,请您认真帮帮忙吧!我的这个CSlideCtrl时建立在属性页上的,而属性页中不提供OnInitDialog(),我自己加了后,将m_kuaiman_CS.SetRange(0,500,TRUE);
m_kuaiman_CS.SetLineSize(125);
m_kuaiman_CS.SetPageSize(125);写进去可还是不认识,如果方便的话请帮忙些个例子,只要鼠标拖动可按设置的进行即可。elimeimei@163.net谢谢!
html007 2000-08-08
  • 打赏
  • 举报
回复
想您说的在OnInitDialog()中写,也设了m_kuaiman_CS.SetRange(0,500,TRUE);
m_kuaiman_CS.SetLineSize(125);
m_kuaiman_CS.SetPageSize(125);可鼠标拖动起来还是想放到那就放到那,怎么办?
hyzx2000 2000-08-08
  • 打赏
  • 举报
回复
你的窗口是Dialog还是View。如果是Dialog,请在OnInitDialog()中写.
因为OnCreate时窗口还没调用DoDataExchange()呢。m_slide怎么会有有效的hwnd呢?
html007 2000-08-08
  • 打赏
  • 举报
回复
老兄我在ClassWizard添加了IDC_MYSLIDE的成员变量,可在oncreate中得到的还是m_side.GetSafeHwnd()为NULL,不信你自己做做。
hyzx2000 2000-08-08
  • 打赏
  • 举报
回复
你在调用SetPageSize()时m_slide是一个有效的窗口吗?即m_side.GetSafeHwnd()要不为NULL。
可以先用m_slide.SubclassDlgItem(IDC_MYSLIDE)或m_slide.Create(....)或用ClassWizard添加了IDC_MYSLIDE的成员变量。
html007 2000-08-08
  • 打赏
  • 举报
回复
请问我在资源中添加CSlideCtrl控件,在oncreate函数中设置m_slide.SetPageSize( 125 );但程序运行到时报错,怎么也走不下去,怎么办?急死!

16,471

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC相关问题讨论
社区管理员
  • 基础类社区
  • Web++
  • encoderlee
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

        VC/MFC社区版块或许是CSDN最“古老”的版块了,记忆之中,与CSDN的年龄几乎差不多。随着时间的推移,MFC技术渐渐的偏离了开发主流,若干年之后的今天,当我们面对着微软的这个经典之笔,内心充满着敬意,那些曾经的记忆,可以说代表着二十年前曾经的辉煌……
        向经典致敬,或许是老一代程序员内心里面难以释怀的感受。互联网大行其道的今天,我们期待着MFC技术能够恢复其曾经的辉煌,或许这个期待会永远成为一种“梦想”,或许一切皆有可能……
        我们希望这个版块可以很好的适配Web时代,期待更好的互联网技术能够使得MFC技术框架得以重现活力,……

试试用AI创作助手写篇文章吧