You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何让CSpinButtonCtrl自动吸附到CEdit右侧?

实现CSpinButtonCtrl自动吸附到编辑框右侧的方法

要让旋转控件自动定位到伙伴编辑框右侧,核心是利用系统提供的控件样式和原生机制,具体操作如下:

  • 设置关键控件样式:给旋转控件添加UDS_ALIGNRIGHT样式,该样式会让控件自动对齐到伙伴窗口的右侧。同时保留已设置的UDS_AUTOBUDDY(自动伙伴)和UDS_SETBUDDYINT(整数递增模式)样式。
  • 资源编辑器创建场景:
    1. 先添加编辑框,再添加旋转控件(确保编辑框的Tab顺序在旋转控件之前)。
    2. 选中旋转控件,在属性窗口勾选「自动伙伴」「设置伙伴整数」「右对齐」选项,对应就是启用上述三个关键样式。
  • 动态创建场景:
    在调用Create方法时,将UDS_ALIGNRIGHT | UDS_AUTOBUDDY | UDS_SETBUDDYINT作为样式参数传入,可配合SetBuddy手动指定伙伴编辑框,示例代码:
    // 假设已有编辑框对象m_edit
    CSpinButtonCtrl m_spin;
    m_spin.Create(UDS_ALIGNRIGHT | UDS_AUTOBUDDY | UDS_SETBUDDYINT, 
                  CRect(0,0,0,0), this, IDC_SPIN_CTRL);
    m_spin.SetBuddy(&m_edit);
    
  • 注意事项:
    • 旋转控件的初始尺寸无需手动调整,UDS_ALIGNRIGHT会自动适配伙伴编辑框的高度,宽度保持旋转控件默认值。
    • 若依赖UDS_AUTOBUDDY自动关联伙伴,必须保证伙伴窗口的Tab顺序在旋转控件之前。

内容的提问来源于stack exchange,提问作者Andrew Truckle

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.27 09:33:12