MFC界面的控件

MFC界面控件说明

1.按钮(Button)

用来接收用户的命令,应用程序在接收到用户命令后,通常需要进行一些后台工作。按钮可以响应单击或双击动作,在按钮接收到鼠标动作后,向其父窗口发送相应的控件通知,用户可以对这些控件通知进行消息映射,从而进行相应的处理。在一个对话框中,可以定义一个默认按钮,这只要选中按钮属性中的“Default”选项。如果在对话框活动的时候按下了Enter键,则等同于单击了默认按钮。MFC提供了CButton类支持按钮控件。

2.复选框(Check Box)

用来显示某种可能的选择,该项选择是独立的,用户可以选中或取消该选项。在选项被选中的时候核选标记出现,选项被取消时核选标记消失。MFC中由CButton类对核选框进行支持,用户可以通过SetCheck()函和GetCheck()函数设置或获取核选框当前的状态。

3.编辑框(Edit Box)

用来接收用户输入的字符串。通过选择编辑框的选项,编辑框可以接收字符串、数字、密码等;编辑框还可以设置成接收多行字符串的模式;可以自动进行大小写转换。编辑框可能向其父窗口发送多种控件通知,如果用户需要,可以对这些控件通知进行处理。MFC提供了CEdit类支持编辑框控件。

4.组合框(Combo Box)

列表框和编辑框的组合,用户除了可以在列表中对已经存在的选项进行选择外,还可以输入新的选。MFC提供了CComboBox类对组合框控件进行支持。

5.列表框(List Box)

用来选择一系列的可能选择,用户通过滚动条可以在这些选择中浏览。在列表框中,可以进行单项选择,也可以进行多项选择,这取决于用户在控件属性对话框中的设置。MFC提供了CListBox类对列表框控件进行支持。

6.组成框(Group Box)

用来包围具有逻辑关系的一组控件,在这些控件的周围加上边界和标题。需注意的是,组成框仅仅是在视觉效果上对控件进行“成组”,真正的“成组”工作还需要另外一些工作。

7.单选按钮(Radio Button)

用来选择某种可能的选择,与核选框不同,该选项不是独立的。一般是几个单选按钮组成一组,同组中的单选按钮可以有也只能有一个按钮被选中。MFC同样使用CButton类对单选按钮控件进行支持,SetCheck()函数和GetCheck()函数对单选按钮也是适用的。

8.静态文本(Static Text)

用来在指定的位置显示特定的字符串,一般用来标识附近另一个控件的内容。显示在静态文本控件中的字符串一般不再改变,但是在需要的时候,也可以通过调用相应的函数来进行设置。MFC提供了CStatic类支持静态控件。

9.图形控件(Picture Control)

常用于显示位图(Bitmap)和图标(Icon)。

10.滚动条(Scroll Bar)

这包括水平滚动条(Horizontal Scroll Bar)和垂直滚动条(Vertical Scroll Bar),除了在视觉效果上的方向不同外,水平滚动条在被滚动时发生WM_HSCROLL消息,而垂直滚动条在被滚动时发送WM_VSCROLL消息。MFC提供了CScrollBar进行支持。

11.滑块控件(Slider Control)

通常用来在程序中接受一系列离散的数值。用户可以设置滑块控件的取值范围,并可以为控件加上刻度标记以显示特定位置的含义。MFC提供了CSliderCtrl类进行支持。

12.微调按钮(Spin Button/Control)

包括一对紧靠在一起的上下箭头,使用微调按钮可以增大或者缩小某个特定的数值。微调按钮往往都需要一个“伙伴”控件,这通常都是一个编辑框。当微调按钮的向上箭头被单击时,编辑框中的数字就增大;反之则减小。MFC提供了CPinButtonCtrl类进行支持。

13.进度条(Progress Control)

在进行一项需要占有较长时间的操作时来反应当前的进度。当操作的进度不断前进时,进度条就用特色颜色填充进度条框。用户可以设定进度条的范围和当前位置。MFC提供了CProgressCtrl类进行支持。

14.热键控制(Hot Key)

热键控件看起来就像一个编辑框,但是在热键控件中能够立刻反应用户刚刚按下的键组合,这在设置程序的热键时特别有用。热键控件只是在“视觉”上显示了按键组合,设置热键的工作还需要用户添加代码完成。MFC提供了CHotKey类进行支持。

15.列表控制(List Control)

按一定的排列顺序显示一系列带图标的字符串,列表控件提供了四种显示模式:大图标、小图标、列表和详细信息。用户可以向列表控件中添加新的项,也可以控制列表控件的显示模式。MFC提供了CListCtrl类进行支持。

16.树形控件(Tree Control)

用来显示一系列项目的层次关系,最典型的例子是显示磁盘上的文件与文件夹。如果有子项目的话,单击树形控件中的项目可以展开或者收缩其子项目。MFC提供了CTreeCtrl类进行支持。

17.属性表控件(Tab Control)

用来包含大量的控件,可以满足用户显示或者获取大量数据的要求。每个属性表又分为好几个属性页,这些属性页由各自的标签进行区分,这些属性页中都可以包容其他控件。在显示属性表的时候,一次只能够显示一个属性页的全部内容,同时显示其他属性页的标签,用户通过单击标签打开相应的属性页。MFC提供了CTabCtrl类进行支持。

18.动画控件(Animation)

用来播放一段AVI格式的视频剪辑。用户可以控制视频剪辑的播放、停止和定位,但也仅限于这些功能。动画控件设置不能播放音频剪辑,如果用户需要更高层次的视频或者音频的支持,请选用MCIWnd控件。MFC提供了 CAnimateCtrl类对动画控件进行支持。

19.高级编辑框(Rich Edit)

编辑控件功能的扩展。在高级编辑框中,除了简单的输入和编辑字符串外,用户还可以为字符或段落指定特定的格式,用户甚至还可以向高级编辑框中插入OLE项。高级编辑框基本上实现了一个带格式的文本编辑器功能,而只需要用户添加少量的接口。MFC提供了CRichEditCtrl类进行支持。

20.日期/时间选择器(Date Time Picker)

向用户提供了一种直观的选择日期和时间的方法、日期/时间选择器在外观上类似于一个组合框,但是当用户单击下拉箭头时就会展开一个日历控件供用户选择,而一旦用户做出了选择,日期/时间选择器会自动显示新的日期/时间。MFC提供了CDateTimeCtrl类进行支持。

21.日历控件(Month Calender)

看似与真正的日历类似,操作也类似,直观的为用户提供了观察和显示当前日期的途径。MFC提供了CMonthCalCtrl类进行支持。

22.IP地址控件(IP Adress Control)

IP地址控件用来输入和编辑IP地址。该控件外观类似于一个编辑框,但是可以自动对输入的字符按3个一组进行区分和加间隔圆点。IP地址控件为开发支持Internet技术的程序提供了方便。MFC提供了CIPAddressCtrl类进行支持。

23.扩展组合框(Extended Combo Box)

在普通组合框的基础上还支持图像列表。即,可以在组合框中显示特定的图标表示相应的选择,而不仅仅是显示文本。MFC提供了CComboBoxEx类进行支持。

24.自定义控件(Custom Control)

可以快速建立可定制化的控件;可以应付动态交换,比如一个custom contorl,在某种状态下,是listctrl,在某种状态下是Treectrl;也可以把封装好的dll,定制到custom contorl,也可以有源码的使用。

25.超链接(SysLink Control)

实现超链接功能。

26.具有下拉菜单的按钮(Split Button Control)

实际上还有点像Combo Box.不过它的实现是button加menu.所以它的消息处理可以分成button的处理和menu的处理。

27.网络地址(Network Address Control)

二、所有控件的公共属性

1. ID

控件的资源标识。

2.Visiable

控件是否可见。

3.Disabled

控件是否被禁止、被禁止的控件无法接受键盘和鼠标输入。

4.Group

是否从这个空间开始一个新组。

5. Tab stop

在程序中是否可以用【Tab】键切换到这个控件。

6. Help ID

是否给控件分配一个帮助标识,帮助标识基于控件本身的资源标识。

7. Client edge

给控件增加一个凹陷的边界,使整个控件看起来像是凹下去的一样。

8. Static edge

给控件增加一个边界。

9. Modal frame

给控件增加一个3维的框架,与Client edge相反,它是凸出来的。

10. Transparent

拥有此属性的窗口是透明的,它下面的窗口不会被它遮掩住。

11. Accept files

拥有此属性的窗口可以接收拖放文件,如果一个文件被拖动到这个控件上面,控件会收到WM_DROPFILES消息。

12. No parent notify

表示控件不向其父窗口发送WM_PARENTNOTIFY消息

13. Right aligned text

表示文本右对齐。

以上属性可通过控件的属性对话框进行设置,在属性对话框中按【F1】键可以查看属性的帮助信息。

每一种控件都由一个MFC控件类来管理,当通过资源编辑器在对话框上添加一个控件时,visualC++会自动为控件类生成一个实例,即对象,并调用构造函数,当对话框关闭时,其各个子控件对象被自动销毁。也可以不使用资源编辑器,自己在程序中写代码创建、显示控件并设置控件的属性。

所有的控件类都继承自CWnd,控件的某些操作和属性设置需要用到CWnd本身的成员函数,CWnd某些函数经常用来操纵控件和设置控件属性。

三、关于窗口

1. SetWindowText

设置控件上要显示的标题文本,即用来设置控件的caption属性

2. GetWindowText

得到控件的标题文本

3. EnableWindow

设置控件的Disabled属性,即社会自控件是否可以接收键盘和鼠标的输入

4. SetWindowPos

改变窗口的大小、位置和Z轴次序。

5. MoveWindow

改变窗口的大小和位置

6. GetWindowRec

得到窗口的大小、位置(信息存放在一个矩形结构中)。

7. GetClientRect

得到窗口客户区的大小(信息存放在一个矩形结构中 )

8. ShowWindow

设置窗口的可见性(即窗口是否可见)

9. SetWindowText/GetWindowText

还可以用来设置/得到对话框的标题文本。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值