上下控件是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; 好了,到现在为止,整个伙伴控件就已经完全做好了!
|