第三讲:常用控件应用程序框架

控件的基本概念

控件是独立的小部件,在对话框与用户的交互过程中,担任着主要角色。对话框在Visual C++中实际上是窗口,因此,控件可以说是构成应用程序窗体的主要组成部分控件是独立的小部件,在对话框与用户的交互过程中,担任着主要角色。对话框在Visual C++中实际上是窗口,因此,控件可以说是构成应用程序窗体的主要组成部分。

第三讲:常用控件应用程序框架_第1张图片

VisualC++中的控件

Visual C++ 6.0中所有的控件类都是由CWnd类派生来的,因此,控件实际上也是窗口。控件通常是作为对话框的子窗口而创建的,控件也可以出现在视图窗口、工具栏和状态栏中。控件的种类很多,Visual C++ 6.0提供的一些基本控件如图所示。
第三讲:常用控件应用程序框架_第2张图片

文本控件

文本控件是指在在对话框中显示文字或图像的控件,该类控件是一种单向交互的控件,只能支持应用程序的输出,而不能接受用户的输入。在Visual C++中其包含静态正文控件(Static Text)和图片控件(Picture)两种。
第三讲:常用控件应用程序框架_第3张图片
图片控件 Picture 

图片控件的使用与静态正文对话框相似,将Picture控件拖动到对话框中,并单击右键打开如图所示属性对话框,为其

设置属性即可

第三讲:常用控件应用程序框架_第4张图片

编辑框控件(Edit Box

编辑框控件可以接受用户的输入和编辑。在编辑框中,用户可以输入文字、数字,并能用剪切、粘贴、复制、删除等
操作来编辑用户的输入,编辑框既可以是单行的,也可以是多行的。
第三讲:常用控件应用程序框架_第5张图片
按钮控件
命令按钮()的作用是对用户的鼠标单击作出反应并触发相应的事件,在按钮中既可以显示正文,也可以显示位图。
按钮可以响应鼠标单击的小矩形子窗口,向父窗口发出两种控件通知消息:BN_CLICKED(在按钮上单击)和
BN_DOUBLECLICKED(在按钮上双击)。
第三讲:常用控件应用程序框架_第6张图片
列表框控件(List Box
列表框控件是一个条目列表,它允许用户从所列出的表项中进行单项或多项选择,被选择的项呈高亮度显示。列表框
具有边框,并且一般带有一个垂直滚动条。列表框分单选列表框和多重选择列表框两种:单选列表框一次只能选择一
个列表项,而多重选择列表框可以进行多重选择。
第三讲:常用控件应用程序框架_第7张图片
组合框控件( Combo Box
组合框把一个编辑框和一个单选择列表框结合在了一起,用户既可以在编辑框中输入,也可以从列表框中选择一个列
表项来完成输入。组合框有以下3种风格。
简易式(Simple):简易式组合框包含一个编辑框和一个总是显示的列表框。
下拉式(Dropdown):下拉式组合框同简易式组合框类似,二者的区别在于仅当单击下滚箭头后列表框才会弹出。
下拉列表式(Drop List):下拉列表式组合框也有一个下拉的列表框,但它的编辑框是只读的,不能输入字符。
滚动条控件( Scroll Bar
滚动条的主要作用是从某一预定义值的范围内快速有效地选取一个整数值。按照滚动条的走向,滚动条分为水平滚动
条和垂直滚动条两种。在滚动条内有一个滚动框,用来表示当前的值。用鼠标单击滚动条,可以使滚动框移动一页或
一行,也可以直接拖动滚动框。滚动条既可以作为一个独立控件存在,也可以作为窗口、列表框和组合框的一部分。
添加、移动、复制和删除控件 

要在实际应用中使用控件,首先必须将控件添加到对话框中。一般来说,在对话框中添加控件的方法有如下两

种。

在控件工具栏中选择某控件,此时的鼠标箭头在对话框中变成“+”形状。在对话框指定位置单击鼠标左键,则

此控件被添加到对话框的相应位置,再拖动选择框可改变控件的大小和位置。

在控件工具栏中选择某控件,并按住鼠标左键不放,在移动鼠标到对话框的指定位置的过程中,用户会看到一个

虚线框,下面带有该控件的标记,然后释放鼠标,新添加的控件就出现在对话框中。

读者可以在对话框模板中随意添加几个控件试试。当用鼠标选择对话框或控件时,在它们周围就会出现一个虚

框,拖动虚框的边界就可以改变对话框或控件的大小,在屏幕下方的状态栏中会显示出所选对象的坐标和尺寸。

控件可以被拖动,也可以按箭头键来移动选中的控件。

控件的布局

在对话框中添加了控件后,如果控件数量众多,那么手动拖动这些控件的位置使之对齐是非常烦琐的。因

此,Visual C++ 6.0提供了控件布局工具栏。

选中【Dialog】菜单项后可弹出控件布局工具栏。需要读者注意的是,弹出的布局工具都是灰色图标,表示当

不可用,只有当用户选定了多个控件后这些图标才是可用的,如图所示






  

 

你可能感兴趣的:(c语言,mfc,控件,windows,visual,c++6.0)