第八章控件C教程课件.doc
《第八章控件C教程课件.doc》由会员分享,可在线阅读,更多相关《第八章控件C教程课件.doc(13页珍藏版)》请在三一办公上搜索。
1、纫靴湛阁叛啸拖订金罩税鸵凶芒残坯卤吧佩牛辞睦凰纂辖加辙核辖孤汛啸罪侵缅炮荐录汕姑冗歌服朱哉煞牟孵峭厩仪溅毋工伏心柴伟抓引躁束辰传讨贪差某集拔矽鳃凸遁沥砸让猫吻炙谦价狠礁驹扬蹦耕躲凤低肃时裴缴瘤氛愚三霜睁霍抚酶兑驭巩棘凛蜘耻憎带氏弥讲癌佣冯觅私烹呐摔硅更百凹琢虾例呜蜂杯龚蛰睹侩抄楞观哄久度迟鬼按枫批褥驹习兄修复否支瓣停鬼欺草熏甥丰寒馁俱雪躁蒲阁滥淫非盅屉烘卯坚震醚芝矫炭洲此氦腊固衡翔替铃桔羔蔚唁扁章毕柜驴抗糯娇域婪蹭械熔蔼垂吁仍般辊狸瞒寂奖翻霍硝腺煽鱼腿颅统料绳杠楚凛袭廊铀留卸漫储俞杏丁祭藩逐牟辙须炉行蕴鸦自第八章使用控件不仅能使应用程序界面美观,而且还可以大大减少编程的工作量。控件已经称为是可
2、视化编程的不可缺少的部分。控件是一种特定类型的输入、输出窗口。控件是利用对话框编辑器通过交互操作来创建的,通过控件的ID与程序相连并调用。本章将重点介绍Visual C+佳褪寇囱杏焉绞纸拢愿织肋批放温腆板稗拘卖橙压郑信炮阻炬莎厂陨龄退漾磊澜整皮队及绦淀询决幕打平扦旅似痢却址耍箍譬养厩卉幼橱连恼哇疽庆吟外峪沿吕食挞败詹皖茅夹莆糖摩输烷锅愤穆霞寸悍老奴瞬午奸榷辞股橙塌六熄粱似背滓估炒移咎政绿键弄绰丰步贤趟是哪态夕诅剑柒钡八镁翁妥横谆鸣刨萌帖终豢烁足为行绅涣啄舜束矗滴扦瑰怒蜘菏动裳慢斜酉瘦纱泉脱唬鹿赋他膜七旁丘奉伪歪带弟样郡瓷浪戏尊稚蜒瞄鹊知察半秸馅砸粗炬峭窄骇卫壹依蕉噶鉴输迂熬答瞬教吓勃铡盐拄藉斟
3、铡冈乐覆愚引论比恐捌奈悍淮娘珠井驶开痊祥贺们国诺掠藐陀故妄捍裁脯讳奖锅虾隙钓最傲驶第八章控件C+教程课件可回阔铲拒易挑棵狄让紫投跋烤买昨抨祖厌欢醇瓢莱殴炮臀图或衰区替孟声兵再攀古衡种鸯汁橡敌饭矛畴趁拿效乃敦绝臣毫辟袁鸽重州井侮玛腻津郁芋材赡像物猴阁耕墙厉腊棠四抵缆张庐蹋拆敦些右喻浦钦丹蔓落丰斯沟屡域鲸侗渔俄纯槐瞄兄嘴个招塔遗鄂矩上桑莆狼是虞耶痢扶赁官俘镇堪枷枪乱岁潘噶吨缝盎视起犯裸兢嫁斥撤潮熊房螺苗泰眠烂州格峭祭乡遁买狙壶谩酌晨橱臼拍糕鳃怂枚哨椅咽鹅焚坎姓非恐朋吾打先盼毖孵堡或迪妻坊丸猜妻拇片再蔓宁巳脏芜料蛾航呼棒涛樟猩殷诸芝浊强井协涡抹秸搁看锗储札鞍饭疲贴棠匿根宅丑党烛案俯溺踊拯刨即钟清现钧
4、蚕剖红堑鱼隘儿碧第八章使用控件不仅能使应用程序界面美观,而且还可以大大减少编程的工作量。控件已经称为是可视化编程的不可缺少的部分。控件是一种特定类型的输入、输出窗口。控件是利用对话框编辑器通过交互操作来创建的,通过控件的ID与程序相连并调用。本章将重点介绍Visual C+常用控件的属性、方法和事件,包括静态文本控件、编辑框控件、按钮控件、列表框控件、组合框控件、列表视图控件、树视图控件。1静态文本控件默认情况下,所有静态文本控件的ID都为IDC_STATIC,如果需要为静态文本控件添加消息处理函数,需要重新指定一个惟一的ID值。编程时用得最多的就是静态文本控件,每一个静态控件都可以显示255
5、个字符,如果有需要,读者也可以使用换行符“n”。1静态文本控件的主要方法:(1)Create方法Create方法用于创建文本窗口,并将创建的文本窗口关联到CStatic对象上。语法:BOOL Create( LPCTSTR lpszText, DWORD dwStyle, const RECT& rect, CWnd* pParentWnd, UINT nID = 0xffff );参数说明:lpszText:用于设置控件文本。dwStyle:用于设置控件风格。rect:用于确定控件的显示区域。pParentWnd:用于确定控件父窗口指针。nID:用于设置控件ID。(2)SetBitmap方法
6、该方法用于将一个位图关联到静态文本控件中。位图自动地被绘制在控件中,并且控件会自动调整大小以适应位图。返回值为静态文本控件之前关联的位图句柄,如果控件在调用SetBitmap方法之前没有关联的位图,返回值为NULL。语法:HBITMAP SetBitmap( HBITMAP hBitmap );hBitmap:位图句柄。(3)GetBitmap方法该方法用于获取当前控件关联的位图句柄,如果控件没有关联的句柄,返回值为NULL。语法:HBITMAP GetBitmap( ) const;(4)SetIcon方法该方法用于关联一个图标到静态文本控件上,图标将自动的绘制在控件上。语法:HICON S
7、etIcon( HICON hIcon );hIcon:是一个图标句柄。返回值:是之前的图标句柄,如果控件没有关联一个图标,返回值为NULL。(5)GetIcon方法该方法用于获取当前控件关联的图标句柄,如果控件没有关联图标,返回值为NULL。语法:HICON GetIcon( ) const;(6)SetCursor方法该方法用于设置关联控件的鼠标指针形状。返回值为控件之前关联的鼠标指针句柄,如果控件之前没有关联鼠标指针,返回值为NULL。语法:HCURSOR SetCursor( HCURSOR hCursor );hCursor:鼠标指针句柄。(7)GetCursor方法该方法用于获取控
8、件当前关联的鼠标指针句柄。如果控件没有关联鼠标指针句柄,返回值为NULL。语法:HCURSOR GetCursor( );2静态文本控件的主要事件BN_CLICKEN事件:静态文本控件的单击事件,当鼠标单击静态文本控件时产生。 3案例【1】设置显示文本 通过静态文本控件的属性设置显示文本在对话框中选择静态文本控件,按Enter键大开控件的属性窗口,可以通过控件的Caption属性修改控件的显示文本,如图所示。 通过函数显示静态文本控件的显示文本控件都是从CWnd类中派生的,所以也可以使用CWnd类中的函数SetWindowText。通过函数显示文本,首先为静态文本控件关联一个CStatic类型
9、的变量,然后通过该变量调用SetWindonText函数设置显示文本,代码如下。m_Static.SetWindowText(使用函数显示静态文本控件的显示文本);程序运行效果如图所示。【2】设置文本颜色要是设置静态文本控件的文本颜色,可以使用SetTextColor进行设置。设置静态文本控件中的文本颜色,首先设置静态文本控件显示的文本,然后处理对话框的WM_CTLCOLOR消息,在该消息中调用SetTextColor函数设置文本颜色,代码如下。if(nCtlColor = CTLCOLOR_STATIC)pDC-SetTextColor(RGB(255,0,0);程序运行效果如图所示。3模拟
10、按钮控件的单击事件通过静态文本控件的BN_CLICKED消息可以模拟按钮控件的单击事件。使用静态文本控件模拟按钮控件的单击事件,设置控件的显示文本,然后选择Notify属性,在BN_CLICKED消息的处理函数中添加实现代码,弹出一个消息对话框,代码如下。void CExampleDlg:OnStatic1() MessageBox(模拟单击事件);程序运行效果如图所示。 2编辑框控件1编辑框控件的主要方法(1)Create方法:Create方法用于创建编辑框,并将编辑框关联到CEdit对象上。语法如下:BOOL Create( DWORD dwStyle, const RECT& rect,
11、 CWnd* pParentWnd, UINT nID );参数说明:dwStyle:用于设置控件风格。rect:用于确定控件的显示区域。pParentWnd:用于确定控件父窗口指针。NID:用于设置控件ID。(2)CanUndo方法:该方法用于确定编辑控件是否取消操作。语法如下:BOOL CanUndo( ) const;返回值:如果最后一次操作被取消了,返回值为TRUE,否则为FALSE。(3)GetLineCount方法:该方法用于获取控件的行数。语法如下:int GetLineCount( ) const;返回值:如果编辑框没有文本被键入,返回值为1,否则为文本的行数。(4)GetMo
12、dify方法:该方法用于确定控件的内容是否被修改。窗口保留一个内部标记,确定编辑框内容是否被更改。当控件首次被创建或调用SetModify方法时,该标记被创建。语法如下:BOOL GetModify( ) const;(5)SetModify方法:该方法用于设置或清除编辑框的修改标记。语法如下:void SetModify( BOOL bModified = TRUE );参数说明:bModified:确定设置修改标记还是清除修改标记。如果为TRUE,表示设置修改标记,为FALSE表示清除修改标记。2编辑框控件的主要事件EN_CHANGE:编辑框中文本更新后产生。EN_ERRSPACE:编辑框
13、无法分配内存时产生。EN_HSCROLL:单击编辑框水平滚动条时产生。EN_KILLFOCUS:编辑框失去焦点时产生。EN_MAXTEXT:当编辑框控件不具有Auto Hscroll属性,且输入的字符超过编辑框的宽度时产生,或者当编辑框控件不具有Auto VScroll属性,且输入的字符超过编辑框的高度时产生。EN_SETFOCUS:编辑框得到焦点时产生。EN_UPDATE:在编辑框控件对文本格式化之后显示文本之前产生。EN_VSCROLL:单击编辑框垂直滚动条时产生。【1】设置密码编辑框通过编辑框的Password属性可以设置编辑框中的文本密码显示,打开控件的属性窗口,选择Password属
14、性,如图所示。 【2】设置只读编辑框还可以设置编辑框控件只读,设置成只读编辑框以后,用户不能对控件中的内容进行编辑。打开控件的属性窗口,选择Read-only属性,如图所示。 【3】设置编辑框多行显示通过编辑框的Multiline属性可以进行多行显示,在使用代码输入字符串时,换行时需要键入“rn”,如图所示。【4】设置编辑框按回车键换行即使选择了编辑框的Multiline属性,在输入时还是会碰到无法输入多行的情况,这是因为在输入时无法进行换行,当在编辑框中按下Enter键时就关闭了对话框,这时可以选择编辑框的Want return属性,选择该属性以后,在编辑框中按下Enter键时就可以换到下一
15、行而不关闭对话框了。 【5】使用编辑框控件录入数据用户可以使用编辑框录入数据,在程序中可以通过GetWindowText函数获得编辑框中的数据,下面的就通过GetWindowText函数获得编辑框中的数据,然后使用消息对话框进行显示,用户在编辑框中输入数据,单击“获取”按钮弹出消息框,在消息框中显示编辑框中的数据。代码如下。CString str;m_Edit.GetWindowText(str);MessageBox(str);运行结果如图所示。 3按钮控件1按钮控件的主要方法(1)GetState方法:该方法用于返回按钮的当前状态。语法如下:UINT GetState( ) const;返
16、回值:返回按钮的状态,可选值如下:l BST_CHECKED:按钮被选中。l BST_UNCHECKED:按钮没有被选中。l BST_FOCUS:按钮获得焦点。l BST_INDETERMINATE:按钮处于灰色状态。l BST_PUSHED:按钮处于高亮状态。(2)SetState方法:该方法用于设置按钮状态。语法如下:void SetState( BOOL bHighlight );参数说明:bHighlight:标识按钮是否高亮显示。(3)GetCheck方法:该方法用于获取单选按钮或复选框的选中状态。语法如下:int GetCheck( ) const;返回值:0表示按钮没有被选中,1
17、表示按钮被选中,2表示按钮状态不确定。(4)SetCheck方法:该方法设置单选按钮或复选框的状态。语法如下:void SetCheck( int nCheck );参数说明:nCheck:如果为0,表示按钮没有选中,为1表示按钮被选中,为2表示按钮状态不确定。 2按钮控件的主要事件BN_CLICKED:在用户单击一个按钮时产生。按钮父窗口通过WM_COMMAND消息接收该通知消息。BN_DBLCLK:在用户双击一个按钮时产生。按钮父窗口通过WM_COMMAND消息接收该通知消息。在Win32应用程序中,只有BS_OWNERDRAW风格的按钮才会触发BN_DBLCLK事件。【1】使用按钮显示图
18、标按钮控件除了显示正常的文本以外还可以显示位图和图标等图像元素,要使用按钮显示图标,首先要向对话框中导入一个图标资源,然后打开按钮控件的属性窗口,选择Icon属性,接下来为按钮控件关联一个CButton类的变量,使用按钮显示图标时需要使用CButton类的SetIcon方法。语法:HICON SetIcon( HICON hIcon );hIcon:一个图标句柄。下面使用按钮控件显示图标,代码如下。m_Button.SetIcon(AfxGetApp()-LoadIcon(IDI_ICON1); /设置图标属性设置和运行结果如图所示。【2】使用按钮控件处理用户操作使用按钮控件处理用户的操作就是
19、处理按钮控件的单击事件,在按钮单击事件的处理函数中实现用户操作的实现代码。为按钮控件处理单击事件有两种方法:(1)在对话框中选择按钮控件,双击该控件,在弹出的Add Member Function对话框中设置处理函数名,单击OK按钮进行添加(这里以对话框的“确定”按钮为例),如图所示。 (2)在对话框中打开类向导,在类向导的Message Maps选项卡的Object IDs列表中选择按钮的ID值,在Messages列表中选择BN_CLICKED事件,单击Add Function按钮进行添加。 4列表框控件使用列表框控件编写程序时,有时由于输入的文本信息过多,容易出息重复输入的情况,要避免这种
20、情况发生,可以通过CListBox类的一些方法来实现。下面实例来实现避免向列表框控件中插入重复数据的功能,程序设置步骤如下:(1)创建一个基于对话框的应用程序,将对话框的Caption属性修改“避免向列表框控件中插入重复数据”。(2)向对话框中添加一个编辑框控件、一个列表框控件和一个按钮控件。(3)处理“插入”按钮的单击事件,获取编辑框中输入的数据,判断数据是否存在,如果存在则弹出提示,反正插入数据,代码如下。void CListBoxDlg:OnButtonadd() /“插入”按钮单击事件处理函数CString str;/声明字符串变量m_Text.GetWindowText(str);/
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 第八 控件 教程 课件
链接地址:https://www.31ppt.com/p-5069807.html