收藏 分销(赏)

第--章-Windows标准控件优秀文档.ppt

上传人:二*** 文档编号:5456252 上传时间:2024-11-06 格式:PPT 页数:50 大小:98.04KB 下载积分:5 金币
下载 相关 举报
第--章-Windows标准控件优秀文档.ppt_第1页
第1页 / 共50页
本文档共50页,全文阅读请下载到手机保存,查看更方便
资源描述
第第7章章 Windows标准控件标准控件第七章第七章windows 标准控件标准控件n nCStatic类控件的使用n nCEdit类控件的使用n nCButton类控件的使用n nCListBox类控件的使用n nCComBox类控件的使用控件操作控件操作有静态创建和动态创建两种有静态创建和动态创建两种静态创建:指在对话框模板创建控件,并设静态创建:指在对话框模板创建控件,并设置控件的属性。置控件的属性。动态创建:指在程序的运行中根据需要,定动态创建:指在程序的运行中根据需要,定义一个控件类的对象,创建控件。义一个控件类的对象,创建控件。windows 标准控件标准控件 静态创建的控件,可以在对话框模板中打静态创建的控件,可以在对话框模板中打开控件的属性对话框直接设置,也可在程开控件的属性对话框直接设置,也可在程序运行过程中,调用控件类的方法设置。序运行过程中,调用控件类的方法设置。静态控件不发送消息,其他控件对于用户静态控件不发送消息,其他控件对于用户的操作都能发送消息。的操作都能发送消息。windows 标准控件标准控件 通过通过UpdateData()函数主动地控制数据函数主动地控制数据在控件显示和成员变量之间交换。在控件显示和成员变量之间交换。7.1.2 控件的通用属性控件的通用属性n nGeneralGeneral标签页属性标签页属性标签页属性标签页属性1.ID1.ID 程序通过控件程序通过控件程序通过控件程序通过控件IDID来访问一个控件,除了来访问一个控件,除了来访问一个控件,除了来访问一个控件,除了Static Static BoxBox和和和和Group BoxGroup Box外,其他控件的外,其他控件的外,其他控件的外,其他控件的IDID值是唯一值是唯一值是唯一值是唯一的。的。的。的。设置对话框打开时控件是否可见,默认为设置对话框打开时控件是否可见,默认为设置对话框打开时控件是否可见,默认为设置对话框打开时控件是否可见,默认为TRUETRUE。设置当对话框打开时该控件是否不可用,默认设置当对话框打开时该控件是否不可用,默认设置当对话框打开时该控件是否不可用,默认设置当对话框打开时该控件是否不可用,默认为为为为FALSEFALSE。7.1.2 控件的通用属性控件的通用属性 标记一组控件中的第一控件。标记一组控件中的第一控件。5.Tap stop 设置设置TAB键是否可以该控件上驻留,默认键是否可以该控件上驻留,默认为为TRUE。6.Help ID 分配一个帮助分配一个帮助ID给该控件,默认为给该控件,默认为FALSE。7.1.2 控件的通用属性控件的通用属性n nExtend Styles 标签页设置一些与显示控标签页设置一些与显示控件风格有关的属性件风格有关的属性。1.Client edge 围绕对话框建立一个有下凹风格的边框,围绕对话框建立一个有下凹风格的边框,默认是默认是FALSE。2.Static edge 围绕对话框建立一个边框,默认是围绕对话框建立一个边框,默认是FALSE。7.1.2 控件的通用属性控件的通用属性3.Modal frame 该选项提供一个该选项提供一个3D框架。框架。这种风格的窗口在层叠状态下是透明的。这种风格的窗口在层叠状态下是透明的。5.Accept files 这种风格的对话框可接受拖放文件。这种风格的对话框可接受拖放文件。7.1.2 控件的通用属性控件的通用属性6.Right aligned text 指定在一个对话框中文本是右对齐的。指定在一个对话框中文本是右对齐的。7.Right-toleft reading order 对话框的文本按从右到左的顺序编排对话框的文本按从右到左的顺序编排7.1.3 常用控件窗口操作函数常用控件窗口操作函数 Windwos应用程序对控件的操作实质应用程序对控件的操作实质是对窗口的操作,控件的操作可以通过一是对窗口的操作,控件的操作可以通过一组窗口处理函数完成。组窗口处理函数完成。1.CreateWindow()函数函数 在程序运行过程中,可以通过调用创建窗在程序运行过程中,可以通过调用创建窗口的函数动态地创建控件。口的函数动态地创建控件。2.ShowWindow()函数函数 显示和隐藏控件。显示和隐藏控件。BOOL ShowWindow(int nCmdShow)7.1.3 常用控件窗口操作函数常用控件窗口操作函数3.EnableWindw()函数函数 激活控件或禁止状态,当值为激活控件或禁止状态,当值为TRUE时,时,允许用户输入,当值为允许用户输入,当值为FALSE时,不允许时,不允许用户输入,呈灰色显示。用户输入,呈灰色显示。4.MoveWindow()函数函数 移动控件或改变控件的大小。移动控件或改变控件的大小。5.DestoryWindow()函数函数 该函数能够关闭一个控件,格式为:该函数能够关闭一个控件,格式为:void DestoryWindow()复选按钮(Check Box)int nSelection=m_ListBox.静态创建的控件,可以在对话框模板中打开控件的属性对话框直接设置,也可在程序运行过程中,调用控件类的方法设置。CListBox类控件的使用LBN_ERRSPACE输入单行文本的控件。LineLength()与CListBox成员函数的不同之处用户在水平滚动条上单击鼠标。CBN_KILLFOCUSm_Scrollbar.Accept files例7-7通过一个对话框ComboxBox介绍如何使用组合框单选按钮(Radio Button)输入的字符超过了规定的最大字符数。Right-toleft reading order7.2 CStatic类控件的使用CStatic类管理静态文本控件,包括:类管理静态文本控件,包括:n n1.StaticText控件控件 标识一个控件,默认标识一个控件,默认ID为为IDC_STATIC,只有只有CStatic类控件的类控件的ID号可以重复号可以重复n n2.GroupBox控件控件 通常用来分割不同组别的控件。通常用来分割不同组别的控件。7.2.1 Static Text控件属性控件属性n nStyle标签页中,属性设置如下:标签页中,属性设置如下:1.Align text 控制控件中文本的对齐方式,控制控件中文本的对齐方式,Right,Left,Center。2.Center verically 静态文本控件中文本在垂直方向上居中。静态文本控件中文本在垂直方向上居中。3.No prefix 禁止文本中禁止文本中”&”解释为他后面的字符有解释为他后面的字符有个下划线,直接把它作为文本一部分。个下划线,直接把它作为文本一部分。7.2.1 Static Text控件控件 表示当控件被选中或双击时,通知父窗表示当控件被选中或双击时,通知父窗口。口。表示围绕静态文本控件的文本,建立一表示围绕静态文本控件的文本,建立一个下凹的边框。个下凹的边框。表示围绕静态文本控件的文本,建立一个表示围绕静态文本控件的文本,建立一个边框。边框。7.3 CEdit类控件的使用 文本编辑框在文本编辑框在MFC中使用中使用CEdit表示,表示,它是用来接收用户输入最常用的一个控件。它是用来接收用户输入最常用的一个控件。编辑控件用于程序需要获取文本。编辑控件用于程序需要获取文本。n n单行文本单行文本 输入单行文本的控件。输入单行文本的控件。n n多行文本多行文本(Multiline)输入多行文本的控件。输入多行文本的控件。CEdit类控件的属性n nMultiline 定义编辑控件为多行文本编辑。定义编辑控件为多行文本编辑。n nNumber 限定用户输入的只能是数字。限定用户输入的只能是数字。n nWant return 应用多行编辑控件中,按应用多行编辑控件中,按Enter键换行,键换行,而不影响对话框的默认按钮。而不影响对话框的默认按钮。CEdit类控件的属性n nPassword在编辑框中不显示输入文本,而是在编辑框中不显示输入文本,而是”*”。n nRead-only禁止用户在编辑控件中输入或修改其内容禁止用户在编辑控件中输入或修改其内容n nUppercase将所有输入的内容转换成大写字符。将所有输入的内容转换成大写字符。n nLowercase将所有输入的内容转换成小写字符。将所有输入的内容转换成小写字符。CEdit类控件的消息类别消息消息消息消息含义含义含义含义EN_CHANGEEN_CHANGE 编辑框的内容被用户改变了。与编辑框的内容被用户改变了。与编辑框的内容被用户改变了。与编辑框的内容被用户改变了。与EN_UPDATEEN_UPDATE不不不不同,该消息是在编辑框显示的正文被刷新后才同,该消息是在编辑框显示的正文被刷新后才同,该消息是在编辑框显示的正文被刷新后才同,该消息是在编辑框显示的正文被刷新后才发出的。发出的。发出的。发出的。EN_HSCROLLEN_HSCROLL用户在水平滚动条上单击鼠标。用户在水平滚动条上单击鼠标。用户在水平滚动条上单击鼠标。用户在水平滚动条上单击鼠标。EN_KILLFOCUSEN_KILLFOCUS编辑框失去输入焦点。编辑框失去输入焦点。编辑框失去输入焦点。编辑框失去输入焦点。EN_MAXTEXTEN_MAXTEXT 输入的字符超过了规定的最大字符数。在没有输入的字符超过了规定的最大字符数。在没有输入的字符超过了规定的最大字符数。在没有输入的字符超过了规定的最大字符数。在没有ES_AUTOHSCROLLES_AUTOHSCROLL或或或或ES_AUTOVSCROLLES_AUTOVSCROLL的编辑框中,当正文超出了编辑框的边框时也的编辑框中,当正文超出了编辑框的边框时也的编辑框中,当正文超出了编辑框的边框时也的编辑框中,当正文超出了编辑框的边框时也会发出该消息。会发出该消息。会发出该消息。会发出该消息。EN_SETFOCUSEN_SETFOCUS编辑框获得输入焦点。编辑框获得输入焦点。编辑框获得输入焦点。编辑框获得输入焦点。EN_UPDATEEN_UPDATE在编辑框准备显示改变了的正文时发送该消息。在编辑框准备显示改变了的正文时发送该消息。在编辑框准备显示改变了的正文时发送该消息。在编辑框准备显示改变了的正文时发送该消息。EN_VSCROLLEN_VSCROLL用户在垂直滚动条上单击鼠标。用户在垂直滚动条上单击鼠标。用户在垂直滚动条上单击鼠标。用户在垂直滚动条上单击鼠标。编程实例编程实例例例7-1 编写一个用户登录的应用程序,应用编写一个用户登录的应用程序,应用程序维护着一张纪录合法用户的用户名和程序维护着一张纪录合法用户的用户名和密码的列表,只有合法用户才能通过登录密码的列表,只有合法用户才能通过登录程序。程序。7.4 CButton类控件的使用 按钮控件在按钮控件在MFC中使用中使用CButton表示,表示,CButton包含了三种样式的按钮包含了三种样式的按钮:n n命令按钮命令按钮(Push Button)n n单选按钮单选按钮(Radio Button)n n复选按钮复选按钮(Check Box)所以在利用所以在利用CButton对象生成按钮窗口对象生成按钮窗口时需要指明按钮的风格。时需要指明按钮的风格。命令按钮命令按钮(Push Button)按钮控件消息类别:按钮控件消息类别:n nBN_CLICKED方法:方法:n nSetWindowText(字符串字符串)n nShowWindow(SW_SHOW/SW_HIDE);n n EnableWindow(false/true);例例7-2 观察按钮怎样在对话框中工作。观察按钮怎样在对话框中工作。单选按钮单选按钮(Radio Button)使用单选按钮只能从一组选项中选择唯一使用单选按钮只能从一组选项中选择唯一一个选项。一个选项。n nGroup属性:属性:同一组单选按钮的第一个同一组单选按钮的第一个同一组单选按钮的第一个同一组单选按钮的第一个groupgroup属性要选中属性要选中属性要选中属性要选中n n事件事件BN_CLICKEDBN_CLICKEDn n检查是否选中的方法检查是否选中的方法(1)IsDlgButtonChecked(ID)(2)连接变量的值:)连接变量的值:0,1,2,3.单选按钮属性单选按钮属性 该项被选中时,控件状态将自动改变。该项被选中时,控件状态将自动改变。2.Left text 把控件的标题放在控件的左边。把控件的标题放在控件的左边。将控件设置成具有下压按钮的外观。将控件设置成具有下压按钮的外观。单选按钮单选按钮(Radio Button)控件的标题可通过多行显示。控件的标题可通过多行显示。将控件左边的小圆圈显示为平放。将控件左边的小圆圈显示为平放。将控件标题设为图标将控件标题设为图标 将控件标题用位图代替。将控件标题用位图代替。编程实例编程实例例例7-3 建立一个单文档应用程序,添加包含建立一个单文档应用程序,添加包含单选按钮的单选按钮的RadioButto对话框,学习单对话框,学习单选按钮的使用。选按钮的使用。7.4.4 复选按钮复选按钮(Check Box)使用复选按钮,可以从一组选项中选择使用复选按钮,可以从一组选项中选择一个选项或多个选项,各个选项之间的选一个选项或多个选项,各个选项之间的选中状态互不相关。中状态互不相关。n n检查是否选中的方法检查是否选中的方法(1)IsDlgButtonChecked(ID)(2)连接变量的值:)连接变量的值:true/false7.5 CListBox 类控件类控件 列表框通常用于从若干数据项中进行选择列表框通常用于从若干数据项中进行选择的场合,是一个矩形窗口包含一些列表字的场合,是一个矩形窗口包含一些列表字符或数据,包括两种样式:符或数据,包括两种样式:n n单选列表框单选列表框 只允许用户选择一个选项。只允许用户选择一个选项。n n多选列表框多选列表框multi-column 可以一次选择多个选项。可以一次选择多个选项。CListBox 类控件属性类控件属性列表框控件属性的列表框控件属性的Styles标签页属性:标签页属性:n nSort设置列表框内容应按字母顺序排序。设置列表框内容应按字母顺序排序。n nmulti-column创建一个多列列表框。创建一个多列列表框。n nHorizontal scroll显示垂直滚动条。显示垂直滚动条。CListBox 类控件属性类控件属性n nvertical scroll显示水平滚动条。显示水平滚动条。n nwant key input设置列表有输入焦点。设置列表有输入焦点。n nSelection设置列表框选项的选中方式。设置列表框选项的选中方式。单选列表框单选列表框列表框的默认模式是单选项模式,用户每次只能列表框的默认模式是单选项模式,用户每次只能列表框的默认模式是单选项模式,用户每次只能列表框的默认模式是单选项模式,用户每次只能从列表框中选中一个选项,成员函数如下:从列表框中选中一个选项,成员函数如下:从列表框中选中一个选项,成员函数如下:从列表框中选中一个选项,成员函数如下:n nint AddString(LPCTSTR lpszItem)int AddString(LPCTSTR lpszItem)该函数该函数该函数该函数用来往列表框中加入字符串,其中参数用来往列表框中加入字符串,其中参数用来往列表框中加入字符串,其中参数用来往列表框中加入字符串,其中参数lpszItemlpszItem指定了要添加的字符串指定了要添加的字符串指定了要添加的字符串指定了要添加的字符串n nint DeleteString(UINT nIndex)int DeleteString(UINT nIndex)该函数用该函数用该函数用该函数用于删除指定的列表项,其中参数于删除指定的列表项,其中参数于删除指定的列表项,其中参数于删除指定的列表项,其中参数nIndexnIndex指定了指定了指定了指定了要删除项的索引要删除项的索引要删除项的索引要删除项的索引 n nGetCurSel()GetCurSel()返回当前选项的下标值。返回当前选项的下标值。返回当前选项的下标值。返回当前选项的下标值。n nSetCurSel(int nSelect)SetCurSel(int nSelect)设置列表框的初始选设置列表框的初始选设置列表框的初始选设置列表框的初始选中状态。中状态。中状态。中状态。n n例例例例7-5 7-5 使用单项列表框。使用单项列表框。使用单项列表框。使用单项列表框。多选列表框多选列表框用户每次只能从列表框中选中多个选项。用户每次只能从列表框中选中多个选项。n nGetSelCount()获得多项选择列表中当前获得多项选择列表中当前所选的项的数目。所选的项的数目。n nGetSetItems()将当前所有被选列表框将当前所有被选列表框项下标放入一个整形数组缓冲区。项下标放入一个整形数组缓冲区。n nSetSel()在多项选择列表框中设置选项的在多项选择列表框中设置选项的选择状态。选择状态。例例7-6使用多项列表框使用多项列表框CScrollBar类控件与CListBox成员函数的不同之处SetTopIndex禁止文本中”&”解释为他后面的字符有个下划线,直接把它作为文本一部分。GetCurSel()返回当前选项的下标值。通常用来分割不同组别的控件。输入多行文本的控件。该函数能够关闭一个控件,格式为:CButton类控件的使用多选列表框multi-columnInsertString静态创建的控件,可以在对话框模板中打开控件的属性对话框直接设置,也可在程序运行过程中,调用控件类的方法设置。Style标签页中,属性设置如下:7.6 CComBox 类控件类控件 组合框是把编辑框和列表框组合起来的一组合框是把编辑框和列表框组合起来的一类控件。类型:类控件。类型:n n简单组合框简单组合框(Simple)显示一个编辑控件和列表框。该列表框总显示一个编辑控件和列表框。该列表框总是可见的。是可见的。n n下拉式组合框下拉式组合框(Dropdown)隐藏列表框,直到用户打开它。隐藏列表框,直到用户打开它。n n下拉式列表框下拉式列表框(Drop List)隐藏列表框,直到用户打开它,同时编辑隐藏列表框,直到用户打开它,同时编辑框只能显示选项,不能输入。框只能显示选项,不能输入。CComBox 类控件类控件用于插入和删除列表项的用于插入和删除列表项的CComboBox成员函数成员函数成员函数名成员函数名成员函数名成员函数名对应的对应的对应的对应的CListBoxCListBox成员成员成员成员函数函数函数函数与与与与CListBoxCListBox成员成员成员成员函数的不同之处函数的不同之处函数的不同之处函数的不同之处AddStringAddStringAddStringAddString无无无无InsertStringInsertStringInsertStringInsertString无无无无DeleteStringDeleteStringDeleteStringDeleteString无无无无ResetContentResetContent ResetContentResetContent无无无无CComBox 类控件类控件用于搜索、查询和设置列表框的用于搜索、查询和设置列表框的用于搜索、查询和设置列表框的用于搜索、查询和设置列表框的CComboBoxCComboBox成员函数成员函数成员函数成员函数 成员函数名成员函数名成员函数名成员函数名对应的对应的对应的对应的CListBoxCListBox成员函数成员函数成员函数成员函数与与与与CListBoxCListBox成员函数的成员函数的成员函数的成员函数的不同之处不同之处不同之处不同之处GetCountGetCountGetCountGetCount无无FindStringFindStringFindStringFindString无无GetLBTextGetLBTextGetTextGetText仅函数名不同仅函数名不同GetLBTextLenGetLBTextLenGetTextLenGetTextLen仅函数名不同仅函数名不同GetItemDataGetItemDataGetItemDataGetItemData无无SetItemDataSetItemDataSetItemDataSetItemData无无GetTopIndexGetTopIndexGetTopIndexGetTopIndex无无SetTopIndexSetTopIndexSetTopIndexSetTopIndex无无n n例例7-7通过一个对话框通过一个对话框ComboxBox介绍介绍如何使用组合框如何使用组合框7.7 CScrollBar类控件类控件n n滚动条滚动条(Scroll Bar)主要用来从某一预定主要用来从某一预定义值范围内快速有效地进行选择义值范围内快速有效地进行选择n n滚动条分垂直滚动条和水平滚动条两种滚动条分垂直滚动条和水平滚动条两种在滚动条内有一个滚动框,用来表示当前在滚动条内有一个滚动框,用来表示当前的值的值n n滚动条既可以作为一个独立控件存在,也滚动条既可以作为一个独立控件存在,也可以作为窗口、列表框和组合框的一部分可以作为窗口、列表框和组合框的一部分 CScrollBar类控件类控件n n滚动条最直接的功能是当应用程序显示的滚动条最直接的功能是当应用程序显示的内容超过窗口的范围时,用户可通过滚动内容超过窗口的范围时,用户可通过滚动条遍历整个窗口内容。条遍历整个窗口内容。CComBox 类控件Accept files隐藏列表框,直到用户打开它。与CListBox成员函数的不同之处LBN_SELCANCEL单选按钮(Radio Button)SB_THUMBPOSITIONCButton类控件的使用CBN_EDITCHANGEExtend Styles 标签页设置一些与显示控件风格有关的属性。SB_ENDSCROLL静态创建的控件,可以在对话框模板中打开控件的属性对话框直接设置,也可在程序运行过程中,调用控件类的方法设置。SetScrollPos(0);SetTopIndex设置列表框内容应按字母顺序排序。例7-6使用多项列表框3 常用控件窗口操作函数CScrollBar控件的方法控件的方法n nGetScrollLimit()GetScrollLimit()获得滚动条的范围获得滚动条的范围获得滚动条的范围获得滚动条的范围n nGetScrollPos()GetScrollPos()获得滚动条当前的位置获得滚动条当前的位置获得滚动条当前的位置获得滚动条当前的位置n nGetScrollRange()GetScrollRange()获获获获得得得得制制制制定定定定滚滚滚滚动动动动条条条条当当当当前前前前最最最最大大大大或或或或最小滚动位置。最小滚动位置。最小滚动位置。最小滚动位置。n nSetScrollInfo()SetScrollInfo()设置滚动条的消息设置滚动条的消息设置滚动条的消息设置滚动条的消息n nSetScrollPos()SetScrollPos()设置滚动块当前的位置设置滚动块当前的位置设置滚动块当前的位置设置滚动块当前的位置n nSetScrollRange()SetScrollRange()设设设设置置置置滚滚滚滚动动动动条条条条的的的的最最最最大大大大和和和和最最最最小小小小滚滚滚滚动位置。动位置。动位置。动位置。n nShowScrollBar()ShowScrollBar()显示或隐藏滚动条显示或隐藏滚动条显示或隐藏滚动条显示或隐藏滚动条滚动条初始化滚动条初始化BOOL CExam7_4Dlg:OnInitDialog()BOOL CExam7_4Dlg:OnInitDialog()BOOL CExam7_4Dlg:OnInitDialog()BOOL CExam7_4Dlg:OnInitDialog()CDialog:OnInitDialog();CDialog:OnInitDialog();CDialog:OnInitDialog();CDialog:OnInitDialog();.m_Scrollbar.SetScrollRange(-20,40);m_Scrollbar.SetScrollRange(-20,40);/设置滚动条的滚动范围设置滚动条的滚动范围-20-40 -20-40 m_Scrollbar.SetScrollPos(0);m_Scrollbar.SetScrollPos(0);/设置滚动条的当前位置设置滚动条的当前位置return return return return TRUE;TRUE;TRUE;TRUE;/return return return return TRUE TRUE TRUE TRUE unless unless unless unless you set the focus to a controlyou set the focus to a controlyou set the focus to a controlyou set the focus to a control 滚动条消息映射函数滚动条消息映射函数n nvoid CExam7_4Dlg:OnVScroll(UINT nSBCode,UINT nPos,CScrollBar*pScrollBar)n nnSBCode:控件消息码控件消息码n nnPos:滚动块位置:滚动块位置n npScrollBar:滚动条对象指针:滚动条对象指针
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传

当前位置:首页 > 包罗万象 > 大杂烩

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2025 宁波自信网络信息技术有限公司  版权所有

客服电话:4009-655-100  投诉/维权电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服