MFC各种控件属性介绍
VCMFC中的CComboBox控件使用详解
VCMFC中的CComboBox控件使用详解VC/MFC中的CComboBox控件使用详解CComboBox控件详解CComboBox控件又称作组合框控件,其有三种形态可供选择,1.简单组合框(Simple)2.下拉组合框(Drop-down)3.下拉列表式组合框(Drop-down list).CComboBox控件的常用设置属性说明:type属性:里面一共有三个选项.就是其三种形式, 我们常用的是后两种形态,其区别就是Dropdown的编辑区为可编辑控件,而droplist 为静态控件.Data属性:当程序初始化的时候,下拉列表将显示其属性里面的内容,内容用分号分隔.其属性只支持后2中形式,Sort 属性:对添加到下拉列表框中的数据自动进行排序,如果你不想他改变你的显示序列,把他设置成False.控件是一个窗口.其基类是为CWnd.所以CComboBox也可以使用CWnd的一些函数,它自己的函数有30几种.我写了一个示范程序,演示了一些常用的函数,你可以参考其代码看到其功能.注:m_cbox 为CComboBox控件的关联变量,m_end为EDIT控件的关联变量1.GetCount() 函数:用以获得列表框中的选项数目. int GetCount() const;(此乃函数原型,我会列在每条的后面) 下面的例子是程序中各个按钮里面的代码int i;CString str;i=m_cbox.GetCount();str.Format ("%d",i);m_end="一共有"+str+"个数据";UpdateData(FALSE);2.GetCurSel() 函数:用以得到用户选中下拉列表框中数据的索引值.返回的值是重0开始的,如果没有选择任何选项将会返回-1 Int GetCurSel() constint i;CString str;i=m_cbox.GetCurSel ();str.Format ("%d",i+1);if (i==-1) m_end="你什么都没有选";else m_end="你选的是第"+str+"项";UpdateData(FALSE);3.SetCurSel函数:选取列表框中的一个选项,索引从0开始,-1为什么都不选.当你需要把列表框中已经选取的内容清空时就可以使用这个函数;if(m_i<3) m_cbox.SetCurSel (m_i++);//m_i为int型变量用以计数else {m_cbox.SetCurSel (-1);m_i=0;}4.SetEditSel函数:设置编辑区中蓝色选中字段的长度, BOOL SetEditSel( intnStartChar,int nEndChar ); nStartChar是起始的位置,当设置为-1时为不选择任何字段,nEndChar是结束位置.还有一个对应的函数GetEditSel是取得其位置,在此不详解.m_cbox.SetEditSel (3,5);//在编辑框中打入一串数字在按此按钮就能看到效果//其作用就是选中第3到第5个字符作为热点5.Clear() Cut() Paste() Copy() 这四个函数我放在一起说,因为他们都是针对编辑框中选定的文字进行编辑的函数,很多初学者很不明白这4个函数,使用这些函数没有作用,其实不然,这些函数对于在编辑框中的内容不进行处理,他真正处理的是你用鼠标选中的内容,对于Clear()函数很多书中解释都是有误的,很多书中对他的解释是清除当前选中的文本,我认为这样的解释是有歧异的,真正的解释是把你刚选中的文本释放掉,也就是不选,而不是把选中的删除,真正的删除选中的文本的函数是Cut(),Copy()是复制选中的文本,Paste()是粘贴到光标处.其演示就不写在程序中,有兴趣的朋友可以自己试试.6.LimitText()函数.其作用是限制在编辑框中键入的文本长度,BOOL LimitText(int nMaxChars); 当nMaxChars为0时,不是不能输入,而是长度最大化为65535字节7.GetLBText()函数.其原型为void GetLBText( int nIndex, CString&rString ).nIndex为列表框中数据的索引值,rString 为字符串,其作用就是把索引号为nIndex的数据放到rString变量中.与其对应的GetLBTextLen(intnIndex)函数就是得到索引号为nIndex中数据的长度m_cbox.GetLBT ext (2,m_end); // GetLBText按钮UpdateData(0);CString str; //GetLBTextLen按钮int i=m_cbox.GetLBTextLen (2);str.Format ("%d",i);m_end=str;UpdateData(FALSE);8.AddString() DeleteString() InsertString() ResetContent() 四个函数放在一起,他们都是针对下拉列表框的处理函数, AddString(LPCTSTR lpszString) 是在列表框的尾巴添加一条数据,参数为字符串. DeleteString(UINT nIndex)为删除指定索引为nIndex的数据. InsertString(int nIndex, LPCTSTR lpszString)在索引nIndex处插入IpszString的内容. ResetContent()是清除列表框中所有的内容.9.SetDroppedWidth(UINT nWidth) 函数.用于设定下拉列表框的最小宽度,当下拉列表框中的数据很长不能完全显示时,我们可以使用这个函数把列表框的宽度设置的大些.同样GetDroppedWidth()是返回列表框的宽度.以下为总结了各大论坛中对CCombBox控件使用的问题.并给出了正解.1.关于CComboBox在对话框中没有下拉项目的问题答: 资源编辑器中对话框中CComboBox组件的垂直范围拉大了下,就看见字体了,看到那个向下的黑箭头了吗,点他下拉,嘿嘿就这么简单.2.请问怎样能让CCombobox记住用户的输入.下次使用时还有答: 要记住用户的输入必须用到文件读写,或者把内容添加到注册表中,我会在以后给出解决办法.3. CCOMBOBOX如何使它只读,不能编辑答: 看了本文的介绍也许你现在知道了, CCOMBOBOX有三种类型的,选择你需要的吧!4. 我要让界面一显示,就能在Combo框中显示默认的数据答: 你要在OnInitDialog里面加上我上面所提到的SetCurSel()函数就行了.5. 如何把选好的内容赋给变量答: 先给CCOMBOBOX设置一个CString关联变量,再添加事件处理函数CBN_ Selchange.使用UpdateData(FALSE)就行了.6. 在CComboBox组合框中,条目的对齐方式是左对齐,能设置为对中或者右对齐吗?答: 没有直接的方法,你必须自己对齐, 比如最大长度是10int i;String.Format("%10d", i);CComboBox->AddStringVC combobox 使用大全 ---------------------------------------------------一、如何添加/删除Combo Box内容1. 在Combo Box控件属性的Data标签里面添加,一行表示Combo Box下拉列表中的一行。
MFC_基本控件使用
MFC_基本控件使用MFC(Microsoft Foundation Class)是一种用于开发Windows应用程序的编程框架,它提供了一系列的类和函数,方便开发者快速地创建Windows界面和处理事件。
在MFC中,基本控件是开发应用程序的重要组成部分,它们用于显示和交互用户界面。
本文将介绍MFC中几种常用的基本控件以及它们的使用方法。
1. 按钮控件(CButton):按钮控件用于接收用户的点击操作,通常用于触发相应的事件处理函数。
创建按钮控件的方法如下:1)在资源视图中右击对应的对话框,选择“添加控件”;2)选择“按钮”并将其拖动到对话框上;3)设置按钮的属性,如ID、文本、尺寸等。
1)在资源视图中右击对应的对话框,选择“添加控件”;组合框控件允许用户从预定义的选项中进行选择,类似于下拉列表。
创建组合框控件的方法如下:1)在资源视图中右击对应的对话框,选择“添加控件”;2)选择“组合框”并将其拖动到对话框上;3)设置组合框的属性,如ID、选项列表、尺寸等。
4. 列表框控件(CListBox):列表框控件用于显示一个选项列表,并且可以支持多选。
创建列表框控件的方法如下:1)在资源视图中右击对应的对话框,选择“添加控件”;2)选择“列表框”并将其拖动到对话框上;3)设置列表框的属性,如ID、选项列表、尺寸等。
5. 树形视图控件(CTreeCtrl):树形视图控件用于显示一个层级结构的数据,类似于文件夹结构或者程序的菜单栏。
创建树形视图控件的方法如下:1)在资源视图中右击对应的对话框,选择“添加控件”;2)选择“树形视图”并将其拖动到对话框上;3)设置树形视图的属性,如ID、尺寸等;4)使用CTreeCtrl的成员函数添加、删除、修改树节点。
6. List控件(CListCtrl):1)在资源视图中右击对应的对话框,选择“添加控件”;2)选择“List控件”并将其拖动到对话框上;3)设置List控件的属性,如ID、列数、尺寸等;以上是几种常用的MFC基本控件的使用方法,通过使用这些控件,可以轻松地创建出一个功能完善、交互友好的Windows应用程序。
MFC中listbox控件中各种属性的详解
MFC中listbox控件中各种属性的详解ListBox控件是Windows 窗体的⼀个空间,ListBox 控件显⽰⼀个项列表,⽤户可从中选择⼀项或多项。
如果项总数超出可以显⽰的项数,则⾃动向 ListBox 控件添加滚动条。
当 MultiColumn 属性设置为 true 时,列表框以多列形式显⽰项,并且会出现⼀个⽔平滚动条。
当 MultiColumn 属性设置为 false 时,列表框以单列形式显⽰项,并且会出现⼀个垂直滚动条。
当ScrollAlwaysVisible 设置为 true 时,⽆论项数多少都将显⽰滚动条。
SelectionMode 属性确定⼀次可以选择多少列表项。
SelectedIndex 属性返回对应于列表框中第⼀个选定项的整数值。
通过在代码中更改 SelectedIndex 值,可以编程⽅式更改选定项;列表中的相应项将在 Windows 窗体上突显出来。
如果未选定任何项,则 SelectedIndex 值为 -1。
如果选定了列表中的第⼀项,则 SelectedIndex 值为 0。
当选定多项时,SelectedIndex 值反映列表中最先出现的选定项。
SelectedItem 属性类似于 SelectedIndex,但它返回项本⾝,通常是字符串值。
Items.Count 属性反映列表中的项数,并且 Items.Count 属性的值总⽐ SelectedIndex 的最⼤可能值⼤ 1,因为 SelectedIndex 是从零开始的。
若要在 ListBox 控件中添加或删除项,请使⽤ Items.Add、Items.Insert、Items.Clear 或 Items.Remove ⽅法。
或者,可以在设计时使⽤Items 属性向列表添加项。
其中,selection中的四种选择模式(single、multiple、extended、None)的说明:single:允许每次选择⼀个item;multiple:允许每次选择多个item;extended:允许按下Shift或者Ctrl来选择多⾏;None:选中item,但是不⾼亮之,只显⽰该item上交点(item外有矩形框)。
MFC各种控件属性介绍
MFC各种控件属性介绍MFC(Microsoft Foundation Class)是Microsoft提供的一套C++类库,用于简化Windows应用程序的开发过程。
MFC中有许多控件可以用于构建用户界面,每个控件都有自己的属性。
接下来将介绍一些常用的MFC控件及其属性。
1. Button按钮控件:3. List Box列表框控件:List Box控件用于显示一列选项供用户选择。
常用属性包括:列表框内容(List Box Content)、选择模式(Selection Mode)、默认选择项(Default Selection)等。
5. Static静态文本控件:Static控件用于显示一些静态文本信息。
常用属性包括:文本内容(Static Text)、字体属性(Font Attributes)、文本颜色(Text Color)等。
6. Check Box复选框控件:Check Box控件用于显示一个选项,用户可以选择或取消选择该选项。
常用属性包括:选项文本(Check Box Text)、选项状态(Check Box State)、选项位置(Check Box Position)等。
7. Radio Button单选按钮控件:Radio Button控件用于显示一组互斥的选项,用户只能选择其中的一个选项。
常用属性包括:选项文本(Radio Button Text)、选项状态(Radio Button State)、选项位置(Radio Button Position)等。
8. Slider滑块控件:Slider控件用于在一个范围内选择一个数值。
常用属性包括:数值范围(Value Range)、默认数值(Default Value)、滑块大小(Slider Size)等。
9. Progress Bar进度条控件:Progress Bar控件用于显示一个操作的进度。
常用属性包括:进度范围(Progress Range)、当前进度(Current Progress)、进度栏宽度(Progress Bar Width)等。
MFC
文本框的重要属性行水平滚动。
用户可以使用ENTER键来开始新行。
如果没有选择AutoHScroll属性,多行文本编辑控件将视需要将文本进行自动折行。
而仅当Want return 属性为真时,用户才可以使用ENTER键来开始新行。
此外,在添加代码实现程序功能的过程中,应在事件消息函数中引用Wnd::UpdateData()函数对控件中的数据读写进行更新操作。
UpdateData()是MFC的窗口函数,用来刷新数据的,函数原型为BOOL UpdateData(BOOL bSaveAndValidate=TRUE)。
UpdateData(TRUE)刷新控件的值到对应的变量。
即:控件的值->变量。
UpdateData(FALSE)拷贝变量值到控件显示。
即:变量值->控件显示。
基于对话框的MFC应用程序实例下面就以求平面上两点间的距离为例编写基于对话框的应用程序。
第一步:利用向导创建基于对话框的程序框架如下图所示:创建基于对话框的程序框架第二步:对话框界面设计(编辑对话框资源)如下图所示在工具箱中选择static text、Edit Control添加控件(按住Ctrl键,拖动对话框上的控件可以复制控件)。
然后再控件属性中修改ID属性,以便于通过ID即可识别控件的名称,如:把IDC_EDIT1改成IDC_EDITX1等。
利用对话框资源编辑工具条,可以调整对话框中的控件位置、大小,进行界面的设计。
同样可以修改其他属性,如文字左对齐、居中、右对齐等。
选择控件,右击,选择添加变量,弹出如下图所示的对话框,添加对应的成员变量。
在类型中选择Value,变量类型为double,变量名为X1。
同样方法分别添加X2变量、Y1变量、Y2变量和距离变量dblDist。
第四步:添加Button控件Click消息函数。
双击Button控件弹出下图所示的函数,或在对话框类属性的事件中(闪电标志)即控件事件选择相应的Button控件资源,添加相应的消息。
MFC各种控件属性介绍
MFC各种控件属性介绍VC++6.0控件工具箱:2 图形控件(picture):常用于显示位图(Bitmap)和图标(Icon)3 静态文本(Static Text):用来在指定的位置显示特定的字符串,一般用来标识附近另一个控件的内容。
显示在静态文本控件中的字符串一般不再改变,但是在需要的时候,也可以通过调用相应的函数来进行设置。
MFC提供了CStatic类支持静态控件。
4 编辑框(Edit Box):用来接收用户输入的字符串。
通过选择编辑框的选项,编辑框可以接收字符串、数字、密码等;编辑框还可以设置成接收多行字符串的模式;可以自动进行大小写转换。
编辑框可能向其父窗口发送多种控件通知,如果用户需要,可以对这些控件通知进行处理。
MFC提供了CEdit类支持编辑框控件。
5 组成框(Group Box):用来包围具有逻辑关系的一组控件,在这些控件的周围加上边界和标题。
需注意的是,组成框仅仅是在视觉效果上对控件进行“成组”,真正的“成组”工作还需要另外一些工作。
6 按钮(Button):用来接收用户的命令,应用程序在接收到用户命令后,通常需要进行一些后台工作。
按钮可以响应单击或双击动作,在按钮接收到鼠标动作后,向其父窗口发送相应的控件通知,用户可以对这些控件通知进行消息映射,从而进行相应的处理。
在一个对话框中,可以定义一个默认按钮,这只要选中按钮属性中的“Default”选项。
如果在对话框活动的时候按下了Enter键,则等同于单击了默认按钮。
MFC提供了CButton类支持按钮控件。
7 复选框(Check Box):用来显示某种可能的选择,该项选择是独立的,用户可以选中或取消该选项。
在选项被选中的时候核选标记出现,选项被取消时核选标记消失。
MFC中由CButton类对核选框进行支持,用户可以通过SetCheck()函数和GetCheck()函数设置或获取核选框当前的状态。
8 单选按钮(Radio Button):用来选择某种可能的选择,与核选框不同,该选项不是独立的。
MFC常用控件
精选2021版课件
7
CDialog类提供的函数成员
函数成员名
功能
Cdialog 构造Cdialog对象
Create 初始化CDialog对象
CreateIndirect 从内存中的对话框模板建立无模式对话 框
DoModal 显示有模式对话框
EndDialog
关闭有模式对话框
GotoDlgCtrl 把焦点移到对话框中指定的控件
精选2021版课件
14
精选2021版课件
15
列表框的基本操作
1.通用方法
通用方法用来获得和设置列表框数据的 值和属性,
所有的CListBox列表框,包括单选列表 框、多选列表框和自绘列表框等都有这 些方法。
精选2021版课件
16
2、单项选择特定方法 列表框的默认模式是单选项模式;
所有的通用方法均适用于单选项列表框。
精选2021版课件
30
使用CFileDialog对话框的步骤如下: 1.创建CFileDialog对象, CFileDialog的构造函数如下: CFileDialog( BOOL bOpenFileDialog, LPCTSTR lpszDefExt = NULL, LPCTSTR lpszFileName = NULL, DWORD dwFlags = OFN_HIDEREADONLY |
UpdateData(FALSE)将数据传送到对话框中,缺省的调用 发生在对话框的OnInitDialog( )创建一个有模式对话 框时。
用户可以在任何时候调用UpdateData( )进行数据交换, 该函数参数缺省值为TRUE。
示例:
显示Edit控件内容的两种方式
精选2021版课件
MFC常用控件样式一览
MFC常用控件样式一览CStatic样式从CWnd继承来的样式:WS_CHILD CStatic所必须的。
WS_VISIBLE 表示该控制对用户应该是可见的。
WS_DISABLED 表示该控制拒绝接受用户事件。
WS_BORDER 控制的文本区域带有边框。
CStatic固有的样式:SS_BLACKFRAME 该控制区域以矩形边界显示。
颜色与窗口框架相同。
SS_BLACKRECT 该控制以填充的矩形显示。
颜色与当前的窗口框架相同。
SS_CENTER 文本居中。
SS_GRAYFRAME 控制以矩形边框方式显示。
颜色与当前桌面相同。
SS_GRAYRECT 该控制以填充的矩形显示。
颜色与当前的桌面相同。
SS_ICON 控制以图标形式显示。
文本作为图标在资源文件的名称。
rect参数只控制位置。
SS_LEFT 文本居左显示。
文字可回绕。
SS_LEFTNOWORDWRAP 文本居左显示。
多余的文字被剪裁。
SS_NOPREFIX 表示字符串中的"&"字符不表示为加速前缀。
SS_RIGHT 文本居右显示。
文字可回绕。
SS_SIMPLE 只简单的显示一行文本。
任何CTLCOLOR信息都被其父窗口忽略。
SS_USERITEM 用户定义项。
SS_WHITEFRAME 控制以矩形边框方式显示。
颜色与当前窗口背景颜色相同。
SS_WHITERECT 控制以填充矩形方式显示。
颜色与当前窗口背景颜色相同。
CButton样式从CWnd继承来的样式:WS_CHILDWS_VISUBLEWS_BORDERCButton的固有样式:BS_AUTOCHECKBOX 检查框,按钮的状态会自动改变Same as a check box, except that a check markappears in the check box when the user selects the box; the check markdisappears the next time the user selects the box.BS_AUTORADIOBUTTON 圆形选择按钮,按钮的状态会自动改变 Same as a radio button, except thatwhen the user selects it, the button automatically highlights itself and removesthe selection from any other radio buttons with the same style in the samegroup.BS_AUTO3STATE 允许按钮有三种状态即:选中,未选中,未定Same as a three-state check box, except that the box changes its state when the user selects it.BS_CHECKBOX 检查框Creates a small square that has text displayed to its right(unless this style is combined with the BS_LEFTTEXT style)BS_DEFPUSHBUTTON 默认普通按钮 Creates a button that has a heavy black border. Theuser can select this button by pressing the ENTER key. Thisstyle enables theuser to quickly select the most likely option (the default option).BS_LEFTTEXT 左对齐文字When combined with a radio-button or check-box style, thetext appears on the left side of the radio button or check box.BS_OWNERDRAW 自绘按钮 Creates an owner-drawn button. The framework calls theDrawItem member function when a visual aspect of the button has changed. Thisstyle must be set when using the CBitmapButton class.BS_PUSHBUTTON 普通按钮Creates a pushbutton that posts a WM_COMMAND message tothe owner window when the user selects the button.BS_RADIOBUTTON 圆形选择按钮Creates a small circle that has text displayed to itsright (unless this style is combined with the BS_LEFTTEXT style). Radio buttonsare usually used in groups of related but mutually exclusive choices.BS_3STATE 允许按钮有三种状态即:选中,未选中,未定Same as a check box, except that the box canbe dimmed as well as checked. The dimmed state typically is used to show that acheck box has been disabled.rect为窗口所占据的矩形区域,pParentWnd为父窗口指针,nID 为该窗口的ID值。
MFC控件
MFC控件使用Windows标准控件我们在前面曾提到过,控件是一些行为标准化了的窗口,一般用于对话框或其它窗口中充当与用户交互的元素。
在Visual C++中,可以使用的控件分成三类:(1) Windows标准控件Windows标准控件由Windows操作系统提供,在Windows 95中还提供了一些新增的控件。
所有这些控件对象都是可编程的,我们可以使用Visual C++提供的对话框编辑器把它们添加到对话框中。
Microsoft基础类库(MFC)提供了封装这些控件的类,它们列于表6.1。
表6.1 Windows标准控件续表6.1前面提到过,在MFC中,类CWnd是所有窗口类的基类,很自然的,它也是所有控件类的基类。
Windows标准控件在以下环境下提供:•Windows 95•Windows NT 3.51及以后版本•Win32s 1.3•注意:•Visual C++ 4.2及以后版本不再支持Win32s。
(2) ActiveX控件ActiveX控件可用于对话框中,也可用于HTML文档中。
这种控件过去被称为OLE 控件。
本书将在专门的章节中来讲述关于ActiveX控件的知识。
这里仅指出ActiveX控件使用了与标准控件完全不同的接口和实现方法。
(3) 其它MFC控件类除了Windows标准控件和自己编写的或者来自于第三方软件开发商的ActiveX 控件以外,MFC还提供了另外三种控件,它们由下面的三个类进行封装:•类CBitmapButton用于创建以位图作为标签的按钮,位图按钮最多可以包括四个位图图片,分别代表按钮的四种不同状态。
•类CCheckListBox用于创建选择列表框,这种列表框中的每一项前面有一个复选框,以决定该项是否被选中。
•类CDragListBox用于创建一种特殊的列表框,这种列表框允许用户移动列表项。
在本章我们仅讲述第一类控件,即Windows标准控件。
所涉及的内容包括各个控件的使用及相应的技巧。
MFC控件大全-SliderControl说明
MFC-控件大全-Slider Control(转)MFC-控件大全-Slider Con所有的控件的创建基本都是同一套道路;第一步:.h中创建一个CSliderCtrl 类的对象;CSliderCtrl m_ctrlSlider;第二步:.cpp中的void CMyDlg::DoDataExchange(CDataExchange* pDX)函数进行初始化控件;//初始化控件void CMyDlg::DoDataExchange(CDataExchange* pDX){//这个函数是控件与类成员交换数据用的CDialog::DoDataExchange(pDX);//滑块专用DDX_Control(pDX, IDC_SLIDER1, m_ctrlSlider);}第三步:在BOOL CMyDlg::OnInitDialog()函数里面进行初始化的设置;//初始化设置BOOL CMyDlg::OnInitDialog(){CDialog::OnInitDialog();.........m_ctrlSlider.SetRange(0,100); //设置滑块位置的最大值和最小值m_ctrlSlider.SetPos(30); //设置滑块的默认当前位置}第三步:添加事件处理函数;初始化完毕后最后添加一个事件处理函数当调节滑块位置的时候能得到相应的数据;1 .h中添加函数声明afx_msg void OnNMCustomdrawSlider1(NMHDR *pNMHDR, LRESULT *pResult);2 添加消息:BEGIN_MESSAGE_MAP(CMyDlg, CDialog).........ON_NOTIFY(NM_CUSTOMDRAW, IDC_SLIDER1, OnNMCustomdrawSlider1).........3 函数定义;//当调节滑块的时候通过(2)就会调用这个函数;//主窗口滑块void CMyDlg::OnNMCustomdrawSlider1(NMHDR *pNMHDR, LRESULT *pResult){int nPos = m_ctrlSlider.GetPos(); //获得滑块的当前位置//另外做一个编辑框显示所调节的数据;CString str="";str.Format("%d%%",nPos);SetDlgItemText(IDC_EDIT13,str);}完成//==================================================================================滑动条控件(CSliderCtrl)使用说明滑动条控制(Slider Control)也叫轨道条控制,其主要是用一个带有轨道和滑标的小窗口以及窗口上的刻度,来让用户选择一个离过鼠标或键盘来进行数据的选择操作,这在WIN98/95中的很多应用程序中都可以看到,如控制面板中的鼠标等,滑动条既可以滑动条控制的风格如下:TBS_HORZ 滑动条是水平方向的TBS_VERT 滑动条是垂直方向的TBS_LEFT 滑动条位于窗口左侧TBS_RIGHT 滑动条位于窗口右侧TBS_TOP 滑动条位于窗口顶部TBS_BOTTOM 滑动条位于窗口底部TBS_BOTH 滑动条位于窗口两侧TBS_AUTOTICKS滑动条具有刻度,默认TBS_NOTICKS 滑动条不具有刻度滑动条的刻度条在每一个数值位置显示一个刻度标记,如果在滑动条上显示某一数值选择区间,则应使用风格TBS_ENABLE 再是刻度标记,而是一个小的三角形符号。
MFC控件使用说明
MFC控件使用说明MFC(Microsoft Foundation Class)是一套面向C++开发的框架,用于快速开发图形用户界面(GUI)应用程序。
MFC提供了一套丰富的控件(Controls),用于实现各种功能和交互效果。
本文将介绍一些常用的MFC控件的使用说明。
1. Button 控件:Button控件用于显示一个按钮,用户点击按钮时会触发相应的事件处理函数。
使用方式如下:-在对话框资源中添加一个按钮控件,并为其设置ID号。
- 在对话框类的变量中声明按钮控件的成员变量,使用CButton类型。
- 在OnInitDialog函数中使用GetDlgItem函数获取按钮控件的指针,并使用它调用相应的函数,如SetWindowText设置按钮的文本内容。
3. List Box 控件:List Box控件用于显示一个列表,用户可以选择其中的项。
使用方式如下:-在对话框资源中添加一个列表框控件,并为其设置ID号。
- 在对话框类的变量中声明列表框控件的成员变量,使用CListBox类型。
- 在OnInitDialog函数中使用GetDlgItem函数获取列表框控件的指针,并使用它调用相应的函数,如AddString添加项,SetCurSel设置选中项。
-在对话框资源中添加一个组合框控件,并为其设置ID号。
- 在OnInitDialog函数中使用GetDlgItem函数获取组合框控件的指针,并使用它调用相应的函数,如AddString添加项,SetCurSel设置选中项。
5. Check Box 控件:Check Box控件用于显示一个复选框,用户可以选中或取消选中。
-在对话框资源中添加一个复选框控件,并为其设置ID号。
- 在对话框类的变量中声明复选框控件的成员变量,使用CButton类型。
- 在OnInitDialog函数中使用GetDlgItem函数获取复选框控件的指针,并使用它调用相应的函数,如SetCheck设置选中状态。
MFC各种控件属性介绍
MFC各种控件属性介绍MFC(Microsoft Foundation Classes)是一组用于开发Windows应用程序的C++类库。
它提供了许多用于创建GUI(Graphical User Interface)界面的控件,这些控件可以用于显示和操作数据。
下面是对一些常见的MFC控件属性的介绍:1. Button(按钮)控件:Button控件用于触发事件或执行一些操作。
它有几个常用的属性,如按钮文本(Caption),按钮样式(Style),按钮位置(Position)等。
样式属性可以设置按钮的外观(如3D效果、边框等),并可以选择不同的按钮类型(如radio、checkbox等)。
3. List Box(列表框)控件:List Box控件用于显示一系列列表项。
它有属性用于设置列表框的大小(Size),位置(Position),以及显示模式(SelectionMode)等。
其他属性还包括排序(Sort),可见项数(VisibleItems)以及是否多选(Multiselect)等。
5. Check Box(复选框)控件:Check Box控件用于允许用户选择一个或多个选项。
它有属性用于设置复选框的大小(Size),位置(Position),选择状态(Checked),以及显示文字(Caption)等。
6. Radio Button(单选按钮)控件:Radio Button控件用于只允许用户从一组选项中选择一个。
它有属性用于设置单选按钮的大小(Size),位置(Position),选择状态(Checked),以及显示文字(Caption)等。
一组互斥的单选按钮应该放在同一个命名容器内。
7. Slider(滑动条)控件:Slider控件用于接受用户通过滑动操作选择一个数值。
它有属性用于设置滑动条的大小(Size),位置(Position),范围(Range),以及当前值(Value)等。
其他属性还包括方向(Orientation)和是否显示刻度线(TickMarks)等。
MFC 通用控件祥解解析
CHeadCtrl表头控制(CHeaderCtrl)通常应用在窗口中的文本或数据的列表之上。
一般为数据列的标题,可以包括多个部分,用户可以拖动每个部分并可以控制每列的宽度。
表头控制类提供了普通表头控制的基本方法,只有在WINDOWS95以后版本系统中才提供,其方法包含在afxcmn.h文件中,一般与标签控制(CTabCtrl)和列表控制(CListCtrl)组合使用。
(一)表头控制的对象结构1、表头控制对象的建立方法CHeaderCtrl &cheaderCtrl 建立表头控制对象Create 建立表头并绑定对象CHeaderCtrl::Create的格式如下:BOOL Create( DWORD dwStyle, const RECT&rect, CWnd* pParentWnd, UINT nID );其返回值非零时初始化成功,否则失败。
参数dwStyle用来确定表头控制类型;rect用来确定表头控制的大小和位置;ParentWnd 用来确定表头控制的父窗口;nID用来表示表头控制的标志。
表头控制风格包括:HDS_BUTTONS 表示表头控制外观类似按钮;HDS_HORZ 表示表头控制为水平排列;HDS_VERT 表示表头控制为垂直排列;HDS_HIDDEN 表示表头控制为隐藏模式。
它也可以使用普通类控制风格,包括:CCS_BOTTOM 设置控制位置在父窗口的底部并与父窗口同样宽度;CCS_NODIVIDER 在控制顶部形成两个像素的高亮区;CCS_NOHILITE 在控制顶部形成一个像素的高亮区;CCS_NOMOVEY 在响应WM_SIZE消息时重置大小并水平排列;CCS_NOPARENTALIGN 使控制自动靠近父窗口的顶部或底部;CCS_NORESIZE 设置初始大小或新值时使控制使用默认宽度和高度;CCS_TOP 设置在父窗口客户区域的顶部并与父窗口同样宽度;同样表头控制也可以使用窗口控制风格,包括:WS_CHILD 建立一个子窗口,不能用于WS_POPUP窗口类型;WS_VISIBLE 建立一个初始时不可见的窗口;WS_DISABLED 建立一个初始时无效的窗口;WS_GROUP 确定可用光标移动的控制群组;WS_TABSTOP 确定可用TAB控制移动站点;表头控制一般分为两个步骤,首先确定表头控制的数据结构,然后建立表头控制并绑定对象。
MFC控件使用说明
MFC控件使用说明MFC(Microsoft Foundation Classes)是一套C++的类库,用于开发Windows应用程序。
MFC提供了丰富的控件(control)来实现图形界面(GUI)。
下面是MFC控件的使用说明。
1.控件概述:2.控件的创建:在MFC应用程序的对话框资源中可以选择并拖拽控件到界面上。
MFC 提供了DIALOG控件类表示对话框,并通过类向导(Class Wizard)自动生成控件的成员变量。
3.控件的属性和事件:每个控件都有一些属性,如字体、颜色、大小等,可以通过修改这些属性来改变控件的外观。
每个控件也都有一些事件,如鼠标点击、按键按下等,可以通过响应这些事件来处理用户的操作。
4.控件的操作:MFC提供了一系列的成员函数来操作控件,如设置文本、获取选择的项、显示隐藏控件等。
可以通过控件的成员变量来调用这些函数。
5.控件的布局和对齐:在对话框资源中可以使用布局与对齐工具来自动排列和对齐控件。
也可以通过代码来动态调整控件的位置和大小。
6.控件的自定义:如果MFC提供的控件不能满足需求,可以继承自原有控件类,并重写其成员函数来实现自定义的控件。
7.控件的扩展库:除了MFC提供的控件,还可以使用第三方控件库来增加更多的控件。
常见的控件库有DevExpress、Telerik等,提供了更丰富的控件和功能。
8.控件的样式和外观:9.控件的国际化和本地化:MFC提供了多语言支持,可以使用资源文件来实现对不同语言的支持。
通过在资源文件中提供不同语言的字符串,可以使控件显示适合不同语言环境的文本。
10.控件的错误处理:在使用MFC控件时,可能会出现一些错误,如控件无法创建、控件响应事件失败等。
可以通过正确处理这些错误,如捕获异常、输出错误信息等来保证程序的稳定性和可靠性。
总结:MFC控件提供了丰富的功能和灵活的扩展方式,可以满足大部分GUI应用程序的需求。
通过掌握MFC控件的使用,可以快速开发出功能强大、界面友好的Windows应用程序。
MFC常用控件
MFC常⽤控件按钮控件按钮控件包括命令按钮(Button)、单选按钮(Radio Button)和复选框(Check Box)等。
按钮控件会向⽗窗⼝发送通知消息,最常⽤的通知消息莫过于BN_CLICKED和BN_DOUBLECLICKED了。
⽤户在按钮上单击⿏标时会向⽗窗⼝发送BN_CLICKED消息,双击⿏标时发送BN_DOUBLECLICKED消息。
命令按钮(Button)在⼀个对话框中,Button可以定义⼀个默认按钮,这只要选中按钮属性中的“Default”选项。
如果在对话框活动的时候按下了Enter键,则等同于单击了默认按钮。
void CWindowDlg::OnBnClickedBtnTest1(){MessageBox(L"提⽰1");}void CWindowDlg::OnBnClickedBtnTest2(){MessageBox(L"默认按钮属性设置为true");}//测试2按钮的默认属性设置为true,当在对话框中点击enter键时,弹出对话框:默认按钮属性设置为true动态⽣成⼀个Button控件的⽅式如下:头⽂件中定义CButton对象CButton m_btnTest1;执⾏CButton::Create 创建⼀个CButton对象:BOOL Create( LPCTSTR lpszCaption, DWORD dwStyle, const RECT& rect, CWnd* pParentWnd, UINT nID );int CWindowDlg::OnCreate(LPCREATESTRUCT lpCreateStruct){m_btnTest1.Create(L"哈哈哈", WS_CHILD | WS_VISIBLE | BS_PUSHBUTTON, CRect(20, 100, 100, 160), this, IDC_BTN_HELLO1);//pParentWnd指⽰拥有按钮的⽗窗⼝(this为当前对话框对象),不能为NULL;//nID指定与按钮关联的ID号,⽤于按钮控件的事件处理( IDC_BTN_HELLO1)}stdadx.h中定义IDC_BTN_HELLO1宏#define IDC_BTN_HELLO1 1000运⾏后对话框显⽰的Button按钮结果如下:如果想让按钮有其他动作,⽐如当⿏标移动到按钮上时,按钮⽂本信息会变化。
MFC常用控件(一)
MFC常用控件(一)1.1 传统控件的控件通知消息控件通过向父窗口发送控件通知消息来表明发生了某种事件.例如,当用户在按钮上单击鼠标时,按钮控件会向父窗口发送BN_CLICKED消息.传统控件的通知消息实际上是通过WM_COMMAND消息发给父窗口的(滚动条除外),在该消息的wParam中含有通知消息码(如BN_CLICKED)和控件的ID,在lParam中则包含了控件的句柄.利用ClassWizard可以很容易地为控件通知消息加入消息映射和消息处理函数,这在上一章中已经演示过了.传统控件的消息映射宏是ON_XXXX,其中XXXX表示通知消息码,如BN_CLICKED.ON_XXXX消息映射如下所示,该宏有两个参数,一个是控件的ID,一个是消息处理函数名.ON_XXXX(nID, memberFxn)消息处理函数的声明应该有如下形式:afx_msg void memberFxn( );例如,某按钮的BN_CLICKED消息的消息映射及其处理函数的声明如下所示ON_BN_CLICKED(IDC_ADD,OnAdd)afx_msg void OnAdd( );有时,为了处理方便,需要把多个ID连续的控件发出的相同消息映射到同一个处理函数上.这就要用到ON_CONTROL_RANGE 宏.ON_CONTROL_RANGE消息映射宏的第一个参数是控件消息码,第二和第三个参数分别指明了一组连续的控件ID中的头一个和最后一个ID,最后一个参数是消息处理函数名。
例如,要处理一组单选按钮发出的BN_CLICKED消息,相应的消息映射如下所示:ON_CONTROL_RANGE(BN_CLICKED, IDC_FIRST, IDC_LAST, OnRadioClicked)函数OnRadioClicked的声明如下,该函数比上面的OnAdd多了一个参数nID以说明发送通知消息的控件ID.afx_msg void OnRadioClicked(UINT nID);ClassWizard不支持ON_CONTROL_RANGE宏,所以需要手工建立消息映射和消息处理函数.6.1.2 静态控件静态控件包括静态正文(Static Text)和图片控件(Picture)。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
MFC各种控件属性介绍VC++6.0控件工具箱:2 图形控件(picture):常用于显示位图(Bitmap)和图标(Icon)3 静态文本(Static Text):用来在指定的位置显示特定的字符串,一般用来标识附近另一个控件的内容。
显示在静态文本控件中的字符串一般不再改变,但是在需要的时候,也可以通过调用相应的函数来进行设置。
MFC提供了CStatic类支持静态控件。
4 编辑框(Edit Box):用来接收用户输入的字符串。
通过选择编辑框的选项,编辑框可以接收字符串、数字、密码等;编辑框还可以设置成接收多行字符串的模式;可以自动进行大小写转换。
编辑框可能向其父窗口发送多种控件通知,如果用户需要,可以对这些控件通知进行处理。
MFC提供了CEdit类支持编辑框控件。
5 组成框(Group Box):用来包围具有逻辑关系的一组控件,在这些控件的周围加上边界和标题。
需注意的是,组成框仅仅是在视觉效果上对控件进行“成组”,真正的“成组”工作还需要另外一些工作。
6 按钮(Button):用来接收用户的命令,应用程序在接收到用户命令后,通常需要进行一些后台工作。
按钮可以响应单击或双击动作,在按钮接收到鼠标动作后,向其父窗口发送相应的控件通知,用户可以对这些控件通知进行消息映射,从而进行相应的处理。
在一个对话框中,可以定义一个默认按钮,这只要选中按钮属性中的“Default”选项。
如果在对话框活动的时候按下了Enter键,则等同于单击了默认按钮。
MFC提供了CButton类支持按钮控件。
7 复选框(Check Box):用来显示某种可能的选择,该项选择是独立的,用户可以选中或取消该选项。
在选项被选中的时候核选标记出现,选项被取消时核选标记消失。
MFC中由CButton类对核选框进行支持,用户可以通过SetCheck()函数和GetCheck()函数设置或获取核选框当前的状态。
8 单选按钮(Radio Button):用来选择某种可能的选择,与核选框不同,该选项不是独立的。
一般是几个单选按钮组成一组,同组中的单选按钮可以有也只能有一个按钮被选中。
MFC同样使用CButton类对单选按钮控件进行支持,SetCheck()函数和GetCheck()函数对单选按钮也是适用的。
9 组合框(Combo Box):列表框和编辑框的组合,用户除了可以在列表中对已经存在的选项进行选择外,还可以输入新的选择。
MFC提供了CComboBox类对组合框控件进行支持。
10 列表框(List Box):用来选择一系列的可能选择,用户通过滚动条可以在这些选择中浏览。
在列表框中,可以进行单项选择,也可以进行多项选择,这取决于用户在控件属性对话框中的设置。
MFC提供了CListBox类对列表框控件进行支持。
11、12 滚动条(Scroll Bar):这包括水平滚动条和垂直滚动条,除了在视觉效果上的方向不同外,水平滚动条在被滚动时发生WM_HSCROLL消息,而垂直滚动条在被滚动时发送WM_VSCROLL消息。
MFC提供了CScrollBar进行支持。
13 微调按钮(Spin Button):包括一对紧靠在一起的上下箭头,使用微调按钮可以增大或者缩小某个特定的数值。
微调按钮往往都需要一个“伙伴”控件,这通常都是一个编辑框。
当微调按钮的向上箭头被单击时,编辑框中的数字就增大;反之则减小。
MFC提供了CPinB uttonCtrl类进行支持。
14 进度条(Progress):在进行一项需要占有较长时间的操作时来反应当前的进度。
当操作的进度不断前进时,进度条就用特色颜色填充进度条框。
用户可以设定进度条的范围和当前位置。
MFC提供了CProgressCtrl类进行支持。
15 滑块控件(Slider):通常用来在程序中接受一系列离散的数值。
用户可以设置滑块控件的取值范围,并可以为控件加上刻度标记以显示特定位置的含义。
MFC提供了CSliderC trl类进行支持。
16 热键控制(Hot Key):热键控件看起来就像一个编辑框,但是在热键控件中能够立刻反应用户刚刚按下的键组合,这在设置程序的热键时特别有用。
热键控件只是在“视觉”上显示了按键组合,设置热键的工作还需要用户添加代码完成。
MFC提供了CHotKey类进行支持。
17 列表控制(List Control):按一定的排列顺序显示一系列带图标的字符串,列表控件提供了四种显示模式:大图标、小图标、列表和详细信息。
用户可以向列表控件中添加新的项,也可以控制列表控件的显示模式。
MFC提供了CListCtrl类进行支持。
18 树形控件(Tree Control):用来显示一系列项目的层次关系,最典型的例子是显示磁盘上的文件与文件夹。
如果有子项目的话,单击树形控件中的项目可以展开或者收缩其子项目。
MFC提供了CTreeCtrl类进行支持。
19 属性表控件(Tab Control):用来包含大量的控件,可以满足用户显示或者获取大量数据的要求。
每个属性表又分为好几个属性页,这些属性页由各自的标签进行区分,这些属性页中都可以包容其他控件。
在显示属性表的时候,一次只能够显示一个属性页的全部内容,同时显示其他属性页的标签,用户通过单击标签打开相应的属性页。
MFC提供了CTabCtrl 类进行支持。
20 动画控件(Animation):用来播放一段AVI格式的视频剪辑。
用户可以控制视频剪辑的播放、停止和定位,但也仅限于这些功能。
动画控件设置不能播放音频剪辑,如果用户需要更高层次的视频或者音频的支持,请选用MCIWnd控件。
MFC提供了CAnimateCtrl类对动画控件进行支持。
21 高级编辑框(Rich Edit):编辑控件功能的扩展。
在高级编辑框中,除了简单的输入和编辑字符串外,用户还可以为字符或段落指定特定的格式,用户甚至还可以向高级编辑框中插入OLE项。
高级编辑框基本上实现了一个带格式的文本编辑器功能,而只需要用户添加少量的接口。
MFC提供了CRichEditCtrl类进行支持。
22 日历控件(Month Calender):看似与真正的日历类似,操作也类似,直观的为用户提供了观察和显示当前日期的途径。
MFC提供了CMonthCalCtrl类进行支持。
23 日期/时间选择器(Date Time Picker):向用户提供了一种直观的选择日期和时间的方法、日期/时间选择器在外观上类似于一个组合框,但是当用户单击下拉箭头时就会展开一个日历控件供用户选择,而一旦用户做出了选择,日期/时间选择器会自动显示新的日期/时间。
MFC提供了CDateTimeCtrl类进行支持。
24 IP地址控件(IP Adress):IP地址控件用来输入和编辑IP地址。
该控件外观类似于一个编辑框,但是可以自动对输入的字符按3个一组进行区分和加间隔圆点。
IP地址控件为开发支持Internet技术的程序提供了方便。
MFC提供了CIPAddressCtrl类进行支持。
26 扩展组合框(Extended Combo Box):在普通组合框的基础上还支持图像列表。
即,可以在组合框中显示特定的图标表示相应的选择,而不仅仅是显示文本。
MFC提供了CCo mboBoxEx类进行支持。
所有控件的公共属性:ID:控件的资源标识。
Visiable:控件是否可见。
Disabled:控件是否被禁止、被禁止的控件无法接受键盘和鼠标输入。
Group:是否从这个空间开始一个新组。
Tab stop:在程序中是否可以用【Tab】键切换到这个控件。
Help ID:是否给控件分配一个帮助标识,帮助标识基于控件本身的资源标识。
Client edge:给控件增加一个凹陷的边界,使整个控件看起来像是凹下去的一样。
Static edge:给控件增加一个边界。
Modal frame:给控件增加一个3维的框架,与Client edge相反,它是凸出来的。
Transparent:拥有此属性的窗口是透明的,它下面的窗口不会被它遮掩住。
Accept files:拥有此属性的窗口可以接收拖放文件,如果一个文件被拖动到这个控件上面,控件会收到WM_DROPFILES消息。
No parent notify:表示控件不向其父窗口发送WM_PARENTNOTIFY消息。
Right aligned text:表示文本右对齐。
以上属性可通过控件的属性对话框进行设置,在属性对话框中按【F1】键可以查看属性的帮助信息。
每一种控件都由一个MFC控件类来管理,当通过资源编辑器在对话框上添加一个控件时,visualC++会自动为控件类生成一个实例,即对象,并调用构造函数,当对话框关闭时,其各个子控件对象被自动销毁。
也可以不使用资源编辑器,自己在程序中写代码创建、显示控件并设置控件的属性。
所有的控件类都继承自CWnd,控件的某些操作和属性设置需要用到CWnd本身的成员函数,CWnd某些函数经常用来操纵控件和设置控件属性。
SetWindowText:设置控件上要显示的标题文本,即用来设置控件的caption属性GetWindowText:得到控件的标题文本EnableWindow:设置控件的Disabled属性,即社会自控件是否可以接收键盘和鼠标的输入SetWindowPos:改变窗口的大小、位置和Z轴次序。
MoveWindow:改变窗口的大小和位置GetWindowRect:得到窗口的大小、位置(信息存放在一个矩形结构中)。
GetClientRect:得到窗口客户区的大小(信息存放在一个矩形结构中)ShowWindow:设置窗口的可见性(即窗口是否可见)SetWindowText/GetWindowText还可以用来设置/得到对话框的标题文本。