MFC控件之spin control

来源:互联网 发布:浏览器默认端口号80 编辑:程序博客网 时间:2024/05/01 23:07

关键点:

   1.响应消息,UDN_DELTAPOS;映射函数,OnDeltaposSpin;

      消息结构体,

typedef struct _NM_UPDOWN{
        NMHDR hdr; //通知代码的其他信息
        int iPos; //当前位置
        int iDelta; //位置的增减量,单击向上箭头此值为负数(默认)(取决于SetRange(min,max),还是SetRange(max,min))
   }NMUPDOWN,FAR* LPNMUPDOWN;

实例代码:

  void RINEXObsPage::OnDeltaposSpin2(NMHDR *pNMHDR, LRESULT *pResult) { LPNMUPDOWN pNMUpDown = reinterpret_cast<LPNMUPDOWN>(pNMHDR); // TODO: 在此添加控件通知处理程序代码 int iValue = pNMUpDown->iDelta; }

通过pNMUpDown->iDelta来进行各种操作。

  2.m_spin.SetRange(0,12);

     remark:当是min-max,则向上按,delta为正数;当是max-min时,则向上按,delta位负数。

    m_spin.SetBuddy(GetDlgItem(IDC_EDIT4));
    m_spin.SetBase(10);

    BOOL iss;
    int currentpOS = m_spin.GetPos32(&iss);//获取当前的pos,pos在range之间

 

参考:【1】http://blog.sina.com.cn/s/blog_50cc0ffd0100b0wg.html


原创粉丝点击