大哥哥,大姐姐们,救救小弟!! 怎么区分微调控件的上下两部分,我想长按上面的按钮时发一个命令,按下一个命令在发一个命令?应该怎么做?谢谢 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 ON_NOTIFY(UDN_DELTAPOS, IDC_SPIN1, &OnDeltaposSpin1)lpnmud->iPos 与 lpnmud->iDelta两个参数告诉了你方向和位置与移动量 微软提供的方法是double click和click两种。不过如果楼主需要你这种方法的话,要自己重新做消息和事件了。估计要用上定时器 VC中Spin控件的使用 2 2011-05-11 09:59:25| 分类: ARM9|字号 订阅 (2)旋转按钮控件的基本操作 基本操作包括基数、范围、位置设置和获取,分别说明如下: 基数的设置和获取 成员函数SetBase是用来设置其基数的,其原型如下: int SetBase(int nBase); 此成员函数用来设置一个旋转按钮控件的基数.这个基数值决定了伙伴窗口显示的数字是十进制的还 是十六进制的.十六进制的数总是无符号的;十进制的数是有符号的.如果成功则返回先前的基数值, 如果给出的是一个无效的基数则返回一个非零值。参数nBase表示控件的新的基数. 与此函数相对应的是获取一个旋转按钮控件的基数的成员函数:UINT GetBase()const; 范围及当前位置的设定和获取 成员函数SetPos、SetRange是用来设置一个旋转按钮控件的当前位置和范围,其原型如下: int SetPos(int nPos); 参数nPos表示控件的新位置.这个值必须在控件的上限和下限指定的范围之内. void SetRange(int nLower,int nUpper); void SetRange32(int nLower,int nUpper); 参数nLower和nUpper表示控件的上限和下限.任何一个界限值都不能大于UD_MAXVAL或小于 UD_MINVAL。另外,两个界限值之间的差值必须不超过UD_MAXVAL。成员函数SetRange32为此 旋转按钮控件设置32位的范围。 与上述函数相对应的成员函数有: int GetPos()const; DWORD GetRange()const; void GetRange(int& lower,int& upper)const; void GetRange32(int& lower,int& upper)const; 其他操作成员函数 CWnd* SetBuddy(CWnd* pWndBuddy); 此成员函数用来为一个旋转控件设置伙伴窗口。返回值一个指向先前的伙伴窗口的指针。参数 pWndBuddy表示指向新的伙伴窗口的指针。 BOOL SetAccel(int nAccel,UDACCEL* pAccel); 此成员函数用来设置一个旋转按钮控件的加速。如果成功则返回非零值;否则返回0。参数nAccel表 示由pAccel指定的UDACCEL结构的数目.pAccel指向一个UDACCEL结构数组的指针,该数组包含了加速 信息,其结构如下: typedef struct{ UINT nSec;//位置改变前所等待的秒数。 UINT nInc;//位置增量。 }UDACCEL,FAR* LPUDACCEL; 与上述函数相对应的成员函数有: CWnd* GetBuddy()const; UINT GetAccel(int nAccel,UDACCEL* pAccel)const; (3)旋转按钮控件的通知消息 旋转按钮控件的通知消息只有一个:UDN_DELTAPOS,它表示控件的位置将要改变。用ClassWizard可以映射此消息,在此消息的处理函数中有个NM_UPDOWN结构需要进行 说明,其结构如下: typedef struct _NM_UPDOWN{ NMHDR hdr; //通知代码的其他信息 int iPos; //当前位置 int iDelta; //位置的增减量,单击向上箭头此值为负数 }NMUPDOWN,FAR* LPNMUPDOWN;应用实例:用Spin控件完成对字符的增减 响应ON_WM_LBUTTONDOWN()OnLButtonDown(UINT nFlags, CPoint point)根据point得到当前点击的位置。根据GetClientRect( &rect )得到控件区域。就可以判断出点击的是控件的上半部分还是下半部分。 在共享 DLL 中使用 MFC, 程序没法在其他机器上运行... 有关VC++ +sql server 2000 ADO做MIS时 登录对话框的问题 求助~~~~~~~ACtiveX控件 VC6.0的连接错误提示信息。 一个关于VC的ini文件的保存与读取 一个关于ATL IIS的问题,请高手们帮忙 为什么recv接收不到数据包? 画二叉树的问题!会者请进。 vc中怎么使用现有的类,窗体怎么从一个类继承 莫名其妙的调用dll错误 关于MFC对话框程序的键盘响应方法 两个对话框之间怎样传递消息
lpnmud->iPos 与 lpnmud->iDelta两个参数告诉了你方向和位置与移动量
不过如果楼主需要你这种方法的话,要自己重新做消息和事件了。估计要用上定时器
2011-05-11 09:59:25| 分类: ARM9|字号 订阅
(2)旋转按钮控件的基本操作 基本操作包括基数、范围、位置设置和获取,分别说明如下: 基数的设置和获取 成员函数SetBase是用来设置其基数的,其原型如下: int SetBase(int nBase); 此成员函数用来设置一个旋转按钮控件的基数.这个基数值决定了伙伴窗口显示的数字是十进制的还 是十六进制的.十六进制的数总是无符号的;十进制的数是有符号的.如果成功则返回先前的基数值, 如果给出的是一个无效的基数则返回一个非零值。参数nBase表示控件的新的基数. 与此函数相对应的是获取一个旋转按钮控件的基数的成员函数:UINT GetBase()const; 范围及当前位置的设定和获取 成员函数SetPos、SetRange是用来设置一个旋转按钮控件的当前位置和范围,其原型如下: int SetPos(int nPos); 参数nPos表示控件的新位置.这个值必须在控件的上限和下限指定的范围之内. void SetRange(int nLower,int nUpper); void SetRange32(int nLower,int nUpper); 参数nLower和nUpper表示控件的上限和下限.任何一个界限值都不能大于UD_MAXVAL或小于 UD_MINVAL。另外,两个界限值之间的差值必须不超过UD_MAXVAL。成员函数SetRange32为此 旋转按钮控件设置32位的范围。 与上述函数相对应的成员函数有: int GetPos()const; DWORD GetRange()const; void GetRange(int& lower,int& upper)const; void GetRange32(int& lower,int& upper)const; 其他操作成员函数 CWnd* SetBuddy(CWnd* pWndBuddy); 此成员函数用来为一个旋转控件设置伙伴窗口。返回值一个指向先前的伙伴窗口的指针。参数 pWndBuddy表示指向新的伙伴窗口的指针。 BOOL SetAccel(int nAccel,UDACCEL* pAccel); 此成员函数用来设置一个旋转按钮控件的加速。如果成功则返回非零值;否则返回0。参数nAccel表 示由pAccel指定的UDACCEL结构的数目.pAccel指向一个UDACCEL结构数组的指针,该数组包含了加速 信息,其结构如下: typedef struct{ UINT nSec;//位置改变前所等待的秒数。 UINT nInc;//位置增量。 }UDACCEL,FAR* LPUDACCEL; 与上述函数相对应的成员函数有: CWnd* GetBuddy()const; UINT GetAccel(int nAccel,UDACCEL* pAccel)const; (3)旋转按钮控件的通知消息 旋转按钮控件的通知消息只有一个:UDN_DELTAPOS,它表示控件的位置将要改变。用ClassWizard可以映射此消息,在此消息的处理函数中有个NM_UPDOWN结构需要进行 说明,其结构如下: typedef struct _NM_UPDOWN{ NMHDR hdr; //通知代码的其他信息 int iPos; //当前位置 int iDelta; //位置的增减量,单击向上箭头此值为负数 }NMUPDOWN,FAR* LPNMUPDOWN;应用实例:用Spin控件完成对字符的增减
OnLButtonDown(UINT nFlags, CPoint point)根据point得到当前点击的位置。根据GetClientRect( &rect )得到控件区域。就可以判断出点击的是控件的上半部分还是下半部分。