Spin Control (上下控件)

来源:互联网 发布:c语言函数的调用 编辑:程序博客网 时间:2024/05/01 10:39

上下控件是Windows中最常用的控件之一。它只不过是一对箭头,用户可单击它来增加或减少控件的设定值。通常,紧靠着上下控件有一个编辑控件,称为伙伴编辑控件或伙伴控件,用于显示用户输出的值。上下控件在应用程序中用途非常广泛,但目前在纵多出版资料中很少提及其实现方法,使软件开发者甚感迷惑。其实,在Visual  
C++6.0中可以很轻松的实现这一控件。笔者通过试验摸索,对上下控件的实现作一简要介绍,以飨纵软件开发朋友。  
1. 在Visual  
C++6.0中创建一个对话框文档应用程序(这一步应该不用详细介绍了吧!)。  
2.  
打开资源编辑框,将其中的对话框缩放至适当大小。再在其中的适当地方放一个编辑框(即控件框中的EDIT控件),然后在它的右边放一对上下箭头(即控件框中的SPIN控件)。  
注意:这一步中的编辑框和上下箭头必须按上面的先后顺序放置,否则,二者可能勾连不上!  
3.  
按以下指示的顺序依次打开上下箭头的属性框。在对话框上单击上下箭头控件(SPIN)=>单击右键=>选择Properties=>选择Styles属性页。此时弹出一个相应的对话框。  
下面介绍与之有关的一些选项:  
Alignment的选项的功能:  
Right:使上下控件放置在伙伴控件的右边;  
Left:使上下控件放置在伙伴控件的左边;  
Unattached:使上下控件放置与伙伴控件互不勾连;  
Orientation的选项的功能:  
Vertical:设置控件为水平方向;  
Horizontal:设置控件为垂直方向;  
AutoBuddy :设置上下箭头(SPIN)指针,使之指向伙伴编辑框;  
Wrap:使控件值在达到最小值之后回绕到最大值,反之亦然;  
Set buddy integer:设置伙伴控件的值为整形;  
Arrow keys:使用户可以使用键盘的上下箭头来改变控件的值;  
No thousand:没有以千为单位分隔的逗号;  
Hot track:设置热键跟踪;  
至于General和Extend  
Styles两属性页读者可以根据实际情况选择一些自己所需要的项目,在此笔者不再赘述!  
4.  
到目前为止,做出来的控件还没完全达到目的,此时上下箭头的功能与我们实际需要的正好相反:上箭头将使控件的值减小,而下箭头将使控件的值增大;(有兴趣的读者可以试一试)。  
5.  
要使做好的控件达到我们真正需要的目的,其实比较简单:只需在对话框初始化函数(笔者试验的程序中为BOOL  
CHuobanDlg::OnInitDialog())中加上下面的一句话即可;  
m_LSpin.SetRange(-50,50);  
下面对之略加说明:m_Lspin是与上下箭头对应的  
CspinButtonCtrl类的对象。SetRange(int x,int  
y)是设置控件变化的上下界为x,y;  
好了,到现在为止,整个伙伴控件就已经完全做好了!

 

转自:http://www.pcdog.com/edu/vc/2006/10/e147350.html