精华内容
下载资源
问答
  • 列表框控件(listbox)消息
    千次阅读
    2017-03-15 10:21:37
    列表框主要用于输入,它允许用户从所列出的表项中进行单项或多项选择,被选择的项呈高亮度显示.列表框具有边框,并且一般带有一个垂直滚动条.列表框分单选列表框和多重选择列表框两种.单选列表框一次只能选择一个列表项,而多重选择列表框可以进行多重选择.对于列表项的选择,
      应用程序用CreateWindowEx创建列表框控件时,可根据控件的用途在下表中选择部份常数来设定其风格属性(style)。 
    常数说明LBS_DISABLENOSCROLL固定显示垂直滚动条。未指定本项时,当列表未超出窗口,垂直滚动条自动隐藏。LBS_EXTENDEDSEL使用键盘“SHIFT”键或另指定键加鼠标进行多选。LBS_HASSTRINGS含有字符串的自绘式列表框.应用程序在自绘式列表框进行自绘时可以用LB_GETTEXT消息来取得列表项的文本。LBS_MULTICOLUMN多列列表框,带有水平滚动条。应用程序可以用 LB_SETCOLUMNWIDTH 消息来为列表框指定列数。LBS_MULTIPLESEL支持多重选择。列表项的选择状态随着用户对该项单击或双击鼠标而翻转。LBS_NODATA本项已不被支持。LBS_NOINTEGRALHEIGHT列表框的尺寸由应用程序而不是Windows指定.通常,Windows指定尺寸会使列表项的某些部分隐藏起来。LBS_NOREDRAW禁止刷新。当选择发生变化时防止列表框被更新,可发送WM_SETREDRAW来改变该风格。LBS_NOSEL禁止选择,列表项只能看,不能被选择。LBS_NOTIFY当用户单击或双击鼠标时通知父窗口。LBS_OWNERDRAWFIXED指定自绘式列表框,即由父窗口负责绘制列表框的内容,并且列表项有相同的高度。在控件被创建时父窗口将收到WM_MEASUREITEM 消息,当需要重绘时父窗口将收到 WM_DRAWITEM 消息。LBS_OWNERDRAWVARIABLE指定自绘式列表框,并且列表项有不同的高度.在控件被创建时父窗口将收到WM_MEASUREITEM消息,当需要重绘时父窗口将收到 WM_DRAWITEM 消息。LBS_SORT使插入列表框中的项按字母升序排列.LBS_STANDARD使用默认风格,相当于指定了边框,垂直滚动条,字母升序排列和鼠标单双击通知消息这几项风格LBS_USETABSTOPS使列表框在显示列表项时识别并扩展制表符(08h),缺省的制表宽度是32个对话框单位。LBS_WANTKEYBOARDINPUT响应键盘输入。当控件拥有键盘输入焦点时,允许接收父窗口接收WM_VKEYTOITEM和WM_CHARTOITEM消息,输入字符。
      应用程序可以通过调用SendMessage向控件发送如下消息来设定和查询控件各种参数。
    uMsgwParamlParam说明LB_ADDFILE0文件名地址增加文件名。LB_ADDSTRING0字符串地址追加一个列表项。如果指定了LBS_SORT风格,表项将被重排序,否则将被追加在列表框的最后一项。LB_DELETESTRING列表项序号0删除指定的列表项,LB_DIRDDL_ARCHIVE指向通配符地址在列表框中列出文件名,必须是当前路径内,符合指定通配符,存档属性的文件名。DDL_DIRECTORY在列表框中列出当前路径的子文件夹。子文件夹名前后将加上一对方括号"[*]"DDL_DRIVES在列表框中列出本机的所有驱动器名。驱动器名前后将加上一对方括号和减号"[-*-]"DDL_EXCLUSIVE只列出指定属性的文件名,默认情况下是所有可读写文件都列出。如果没有指定任何文件属性,则不列出文件名。DDL_HIDDEN列出隐藏属性的文件名。DDL_READONLY列出只读属性的文件名。DDL_READWRITE列出读写属性的文件名。DDL_SYSTEM列出系统属性的文件名。LB_FINDSTRING开始表项序号字符串地址查找匹配字符串,忽略大小写,从指定开始表项序号开始查找,当查到某表项的文本字符串的前面包括指定的字符串则结束,找不到则转到列表框第一项继续查找,直到查完所有表项,如果wParam为-1则从列表框第一项开始查找,如果找到则返回表项序号,否则返回LB_ERR。如:表项字符串为"abc123"和指定字串"ABC"就算匹配。LB_FINDSTRINGEXACT开始表项序号字符串地址查找字符串,忽略大小写,与LB_FINDSTRING不同,本操作必须整个字符串相同。如果找到则返回表项序号,否则返回LB_ERR。LB_GETANCHORINDEX00返回鼠标最后选中的项的索引LB_GETCARETINDEX00返回具有矩形焦点的项的索引LB_GETCOUNT00返回列表项的总项数,若出错则返回LB_ERR.LB_GETCURSEL00本操作仅适用于单选择列表框,用来返回当前被选择项的索引,如果没有列表项被选择或有错误发生,则返回LB_ERR.LB_GETHORIZONTALEXTENT00返回列表框的可滚动的宽度(象素)LB_GETITEMDATA索引0每个列表项都有一个32位的附加数据.该函数返回指定列表项的附加数据。若出错则函数返回LB_ERR.LB_GETITEMHEIGHT索引0返回列表框中某一项的高度(单位:象素)LB_GETITEMRECT索引RECT结构地址获得列表项的客户区的RECTLB_GETLOCALE00取列表项当前用于排序的语言代码,当用户使用LB_ADDSTRING向组合框中的列表框中添加记录并使用LBS_SORT风格进行重新排序时,必须使用该语言代码。返回值中高16位为国家代码。LB_GETSEL索引0返回指定列表项的状态。如果查询的列表项被选择了,函数返回一个正值,否则返回0,若出错则返回LB_ERR。LB_GETSELCOUNT00本操作仅用于多重选择列表框,它返回选择项的数目,若出错函数返回LB_ERR.LB_GETSELITEMS数组的大小缓冲区本操作仅用于多重选择列表框,用来获得选中的项的数目及位置。参数lParam指向一个整型数数组缓冲区,用来存放选中的列表项的索引。wParam说明了数组缓冲区的大小。本操作返回放在缓冲区中的选择项的实际数目,若出错函数返回LB_ERR.LB_GETTEXT索引缓冲区用于获取指定列表项的字符串。参数lParam指向一个接收字符串的缓冲区.wParam则指定了接收字符串的列表项索引。返回获得的字符串的长度,若出错,则返回LB_ERR。LB_GETTEXTLEN索引0返回指定列表项的字符串的字节长度。wParam指定了列表项的索引.若出错则返回LB_ERR。LB_GETTOPINDEX00返回列表框中第一个可见项的索引,若出错则返回LB_ERR.LB_INITSTORAGE表项数内存字节数本操作只适用于Windows95版本,当你将要向列表框中加入很多表项或有很大的表项时,本操作将预先分配一块内存,以免在今后的操作中一次一次地分配内存,从而加快程序运行速度。LB_INSERTSTRING索引字符串地址在列表框中的指定位置插入字符串。wParam指定了列表项的索引,如果为-1,则字符串将被添加到列表的末尾。lParam指向要插入的字符串。本操作返回实际的插入位置,若发生错误,会返回LB_ERR或LB_ERRSPACE。与LB_ADDSTRING不同,本操作不会导致LBS_SORT风格的列表框重新排序。建议不要在具有LBS_SORT风格的列表框中使用本操作,以免破坏列表项的次序。LB_ITEMFROMPOINT0位置获得与指定点最近的项的索引,lParam指定在列表框客户区,低16位为X坐标,高16位为Y坐标。LB_RESETCONTENT00清除所有列表项。LB_SELECTSTRING开始表项序号字符串地址本操作仅适用于单选择列表框,设定与指定字符串相匹配的列表项为选中项。本操作会滚动列表框以使选择项可见。参数的意义及搜索的方法与LB_FINDSTRING类似。如果找到了匹配的项,返回该项的索引,如果没有匹配的项,返回LB_ERR并且当前的选中项不被改变。LB_SELITEMRANGETRUE或FALSE范围本操作仅用于多重选择列表框,用来使指定范围内的列表项选中或落选.参数lParam指定了列表项索引的范围,低16位为开始项高16位为结束项。如果参数wParam为TRUE,那么就选择这些列表项,否则就使它们落选。若出错函数返回LB_ERR。LB_SELITEMRANGEEX起点终点本操作仅用于多重选择列表框,若指定终点大于起点则设定该范围为选中,若指定起点大于终点则设定该范围为落选。LB_SETANCHORINDEX索引0设置鼠标最后选中的表项成指定表项LB_SETCARETINDEX索引TRUE或FALSE设置键盘输入焦点到指定表项,若lParam为TRUE则滚动到指定项部份可见,若lParam为FALSE则滚动到指定项全部可见。LB_SETCOLUMNWIDTH宽度(点)0设置列的宽度。LB_SETCOUNT项数0设置表项数目LB_SETCURSEL索引0本操作仅适用于单选择列表框,设置指定的列表项为当前选择项。本操作会滚动列表框以使选择项可见。参数wParam指定了列表项的索引,若为-1,那么将清除列表框中的选择。若出错函数返回LB_ERR。LB_SETHORIZONTALEXTENT宽度(点)0设置列表框的滚动宽度。LB_SETITEMDATA索引数据值更新指定列表项的32位附加数据。LB_SETITEMHEIGHT索引高度(点)指定列表项显示高度,带有LBS_OWNERDRAWVARIABLE(自绘列表项)风格的控件,只设置由wParam指定项的高度,其它风格将更新所有的列表项的高度。LB_SETLOCALE语言代码0取列表项当前用于排序的语言代码,当用户使用LB_ADDSTRING向组合框中的列表框中添加记录并使用LBS_SORT风格进行重新排序时,必须使用该语言代码。返回值中高16位为国家代码。LB_SETSELTRUE或FALSE索引本操作仅适用于多重选择列表框,它使指定的列表项选中或落选。参数lParam指定了列表项的索引,若为-1,则相当于指定了所有的项。参数wParam为TRUE时选中列表项,否则使之落选。若出错则返回LB_ERR。LB_SETTABSTOPS站数索引顺序表设置列表框的光标(输入焦点)站数及索引顺序表。LB_SETTOPINDEX索引0用来将指定的列表项设置为列表框的第一个可见项,该函数会将列表框滚动到合适的位置。wParam指定了列表项的索引.若操作成功,返回0值,否则返回LB_ERR。
      当用户在列表框上进行各种操作时,其父窗口将收到WM_COMMAND通知消息,同时wParam的低16位带控件的ID。lParam带控件句柄(hWnd),wParam的高16位带有如下表的消息代码。
    消息代码说明LBN_DBLCLK用户单击了列表项。LBN_ERRSPACE列表框无法申请到足够的内存空间。LBN_KILLFOCUS列表框失去输入焦点。LBN_SELCANCEL取消选择列表项。LBN_SELCHANGE列表框的选择项即将被改变。LBN_SETFOCUS列表框得到键盘输入焦点。
    更多相关内容
  •  5.1、用途:搜索【模块自身未集成搜索功能】,仅展示属于某特定内容的表项 等  5.2、方法说明:  5.2.1、:列表_开启显示部分表项功能  参数:显示表项序号组【整数数组型】 可空(自带去重,可提供带重复序号...
  • 列表框控件(listbox)

    千次阅读 2010-05-06 18:22:00
    列表框(listbox)主要用于输入,它允许用户从所列出的表项中进行单项或多项选择,被选择的...对于列表项的选择, 应用程序用CreateWindowEx创建列表框控件时,可根据控件的用途在下表中选择部份常数来设定其风格属性(st

      列表框(listbox)主要用于输入,它允许用户从所列出的表项中进行单项或多项选择,被选择的项呈高亮度显示.列表框具有边框,并且一般带有一个垂直滚动条.列表框分单选列表框和多重选择列表框两种.单选列表框一次只能选择一个列表项,而多重选择列表框可以进行多重选择.对于列表项的选择,
      应用程序用CreateWindowEx创建列表框控件时,可根据控件的用途在下表中选择部份常数来设定其风格属性(style)。

    常数说明
    LBS_DISABLENOSCROLL固定显示垂直滚动条。未指定本项时,当列表未超出窗口,垂直滚动条自动隐藏。
    LBS_EXTENDEDSEL使用键盘“SHIFT”键或另指定键加鼠标进行多选。
    LBS_HASSTRINGS含有字符串的自绘式列表框.应用程序在自绘式列表框进行自绘时可以用LB_GETTEXT消息来取得列表项的文本。
    LBS_MULTICOLUMN多列列表框,带有水平滚动条。应用程序可以用 LB_SETCOLUMNWIDTH 消息来为列表框指定列数。
    LBS_MULTIPLESEL支持多重选择。列表项的选择状态随着用户对该项单击或双击鼠标而翻转。
    LBS_NODATA本项已不被支持。
    LBS_NOINTEGRALHEIGHT列表框的尺寸由应用程序而不是Windows指定.通常,Windows指定尺寸会使列表项的某些部分隐藏起来。
    LBS_NOREDRAW禁止刷新。当选择发生变化时防止列表框被更新,可发送WM_SETREDRAW来改变该风格。
    LBS_NOSEL禁止选择,列表项只能看,不能被选择。
    LBS_NOTIFY当用户单击或双击鼠标时通知父窗口。
    LBS_OWNERDRAWFIXED指定自绘式列表框,即由父窗口负责绘制列表框的内容,并且列表项有相同的高度。在控件被创建时父窗口将收到WM_MEASUREITEM 消息,当需要重绘时父窗口将收到 WM_DRAWITEM 消息。
    LBS_OWNERDRAWVARIABLE指定自绘式列表框,并且列表项有不同的高度.在控件被创建时父窗口将收到WM_MEASUREITEM消息,当需要重绘时父窗口将收到 WM_DRAWITEM 消息。
    LBS_SORT使插入列表框中的项按字母升序排列.
    LBS_STANDARD使用默认风格,相当于指定了边框,垂直滚动条,字母升序排列和鼠标单双击通知消息这几项风格
    LBS_USETABSTOPS使列表框在显示列表项时识别并扩展制表符(08h),缺省的制表宽度是32个对话框单位。
    LBS_WANTKEYBOARDINPUT响应键盘输入。当控件拥有键盘输入焦点时,允许接收父窗口接收WM_VKEYTOITEM和WM_CHARTOITEM消息,输入字符。


      应用程序可以通过调用SendMessage向控件发送如下消息来设定和查询控件各种参数。

    uMsgwParamlParam说明
    LB_ADDFILE0文件名地址增加文件名。
    LB_ADDSTRING0字符串地址追加一个列表项。如果指定了LBS_SORT风格,表项将被重排序,否则将被追加在列表框的最后一项。
    LB_DELETESTRING列表项序号0删除指定的列表项,
    LB_DIRDDL_ARCHIVE指向通配符地址在列表框中列出文件名,必须是当前路径内,符合指定通配符,存档属性的文件名。
    DDL_DIRECTORY在列表框中列出当前路径的子文件夹。子文件夹名前后将加上一对方括号"[*]"
    DDL_DRIVES在列表框中列出本机的所有驱动器名。驱动器名前后将加上一对方括号和减号"[-*-]"
    DDL_EXCLUSIVE只列出指定属性的文件名,默认情况下是所有可读写文件都列出。如果没有指定任何文件属性,则不列出文件名。
    DDL_HIDDEN列出隐藏属性的文件名。
    DDL_READONLY列出只读属性的文件名。
    DDL_READWRITE列出读写属性的文件名。
    DDL_SYSTEM列出系统属性的文件名。
    LB_FINDSTRING开始表项序号字符串地址查找匹配字符串,忽略大小写,从指定开始表项序号开始查找,当查到某表项的文本字符串的前面包括指定的字符串则结束,找不到则转到列表框第一项继续查找,直到查完所有表项,如果wParam为-1则从列表框第一项开始查找,如果找到则返回表项序号,否则返回LB_ERR。如:表项字符串为"abc123"和指定字串"ABC"就算匹配。
    LB_FINDSTRINGEXACT开始表项序号字符串地址查找字符串,忽略大小写,与LB_FINDSTRING不同,本操作必须整个字符串相同。如果找到则返回表项序号,否则返回LB_ERR。
    LB_GETANCHORINDEX00返回鼠标最后选中的项的索引
    LB_GETCARETINDEX00返回具有矩形焦点的项的索引
    LB_GETCOUNT00返回列表项的总项数,若出错则返回LB_ERR.
    LB_GETCURSEL00本操作仅适用于单选择列表框,用来返回当前被选择项的索引,如果没有列表项被选择或有错误发生,则返回LB_ERR.
    LB_GETHORIZONTALEXTENT00返回列表框的可滚动的宽度(象素)
    LB_GETITEMDATA索引0每个列表项都有一个32位的附加数据.该函数返回指定列表项的附加数据。若出错则函数返回LB_ERR.
    LB_GETITEMHEIGHT索引0返回列表框中某一项的高度(单位:象素)
    LB_GETITEMRECT索引RECT结构地址获得列表项的客户区的RECT
    LB_GETLOCALE00取列表项当前用于排序的语言代码,当用户使用LB_ADDSTRING向组合框中的列表框中添加记录并使用LBS_SORT风格进行重新排序时,必须使用该语言代码。返回值中高16位为国家代码。
    LB_GETSEL索引0返回指定列表项的状态。如果查询的列表项被选择了,函数返回一个正值,否则返回0,若出错则返回LB_ERR。
    LB_GETSELCOUNT00本操作仅用于多重选择列表框,它返回选择项的数目,若出错函数返回LB_ERR.
    LB_GETSELITEMS数组的大小缓冲区本操作仅用于多重选择列表框,用来获得选中的项的数目及位置。参数lParam指向一个整型数数组缓冲区,用来存放选中的列表项的索引。wParam说明了数组缓冲区的大小。本操作返回放在缓冲区中的选择项的实际数目,若出错函数返回LB_ERR.
    LB_GETTEXT索引缓冲区用于获取指定列表项的字符串。参数lParam指向一个接收字符串的缓冲区.wParam则指定了接收字符串的列表项索引。返回获得的字符串的长度,若出错,则返回LB_ERR。
    LB_GETTEXTLEN索引0返回指定列表项的字符串的字节长度。wParam指定了列表项的索引.若出错则返回LB_ERR。
    LB_GETTOPINDEX00返回列表框中第一个可见项的索引,若出错则返回LB_ERR.
    LB_INITSTORAGE表项数内存字节数本操作只适用于Windows95版本,当你将要向列表框中加入很多表项或有很大的表项时,本操作将预先分配一块内存,以免在今后的操作中一次一次地分配内存,从而加快程序运行速度。
    LB_INSERTSTRING索引字符串地址在列表框中的指定位置插入字符串。wParam指定了列表项的索引,如果为-1,则字符串将被添加到列表的末尾。lParam指向要插入的字符串。本操作返回实际的插入位置,若发生错误,会返回LB_ERR或LB_ERRSPACE。与LB_ADDSTRING不同,本操作不会导致LBS_SORT风格的列表框重新排序。建议不要在具有LBS_SORT风格的列表框中使用本操作,以免破坏列表项的次序。
    LB_ITEMFROMPOINT0位置获得与指定点最近的项的索引,lParam指定在列表框客户区,低16位为X坐标,高16位为Y坐标。
    LB_RESETCONTENT00清除所有列表项。
    LB_SELECTSTRING开始表项序号字符串地址本操作仅适用于单选择列表框,设定与指定字符串相匹配的列表项为选中项。本操作会滚动列表框以使选择项可见。参数的意义及搜索的方法与LB_FINDSTRING类似。如果找到了匹配的项,返回该项的索引,如果没有匹配的项,返回LB_ERR并且当前的选中项不被改变。
    LB_SELITEMRANGETRUE或FALSE范围本操作仅用于多重选择列表框,用来使指定范围内的列表项选中或落选.参数lParam指定了列表项索引的范围,低16位为开始项高16位为结束项。如果参数wParam为TRUE,那么就选择这些列表项,否则就使它们落选。若出错函数返回LB_ERR。
    LB_SELITEMRANGEEX起点终点本操作仅用于多重选择列表框,若指定终点大于起点则设定该范围为选中,若指定起点大于终点则设定该范围为落选。
    LB_SETANCHORINDEX索引0设置鼠标最后选中的表项成指定表项
    LB_SETCARETINDEX索引TRUE或FALSE设置键盘输入焦点到指定表项,若lParam为TRUE则滚动到指定项部份可见,若lParam为FALSE则滚动到指定项全部可见。
    LB_SETCOLUMNWIDTH宽度(点)0设置列的宽度。
    LB_SETCOUNT项数0设置表项数目
    LB_SETCURSEL索引0本操作仅适用于单选择列表框,设置指定的列表项为当前选择项。本操作会滚动列表框以使选择项可见。参数wParam指定了列表项的索引,若为-1,那么将清除列表框中的选择。若出错函数返回LB_ERR。
    LB_SETHORIZONTALEXTENT宽度(点)0设置列表框的滚动宽度。
    LB_SETITEMDATA索引数据值更新指定列表项的32位附加数据。
    LB_SETITEMHEIGHT索引高度(点)指定列表项显示高度,带有LBS_OWNERDRAWVARIABLE(自绘列表项)风格的控件,只设置由wParam指定项的高度,其它风格将更新所有的列表项的高度。
    LB_SETLOCALE语言代码0取列表项当前用于排序的语言代码,当用户使用LB_ADDSTRING向组合框中的列表框中添加记录并使用LBS_SORT风格进行重新排序时,必须使用该语言代码。返回值中高16位为国家代码。
    LB_SETSELTRUE或FALSE索引本操作仅适用于多重选择列表框,它使指定的列表项选中或落选。参数lParam指定了列表项的索引,若为-1,则相当于指定了所有的项。参数wParam为TRUE时选中列表项,否则使之落选。若出错则返回LB_ERR。
    LB_SETTABSTOPS站数索引顺序表设置列表框的光标(输入焦点)站数及索引顺序表。
    LB_SETTOPINDEX索引0用来将指定的列表项设置为列表框的第一个可见项,该函数会将列表框滚动到合适的位置。wParam指定了列表项的索引.若操作成功,返回0值,否则返回LB_ERR。


      当用户在列表框上进行各种操作时,其父窗口将收到WM_COMMAND通知消息,同时wParam的低16位带控件的ID。lParam带控件句柄(hWnd),wParam的高16位带有如下表的消息代码。

    消息代码说明
    LBN_DBLCLK用户单击了列表项。
    LBN_ERRSPACE列表框无法申请到足够的内存空间。
    LBN_KILLFOCUS列表框失去输入焦点。
    LBN_SELCANCEL取消选择列表项。
    LBN_SELCHANGE列表框的选择项即将被改变。
    LBN_SETFOCUS列表框得到键盘输入焦点。
    展开全文
  • 高级控件列表选择(Spinner)

    千次阅读 2016-12-11 15:51:39
    Spinner是一个下拉列表,通常用于选择一系列可选择的列表项,它可以使用适配器,也可以直接设置数组源。

    一.列表选择框的基本知识

          Spinner是一个下拉列表,通常用于选择一系列可选择的列表项,它可以使用适配器,也可以直接设置数组源。

    (一)XML配置:

     <Spinner android:id="@+id/ctype" 
    android:layout_width="match_parent" 
    android:layout_height="wrap_content" 
    android:entries="@array/ctype"/>//设置数组源 

    (二)选中默认值:

    spinner.setSelection(2,true);选中默认值

    (三)监听事件:

    spinner.setOnItemSelectedListener(new OnItemSelectedListener() {
         @Override 
         public void onItemSelected(AdapterView<?> parent, View view ,  int position, long id) { 
                        //当用户选择其中一项时 
        } 
         @Override 
         public void onNothingSelected(AdapterView<?> parent) {
         //当没有任何选择时
         } 
    });

          它也可以设置适配器作为数据源,如果下拉列表中并不止一个TextView显示文本,那么就需要设置适配器,但是一般下拉列表都只需要一个文本。

    (四)适配器

          spinner.setAdapter(adapter); 如果需要多个组件值都需要改变,那么一般使用SimpleAdapter类。

    (五)自动完成文本框(AutoCompleteTextView)和列表选择框(Spinner)的区别

          都是有点类似下拉效果而已,但是实际用途是非常不一样的;
          1.自动完成文本框继承于EditText,是输入内容时的提示作用。
          2.列表选择框一般用于点击一个文本框,然后显示可以选择的列表内容,点击列表某个内容后把数据显示在文本框内。

    二.使用资源文件的数据来加载显示Spinner

    (一)创建资源文件arrays.xml(在values文件夹中)

    <?xml version="1.0" encoding="utf-8"?>
    <resources>
        <string-array name="myarray">
            <item>李嘉诚</item>
            <item>李文志</item>
            <item>李世民</item>
            <item>李鸿章</item>
            <item>李丹丹</item>
            <item>李泉</item>
        </string-array>
    </resources>

    (二)设计布局文件

    <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
        android:layout_width="match_parent"
        android:layout_height="match_parent" >
    
        <Spinner
            android:id="@+id/spinner"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:entries="@array/myarray" />
    
    </RelativeLayout>

    (三)java代码设计

    public class MainActivity extends Activity {
    
        // Spinner对象
        Spinner spinner;
        // 数据源
        String arr[];
        @Override
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.activity_main);
            // 实例化对象
            spinner = (Spinner) findViewById(R.id.spinner);
    
            //获取资源文件里面的数组数据
             arr=getResources().getStringArray(R.array.myarray);
            // 添加选中条目的点击事件
            spinner.setOnItemSelectedListener(new OnItemSelectedListener() {
    
                // 选中任意的条目后会触发
                @Override
                public void onItemSelected(AdapterView<?> parent, View view,
                        int position, long id) {
    
                    Toast.makeText(MainActivity.this, "你选中了" + arr[position], 0)
                            .show();
    
                }
    
                // 这个方法基本没有用
                @Override
                public void onNothingSelected(AdapterView<?> parent) {
                }
            });
    
        }
    
    }

    程序运行后显示的界面:
    z1
    默认选中的是第一个资源数据;

    点击下拉框后显示的界面:
    z2

    点击下拉显示的某一个数据后显示的界面:
    z3

    三.使用数组或集合的数据来加载显示Spinner

    (一)布局文件

    <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
        android:layout_width="match_parent"
        android:layout_height="match_parent" >
    
        <Spinner
            android:id="@+id/spinner"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
              />
    
    </RelativeLayout>

    (二)java代码文件

    package com.example.lesson7_spinner;
    
    import android.R.integer;
    import android.app.Activity;
    import android.os.Bundle;
    import android.view.View;
    import android.widget.AdapterView;
    import android.widget.AdapterView.OnItemSelectedListener;
    import android.widget.ArrayAdapter;
    import android.widget.Spinner;
    import android.widget.SpinnerAdapter;
    import android.widget.Toast;
    
    public class MainActivity extends Activity {
    
        // Spinner对象
        Spinner spinner;
    
        // 数据源
    
        String[] array = { "张三", "张4", "张5", "张6", "张7", "张8", "张9", "张10", "张11" };
    
        String arr[];
        @Override
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.activity_main);
            // 实例化对象
            spinner = (Spinner) findViewById(R.id.spinner);     
    
            // 添加选中条目的点击事件
            spinner.setOnItemSelectedListener(new OnItemSelectedListener() {
    
                // 选中任意的条目后会触发
                @Override
                public void onItemSelected(AdapterView<?> parent, View view,
                        int position, long id) {
    
                    Toast.makeText(MainActivity.this, "你选中了" + arr[position], 0)
                            .show();
    
                }
    
                // 这个方法基本没有用
                @Override
                public void onNothingSelected(AdapterView<?> parent) {
                }
            });
    //创建适配器对象
            SpinnerAdapter adapter = new ArrayAdapter<String>(this,
                    android.R.layout.simple_dropdown_item_1line, array);
    //给Spinner设置适配器 
    spinner.setAdapter(adapter);
    
        }
    
    }

    程序运行后点击下拉后显示的界面:

    z4

    在一般的程序中第二种方法的使用是常见的,因为页面数据的传递一般都是集合或数组。

    展开全文
  • 列表框消息大全

    2019-09-23 23:54:25
    应用程序用CreateWindowEx创建列表框控件时,可根据控件的用途在下表中选择部份常数来设定其风格属性(style)。 常数 说明 LBS_DISABLENOSCROLL 固定显示垂直滚动条。未指定本项时,当列表未超出窗口,垂直滚动...
    应用程序用CreateWindowEx创建列表框控件时,可根据控件的用途在下表中选择部份常数来设定其风格属性(style)。 
         常数                                                    说明  
    LBS_DISABLENOSCROLL   固定显示垂直滚动条。未指定本项时,当列表未超出窗口,垂直滚动条自动隐藏。 
    LBS_EXTENDEDSEL       使用键盘“SHIFT”键或另指定键加鼠标进行多选。 
    LBS_HASSTRINGS        含有字符串的自绘式列表框.应用程序在自绘式列表框进行自绘时可以用LB_GETTEXT消息来取得列表项的文本。 
    LBS_MULTICOLUMN       多列列表框,带有水平滚动条。应用程序可以用 LB_SETCOLUMNWIDTH 消息来为列表框指定列数。 
    LBS_MULTIPLESEL       支持多重选择。列表项的选择状态随着用户对该项单击或双击鼠标而翻转。 
    LBS_NODATA            本项已不被支持。 
    LBS_NOINTEGRALHEIGHT  列表框的尺寸由应用程序而不是Windows指定.通常,Windows指定尺寸会使列表项的某些部分隐藏起来。 
    LBS_NOREDRAW          禁止刷新。当选择发生变化时防止列表框被更新,可发送WM_SETREDRAW来改变该风格。 
    LBS_NOSEL             禁止选择,列表项只能看,不能被选择。 
    LBS_NOTIFY            当用户单击或双击鼠标时通知父窗口。 
    LBS_OWNERDRAWFIXED    指定自绘式列表框,即由父窗口负责绘制列表框的内容,并且列表项有相同的高度。在控件被创建时父窗口将收到WM_MEASUREITEM 消息,当需要重绘时父窗口将收到 WM_DRAWITEM 消息。 
    LBS_OWNERDRAWVARIABLE 指定自绘式列表框,并且列表项有不同的高度.在控件被创建时父窗口将收到WM_MEASUREITEM消息,当需要重绘时父窗口将收到 WM_DRAWITEM 消息。 
    LBS_SORT              使插入列表框中的项按字母升序排列. 
    LBS_STANDARD          使用默认风格,相当于指定了边框,垂直滚动条,字母升序排列和鼠标单双击通知消息这几项风格 
    LBS_USETABSTOPS       使列表框在显示列表项时识别并扩展制表符(08h),缺省的制表宽度是32个对话框单位。 
    LBS_WANTKEYBOARDINPUT 响应键盘输入。当控件拥有键盘输入焦点时,允许接收父窗口接收WM_VKEYTOITEM和WM_CHARTOITEM消息,输入字符。 
    
    应用程序可以通过调用SendMessage向控件发送如下消息来设定和查询控件各种参数。
       uMsg             wParam          lParam               说明 
    LB_ADDFILE            0            件名地址           增加文件名。 
    LB_ADDSTRING          0            符串地址           追加一个列表项。如果指定了LBS_SORT风格,表项将被重排序,否则将被追加在列表框的最后一项。 
    LB_DELETESTRING     列表项序号           0            删除指定的列表项, 
    LB_DIR              DDL_ARCHIVE    指向通配符地址     在列表框中列出文件名,必须是当前路径内,符合指定通配符,存档属性的文件名。 
    LB_DIR              DDL_DIRECTORY  指向通配符地址     在列表框中列出当前路径的子文件夹。子文件夹名前后将加上一对方括号"[*]" 
    LB_DIR              DDL_DRIVES     指向通配符地址     在列表框中列出本机的所有驱动器名。驱动器名前后将加上一对方括号和减号"[-*-]" 
    LB_DIR              DDL_EXCLUSIVE  指向通配符地址     只列出指定属性的文件名,默认情况下是所有可读写文件都列出。如果没有指定任何文件属性,则不列出文件名。 
    LB_DIR              DDL_HIDDEN     指向通配符地址     列出隐藏属性的文件名。 
    LB_DIR              DDL_READONLY   指向通配符地址     列出只读属性的文件名。 
    LB_DIR              DDL_READWRITE  指向通配符地址     列出读写属性的文件名。 
    LB_DIR              DDL_SYSTEM     指向通配符地址     列出系统属性的文件名。 
    LB_FINDSTRING       开始表项序号   字符串地址         查找匹配字符串,忽略大小写,从指定开始表项序号开始查找,当查到某表项的文本字符串的前面包括指定的字符串则结束,找不到则转到列表框第一项继续查找,直到查完所有表项,如果wParam为-1则从列表框第一项开始查找,如果找到则返回表项序号,否则返回LB_ERR。如:表项字符串为"abc123"和指定字串"ABC"就算匹配。 
    LB_FINDSTRINGEXACT  开始表项序号   字符串地址         查找字符串,忽略大小写,与LB_FINDSTRING不同,本操作必须整个字符串相同。如果找到则返回表项序号,否则返回LB_ERR。 
    LB_GETANCHORINDEX      0               0              返回鼠标最后选中的项的索引 
    LB_GETCARETINDEX       0               0              返回具有矩形焦点的项的索引 
    LB_GETCOUNT            0               0              返回列表项的总项数,若出错则返回LB_ERR. 
    LB_GETCURSEL           0               0              本操作仅适用于单选择列表框,用来返回当前被选择项的索引,如果没有列表项被选择或有错误发生,则返回LB_ERR. 
    LB_GETHORIZONTALEXTENT 0               0              返回列表框的可滚动的宽度(象素) 
    LB_GETITEMDATA        索引             0              每个列表项都有一个32位的附加数据.该函数返回指定列表项的附加数据。若出错则函数返回LB_ERR. 
    LB_GETITEMHEIGHT      索引             0              返回列表框中某一项的高度(单位:象素) 
    LB_GETITEMRECT        索引            RECT结构地址    获得列表项的客户区的RECT 
    LB_GETLOCALE          0               0               取列表项当前用于排序的语言代码,当用户使用LB_ADDSTRING向组合框中的列表框中添加记录并使用LBS_SORT风格进行重新排序时,必须使用该语言代码。返回值中高16位为国家代码。 
    LB_GETSEL             索引            0               返回指定列表项的状态。如果查询的列表项被选择了,函数返回一个正值,否则返回0,若出错则返回LB_ERR。 
    LB_GETSELCOUNT        0               0               本操作仅用于多重选择列表框,它返回选择项的数目,若出错函数返回LB_ERR. 
    LB_GETSELITEMS        数组的大小      缓冲区          本操作仅用于多重选择列表框,用来获得选中的项的数目及位置。参数lParam指向一个整型数数组缓冲区,用来存放选中的列表项的索引。wParam说明了数组缓冲区的大小。本操作返回放在缓冲区中的选择项的实际数目,若出错函数返回LB_ERR. 
    LB_GETTEXT            索引            缓冲区          用于获取指定列表项的字符串。参数lParam指向一个接收字符串的缓冲区.wParam则指定了接收字符串的列表项索引。返回获得的字符串的长度,若出错,则返回LB_ERR。 
    LB_GETTEXTLEN         索引            0               返回指定列表项的字符串的字节长度。wParam指定了列表项的索引.若出错则返回LB_ERR。 
    LB_GETTOPINDEX        0               0               返回列表框中第一个可见项的索引,若出错则返回LB_ERR. 
    LB_INITSTORAGE        表项数          内存字节数      本操作只适用于Windows95版本,当你将要向列表框中加入很多表项或有很大的表项时,本操作将预先分配一块内存,以免在今后的操作中一次一次地分配内存,从而加快程序运行速度。 
    LB_INSERTSTRING       索引            字符串地址      在列表框中的指定位置插入字符串。wParam指定了列表项的索引,如果为-1,则字符串将被添加到列表的末尾。lParam指向要插入的字符串。本操作返回实际的插入位置,若发生错误,会返回LB_ERR或LB_ERRSPACE。与LB_ADDSTRING不同,本操作不会导致LBS_SORT风格的列表框重新排序。建议不要在具有LBS_SORT风格的列表框中使用本操作,以免破坏列表项的次序。 
    LB_ITEMFROMPOINT      0               位置            获得与指定点最近的项的索引,lParam指定在列表框客户区,低16位为X坐标,高16位为Y坐标。 
    LB_RESETCONTENT       0               0               清除所有列表项。 
    LB_SELECTSTRING       开始表项序号    字符串地址      本操作仅适用于单选择列表框,设定与指定字符串相匹配的列表项为选中项。本操作会滚动列表框以使选择项可见。参数的意义及搜索的方法与LB_FINDSTRING类似。如果找到了匹配的项,返回该项的索引,如果没有匹配的项,返回LB_ERR并且当前的选中项不被改变。 
    LB_SELITEMRANGE       TRUE或FALSE     范围            本操作仅用于多重选择列表框,用来使指定范围内的列表项选中或落选.参数lParam指定了列表项索引的范围,低16位为开始项高16位为结束项。如果参数wParam为TRUE,那么就选择这些列表项,否则就使它们落选。若出错函数返回LB_ERR。 
    LB_SELITEMRANGEEX     起点            终点            本操作仅用于多重选择列表框,若指定终点大于起点则设定该范围为选中,若指定起点大于终点则设定该范围为落选。 
    LB_SETANCHORINDEX     索引            0               设置鼠标最后选中的表项成指定表项 
    LB_SETCARETINDEX      索引            TRUE或FALSE     设置键盘输入焦点到指定表项,若lParam为TRUE则滚动到指定项部份可见,若lParam为FALSE则滚动到指定项全部可见。 
    LB_SETCOLUMNWIDTH     宽度(点)        0               设置列的宽度。 
    LB_SETCOUNT           项数            0               设置表项数目 
    LB_SETCURSEL          索引            0               本操作仅适用于单选择列表框,设置指定的列表项为当前选择项。本操作会滚动列表框以使选择项可见。参数wParam指定了列表项的索引,若为-1,那么将清除列表框中的选择。若出错函数返回LB_ERR。 
    LB_SETHORIZONTALEXTENT 宽度(点)       0               设置列表框的滚动宽度。 
    LB_SETITEMDATA         索引           数据值          更新指定列表项的32位附加数据。 
    LB_SETITEMHEIGHT       索引           高度(点)        指定列表项显示高度,带有LBS_OWNERDRAWVARIABLE(自绘列表项)风格的控件,只设置由wParam指定项的高度,其它风格将更新所有的列表项的高度。 
    LB_SETLOCALE           语言代码       0               取列表项当前用于排序的语言代码,当用户使用LB_ADDSTRING向组合框中的列表框中添加记录并使用LBS_SORT风格进行重新排序时,必须使用该语言代码。返回值中高16位为国家代码。 
    LB_SETSEL              TRUE或FALSE    索引            本操作仅适用于多重选择列表框,它使指定的列表项选中或落选。参数lParam指定了列表项的索引,若为-1,则相当于指定了所有的项。参数wParam为TRUE时选中列表项,否则使之落选。若出错则返回LB_ERR。 
    LB_SETTABSTOPS         站数           索引顺序表      设置列表框的光标(输入焦点)站数及索引顺序表。 
    LB_SETTOPINDEX         索引           0               用来将指定的列表项设置为列表框的第一个可见项,该函数会将列表框滚动到合适的位置。wParam指定了列表项的索引.若操作成功,返回0值,否则返回LB_ERR。 
    
    当用户在列表框上进行各种操作时,其父窗口将收到WM_COMMAND通知消息,同时wParam的低16位带控件的ID。lParam带控件句柄(hWnd),wParam的高16位带有如下表的消息代码。
     消息代码           说明 
    LBN_DBLCLK    用户单击了列表项。 
    LBN_ERRSPACE  列表框无法申请到足够的内存空间。 
    LBN_KILLFOCUS 列表框失去输入焦点。 
    LBN_SELCANCEL 取消选择列表项。 
    LBN_SELCHANGE 列表框的选择项即将被改变。 
    LBN_SETFOCUS  列表框得到键盘输入焦点。 

     

    转载于:https://www.cnblogs.com/IMyLife/p/4826056.html

    展开全文
  • 组合框控件

    千次阅读 2011-06-24 09:24:00
    组合框控件(combobox) 组合框把一个编辑框和一个单选择列表框结合在了一起.用户既可以在编辑框中输入,也可以从列表框中选择一个列表项来完成输入。组合框分为简易式(Simple combo box)、下拉式(Drop-down ...
  • Qt 设计师-Qt Designer基础控件介绍

    千次阅读 多人点赞 2021-03-05 11:28:43
    关于布局有很多博客写的很好就不再赘述了,本人常用Qt Designer Widget控件然后添加垂直和水平布局非常方便快捷易于管理。 Spacers: Horizontal Spacer:水平弹簧 Vertical Spacer:垂直弹簧 Buttons: Push ...
  • (6)组合框与列表框 (7)命令按钮 (8)选项卡与附件控件 (9)图像控件 (10)子窗体/子报表 在Access中控件是放置在窗体对象上的对象,用户可操作控件来执行某种操作。通过控件用户进行数据输入或操作数据的...
  • 窗体主要功能是提供交互式的窗口,通过该...窗体是一个集合对象,可以在窗体中增加或减少控件,选择窗体或控件后,按F4快捷键,可以修改窗体或控件的属性。例如,标题Caption、名称Name、背景色BackColor等。添加窗...
  • 列表框控件

    千次阅读 2005-04-27 16:28:00
    列表框控件(listbox) [下载例程] 列表框主要用于输入,它允许用户从所列出的表项中进行单项或多项选择,被选择...对于列表项的选择, 应用程序用CreateWindowEx创建列表框控件时,可根据控件的用途在下表中选择部份
  • 控件中一些常用的属性和事件

    千次阅读 2019-09-01 11:22:56
    1)Name:表示控件的名称。 2)Enabled:表示控件是否可以对用户交互做出响应。 3)Font:表示控件中显示文字的字体格式,包括字体名称、字号以及是否以斜体、加粗和下划线显式。 4)BackColor:表示控件的背景色。 ...
  • 7.5.4 滑块控件的使用 具体内容请参照本书 7.5.5 进度条控件的创建及使用 进度条Progress Bar的用途是向用户显示程序的...第7章 使用Windows标准控件 在Windows窗口应用程序中特别是对话框中经常见到按钮编辑框列表框
  • 实验二 常用控件的编程一、实验目的和要求(1)掌握窗口下拉列表框、选择钮、组合框、多行编辑框...二、实验准备(1)复习有关下拉列表框控件、选择按钮控件、多行编辑框控件以及组合框控件的内容; (2)启动Powerbuilde...
  • 吐血推荐HZHControls:我见过最美的Winform控件

    万次阅读 多人点赞 2020-02-15 17:01:42
    树和列表控件类似,下面是HZH控件库中的树形控件: 2.1.5 平铺列表 2.1.6 导航 包含水平和垂直导航菜单: 2.1.7 横向列表 HZH控件库 横向列表 2.1.8 自定义表格 普通表格及树表格: ...
  • 列表框主要用于输入,它允许用户从所列出的表项中进行单项或多项选择,被选择的...对于列表项的选择, 应用程序用CreateWindowEx创建列表框控件时,可根据控件的用途在下表中选择部份常数来设定其风格属性(style)。 
  • 平常所用到的列ListView/ListCtrl控件,都是只有行至几百行数据,直至今日,在项目中遇到了上10W量级数据条,终于感觉到普通加载的艰辛,遂到网上乱找一通,发现大同小异,转载了这篇比较详细的,后面代码所用到的m_Items,为...
  • Features各站窗口控件(元素) 虽然PySimpleGUI易于使用,但它具有相当大的深度,可供更高级的程序员探索。该功能集远远超出了初学者的要求,并涵盖了复杂的多窗口GUI所需的必需功能。 对于那些听说过PySimpleGUI仅...
  • 可编辑的列表控件

    千次阅读 2013-10-21 20:04:02
    在界面上成组地显示含有多个数据项的数据集,是列表控件的主要用途。如下图所示,Windows资源管理器中文件列表的显示就是列表控件的一个典型应用。     从数据显示的角度看,列表控件的功能已经比较强大...
  • 目录 ActiveX控件 Excel中常用的ActiveX控件 编辑ActiveX控件 通过代码访问ActiveX控件 工作表中窗体(表单)控件和...使用方法为:在“开发工具”选项卡中“控件”组的“插入”按钮中单击需要插入的控件,然后...
  • Qt编写控件属性设计器10-导出xml

    千次阅读 2019-09-13 10:02:15
    能够导出控件布局和属性设置数据到xml文件或者其他文件,也是一个非常实用的功能,类似于QtDesigner中把页面设计好以后生成的.ui结尾的文件,其实就是xml文件,按照约定的规则存储好控件名称和属性名称及对应的属性...
  • GUI常用控件的使用

    2013-06-26 11:15:14
    GUI常用控件列表框、按钮等)的使用。欢迎下载!
  • 组合框控件(combobox)

    千次阅读 2008-10-20 09:11:00
    组合框把一个编辑框和一个单选择列表框结合在了一起.用户既可以在编辑框中输入,也可以从列表框中选择一个列表项来完成输入。组合框分为简易式(Simple combo box)、下拉式(Drop-down combo box)和下拉列表式(Drop-...
  • Axure 基础控件(1-49)

    千次阅读 2016-11-25 00:37:43
    下拉列表框列表框都可以设置内容-列表项。可以通过【属性】-【列表项】的选项来设置,也可以通过鼠标双击元件进行设置。(图1-21)     本文目录 基础21. 设置元件默认选中/禁用 基础22....
  • C#常用控件属性及方法介绍 1、窗体(Form) 2、Label (标签)控件 ...10、ListBox(列表框控件 11、ComboBox(组合框)控件 12、CheckedListBox(复选列表框控件 13、PictureBox(图片框)控件 14、Tim
  • 控件-Win Forms窗体控件

    千次阅读 2017-05-03 22:06:04
    Visual C#.Net提供了丰富的控件,大大简化了界面设计过程。 在桌面应用程序中,C#.Net提供了两种形式的设计窗体:Windows应用程序下的Windows窗体和asp.net web应用程序下的web窗体。为了使用方便,这里分别将其简称...
  • 12.16 Android常见标签 UI控件

    千次阅读 2021-12-17 18:09:16
    用途分类: 文本控件TextView EditText 按钮控件 Button ImageButton 单选与复选按钮CheckBox RadioButton 状态开关 ToggleButton 图片控件 ImageView 时钟控件AnalogClock DigitalClock 日期与时间选择控件...
  • matlab GUI控件代码框架

    千次阅读 多人点赞 2016-07-12 13:49:29
     通俗的说,就是怎么获取编辑里的字符、滑块现在的位置、pop up里被选中的选项,如何控制static text显示我要求的信息等。 设置:set(handles.控件的tag,'要设置的属性名','要设置的属性值')。  比如:...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 15,669
精华内容 6,267
关键字:

列表框控件用途