MFC 教程 第10章 常用控件课件

上传人:我*** 文档编号:140095157 上传时间:2020-07-26 格式:PPT 页数:41 大小:218.50KB
返回 下载 相关 举报
MFC 教程 第10章 常用控件课件_第1页
第1页 / 共41页
MFC 教程 第10章 常用控件课件_第2页
第2页 / 共41页
MFC 教程 第10章 常用控件课件_第3页
第3页 / 共41页
MFC 教程 第10章 常用控件课件_第4页
第4页 / 共41页
MFC 教程 第10章 常用控件课件_第5页
第5页 / 共41页
点击查看更多>>
资源描述

《MFC 教程 第10章 常用控件课件》由会员分享,可在线阅读,更多相关《MFC 教程 第10章 常用控件课件(41页珍藏版)》请在金锄头文库上搜索。

1、1,11.2 静态控件和按钮,2,11.2.1 静态控件,一个静态控件是用来显示一个字符串、框、矩形、图标、位图或增强的图元文件。它可以被用来作为标签、框或用来分隔其它的控件。一个静态控件一般不接收用户输入,也不产生通知消息。 属于静态文本控件的有:静态文本,组框和静态图片,3,11.2.2 按钮,在Windows常见的按钮有:按键按钮、单选按钮、复选框按钮,如图:,4,1、不同按钮的作用,按键按钮常被称为命令按钮。有两种风格: 标准按键按钮和默认按键按钮。,5,单选按钮的外形是在文本前有一个圆圈,它被选中时,单选按钮中就标上一个黑点,它可分为一般和自动两种类型。,6,复选框当它被选中,复选框

2、中就加上一个“”标记,通常复选框只有选中和未选中两种状态,若复选框前面有一个灰色的“ ”,则这样的复选框是三态复选框。,7,2、按钮的消息,常见只有两个:BN_CLICKED(单击)和BN_DOUBLECLICKED(双击)。,8,3、按钮选中操作,最常用的按钮操作是设置或获取一个按钮或多个按钮的选中状态。 CButton类的成员函数SetCheck和GetCheck分别用来设置或获取指定按钮的选中状态,其原型如下:,9,void SetCheck( int nCheck ); int GetCheck( ) const; nCheck和GetCheck函数返回值: 0、1、2,10,对多个单

3、选按钮的选中状态的设置或获取,需要使用通用窗口类CWnd的成员函数CheckRadioButton和GetCheckedRadioButton,原型如下:,11,void CheckRadioButton( int nIDFirstButton, int nIDLastButton, int nIDCheckButton ); int GetCheckedRadioButton(int nIDFirstButton, int nIDLastButton );,12,例 编写一个SDI应用程序Password,程序启动后首先弹出一个如图所示的用户身份确认对话框,当用户键入正确的口令后才能进入程序

4、的主界面。,13,11.3编辑框和旋转按钮控件,11.3.1编辑框的属性和通知消息,14,15,编辑框的通知消息,通知消息说明 EN_CHANGE 当编辑框中的文本已被修改,在新的文本显示之后发送此消息 EN_HSCROLL 当编辑框的水平滚动条被使用,在更新显示之前发送此消息 EN_KILLFOCUS编辑框失去键盘输入焦点时发送此消息 EN_MAXTEXT 文本数目到达了限定值时发送此此消息,16,通知消息说明 EN_SETFOCUS 编辑框得到键盘输入焦点时发送此消息 EN_UPDATE 编辑框中的文本已被修改,新的文本显示之前发送此消息 EN_VSCROLL 当编辑框的垂直滚动条被使用,

5、在更 新显示之前发送此消息,17,11.3.2编辑框的基本操作,1、口令设置 输入的字符都被一个口令字符代替显示。默认的口令字符是“*”,应用程序可以用成员函数CEdit:SetPasswordChar 来定义自己的口令字符,函数原型: void SetPasswordChar( TCHAR ch );,18,2、选择文本,鼠标选择文本: 键盘选择文本: 通过编程选择文本:,19,调用成员函数CEdit:SetSel。 确定编辑框内文本的选择范围,相对应的还有: CEdit:GetSel(获取编辑框中当前被选择文本的开始和结束位置) CEdit:ReplaceSel(替换当前被选择的文本)。,

6、20,void ReplaceSel( LPCTSTR lpszNewText, BOOL bCanUndo = FALSE ) 将选中的文本替换为指定的文字。,21,11.3.3旋转按钮控件,1、旋转按钮控件常用的风格,22,2、旋转按钮控件的基本操作,成员函数SetBase用来设置基数的,这个基数值决定了伙伴窗口显示的数字是十进制还是十六进制。 成功返回先前的基数值,无效返回一个非零值。原型如下: int SetBase( int nBase ); 参数nBase表示控件的新的基数。与此函数相对应的成员函数GetBase是获取旋转按钮控件的基数。,23,成员函数SetPos和SetRang

7、e设置旋转按钮控件的当前位置和范围,原型: int SetPos( int nPos ); void SetRange( int nLower, int nUpper ); nPos表示控件的新位置。nLower 和 nUpper表示控件的上限和下限。 成员函数GetPos和GetRange用来获取旋转按钮控件的当前位置和范围。,24,3、旋转按钮控件的通知消息,旋转按钮控件的通知消息只有一个:UDN_DELTAPOS 它是在当控件的当前数值将要改变时向其父窗口发送的。,25,11.3.4 实例:用对话框输入学生成绩,例Ex_CtrlSDI 用对话框输入学生成绩,26,11.4列表框,5.4.

8、1列表框的风格和消息 .,27,28,11.4.2列表框的基本操作,1、添加列表项 CListBox类成员函数AddString 和InsertString向列表框增加列表项,函数原型: int AddString( LPCTSTR lpszItem ); int InsertString( int nIndex, LPCTSTR lpszItem );,29,列表项的字符串文本由参数lpszItem来指定。InsertString函数不会对列表项进行排序,若nIndex等于-1,则列表项添加在列表框末尾。AddString函数当列表框控件具有sort属性时会自动将添加的列表项进行排序。两个函

9、数成功调用时都会返回列表项在列表框的索引,错误时返回LB_ERR,空间不够时返回LB_ERRSPACE.,30,用户需要根据列表项使用其他数据,就要调用CListBox的SetItemData和SetItemDataPtr,它们能使用户数据和某个列表项关联起来。,31,int SetItemData( int nIndex, DWORD dwItemData ); int SetItemDataPtr( int nIndex, void* pData ); SetItemData是将一个32位数与某列表项(由nIndex指定)关联起来,SetItemDataPtr可以将用户的数组、结构体等大量

10、的数据与列表项关联。GetItemData和GetItemDataPtr 分别用来获取相关联的用户数据。 注意:若在添加列表项时使用SetItemDataPtr函数,不要忘记在进行删除操作时及时将关联数据所占的内存空间释放出来。,32,、删除列表项,CListBox类成员函数DeleteString和ResetContent用来删除指定的列表项和清除列表框所有项目。函数原型: int DeleteString( UINT nIndex );/ nIndex指定要删除的列表项的索引 void ResetContent( );,33,、查找列表项,int FindString( int nStar

11、tAfter, LPCTSTR lpszItem ) const; int FindStringExact( int nIndexStart, LPCTSTR lpszFind ) const; lpszFind和lpszItem指定要查找的列表项文本,nStartAfter和nIndexStart指定查找的开始位置。若为-1,从头到尾查找,查到后,两个函数都将返回所匹配列表项的索引,否则返回LB_ERR.,34,、列表框的单项选择,当选中列表框中某个列表项,用户可以使用CListBox:GetCurSel来获取这个结果,与该函数相对应的CListBox:SetCurSel 函数是用来设定某个

12、列表项呈选中状态(高亮显示)。,35,int GetCurSel( ) const;/ 返回当前选择项的索引 int SetCurSel( int nSelect ); nSelect指定要设置的列表项索引,错误时这两个函数都将返回LB_ERR。,36,若要获取某个列表项的字符串,可使用下列函数: int GetText( int nIndex, LPTSTR lpszBuffer ) const; void GetText( int nIndex, CString nIndex指定列表项索引,lpszBuffer 和rString是用来存放列表项文本。,37,例 编写一个对话框应用程Exmp

13、List,对话框中有一个列表框,当用户单击列表框中的一个列表项(一个国家)时,在四个编辑框分别显示指定国家的名称、首都、面积和人口。单击“添加”按钮时,“国家”编辑框中的文本将被添加到列表框中;单击“删除”按钮时,当前的列表项将被删除。,38,11.5组合框,5.5.1组合框的风格类型和消息 组合框分三类:简单组合框、下拉式组合框、下拉式列表框。 简单组合框中的列表框不需要下拉,是直接显示出来的; 下拉式组合框单击下拉按钮时,下拉的列表框才被显示出来。 下拉式列表框虽然具有下拉式的列表,却没有文字编辑功能。,39,组合框控件的Data属性:,与编辑框或列表框相比,组合框有一个新的功能属性,可以

14、通过组合框控件属性对话框的Data页面添加初始的列表项。注意,每输入完一个列表项,按下Ctrl+Enter键后才能换行输入下一项。也可以在对话框类的初始化成员函数OnInitDialog()中编写代码添加列表项。,40,组合框的通知消息,通知消息 CBN_CLOSEUP当组合框的列表关闭时发送消息 CBN_DBLCLK用户双击组合框的某项字符串时发送此消息 CBN_DROPDOWN当组合框的列表打开时发送此消息 CBN_EDITCHANGE 同编辑框的EN_CHANGE消息 CBN_SELENDCANCEL 当用户选择一个项并按下ENTER键或单击下拉箭头隐藏列表框时发送此消息 CBN_SELCHANGE组合框中的当前选择项将要改变时发送此消息,41,例 编写一个单文档应用程序ExmpCombo,执行“测试控件|组合框”菜单命令时打开一个对话框,初始的对话框有一个用于显示标准控件名的组合框,当用户在组合框下拉的列表框中选择一个控件时,该控件将显示在对话框的右部。当用户在组合框的编辑框中输入一个列表项并单击“应用”按钮,一个指定标题的静态文本控件将出现在对话框的右部。,

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 办公文档 > PPT模板库 > PPT素材/模板

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号