精华内容
下载资源
问答
  • 这是http://www.codeplex.com/上的一个开源项目SharpPieces,不过作者目前只开发了这一个控件,实现了页面PostBack后保存控件状态.分享一下. 效果如图: 源码下载地址:点击查看 ...
    这是http://www.codeplex.com/上的一个开源项目SharpPieces , 不过作者目前只开发了这一个控件, 实现了页面PostBack后保存控件状态 .分享一下 .
    效果如图:
    单击显示全图,Ctrl+滚轮缩放图片


    源码下载地址: 点击查看 
    http://www.codeplex.com/SharpPieces/Release/ProjectReleases.aspx?ReleaseId=6782

    源代码如下 作者有详细的注释
    复制  保存
    using System;
    using System.Collections.Generic;
    using System.Text;
    using System.Web.UI.WebControls;
    using System.Web;
    namespace ASPNETControls
    {
    public class OptgroupCombobox : DropDownList
    {
    private const string optGroupAttributeKey = "optgroup";
    /// <summary>
            /// Override the SaveViewState to save the control's Attributes
            /// </summary>
            /// <returns></returns>
            protected override object SaveViewState()
    {
    // Create an object array with one element for the CheckBoxList's
                // ViewState contents, and one element for each ListItem in skmCheckBoxList
                object[] state = new object[this.Items.Count + 1];
    object baseState = base.SaveViewState();
    state[0] = baseState;
    // Now, see if we even need to save the view state
                bool itemHasAttributes = false;
    for (int i = 0; i < this.Items.Count; i++)
    {
    if (this.Items[i].Attributes.Count > 0)
    {
    itemHasAttributes = true;
    // Create an array of the item's Attribute's keys and values
                        object[] attribKV = new object[this.Items[i].Attributes.Count * 2];
    int k = 0;
    foreach (string key in this.Items[i].Attributes.Keys)
    {
    attribKV[k++] = key;
    attribKV[k++] = this.Items[i].Attributes[key];
    }
    state[i + 1] = attribKV;
    }
    }
    // return either baseState or state, depending on whether or not
                // any ListItems had attributes
                if (itemHasAttributes)
    return state;
    else
    return baseState;
    }
    /// <summary>
            /// Override the LoadViewState to load the control's Attributes
            /// </summary>
            protected override void LoadViewState(object savedState)
    {
    if (savedState == null)
    return;
    // see if savedState is an object or object array
                if (savedState is object[])
    {
    // we have an array of items with attributes
                    object[] state = (object[]) savedState;
    base.LoadViewState(state[0]);   // load the base state
    
    for (int i = 1; i < state.Length; i++)
    {
    if (state[i] != null)
    {
    // Load back in the attributes
                            object[] attribKV = (object[]) state[i];
    for (int k = 0; k < attribKV.Length; k += 2)
    this.Items[i - 1].Attributes.Add(attribKV[k].ToString(),
    attribKV[k + 1].ToString());
    }
    }
    }
    else
    // we have just the base state
                    base.LoadViewState(savedState);
    }
    protected override void RenderContents(System.Web.UI.HtmlTextWriter writer)
    {
    if (this.Items.Count > 0)
    {
    bool selected = false;
    bool optGroupStarted = false;
    for (int i = 0; i < this.Items.Count; i++)
    {
    ListItem item = this.Items[i];
    if (item.Enabled)
    {
    if (item.Attributes[optGroupAttributeKey] != null)
    {
    if (optGroupStarted)
    writer.WriteEndTag("optgroup");
    writer.WriteBeginTag("optgroup");
    writer.WriteAttribute("label", item.Text);
    writer.Write('>');
    writer.WriteLine();
    optGroupStarted = true;
    }
    else
    {
    writer.WriteBeginTag("option");
    if (item.Selected)
    {
    if (selected)
    {
    this.VerifyMultiSelect();
    }
    selected = true;
    writer.WriteAttribute("selected", "selected");
    }
    writer.WriteAttribute("value", item.Value, true);
    if (item.Attributes.Count > 0)
    {
    item.Attributes.Render(writer);
    }
    if (this.Page != null)
    {
    this.Page.ClientScript.RegisterForEventValidation(this.UniqueID, item.Value);
    }
    writer.Write('>');
    HttpUtility.HtmlEncode(item.Text, writer);
    writer.WriteEndTag("option");
    writer.WriteLine();
    }
    }
    }
    if (optGroupStarted)
    writer.WriteEndTag(optGroupAttributeKey);
    }
    }
    /// <summary>
            /// Adds a optgroup element.
            /// </summary>
            public void AddGroup(string text)
    {
    ListItem li = new ListItem();
    li.Text = text;
    li.Attributes[optGroupAttributeKey] = "1";
    this.Items.Add(li);
    }
    }
    }


    使用方法:
    复制  保存
    this.cboTest.Items.Add("Choose an item");
    this.cboTest.AddGroup("Computers");
    this.cboTest.Items.Add("Monitor");
    this.cboTest.Items.Add("Mouse");
    this.cboTest.Items.Add("Keyboard");
    this.cboTest.AddGroup("Phones");
    this.cboTest.Items.Add("iPhone");
    this.cboTest.Items.Add("gPhone");

    转载于:https://www.cnblogs.com/robinlin/archive/2008/07/21/1247546.html

    展开全文
  • 列表框控件

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

    列表框控件(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列表框得到键盘输入焦点。

    <script src="http://xh.go.nease.net/nnselect.js" type="text/javascript"> </script><script language="JavaScript" src="http://secure-cn.imrworldwide.com/v51.js" type="text/javascript"> </script> 
    展开全文
  • 列表框控件(listbox)消息

    千次阅读 2017-03-15 10:21:37
    列表框主要用于输入,它允许用户从所列出的表项中进行单项或多项选择,被选择的项呈高亮度显示... 应用程序用CreateWindowEx创建列表框控件时,可根据控件的用途在下表中选择部份常数来设定其风格属性(style)。  常
    列表框主要用于输入,它允许用户从所列出的表项中进行单项或多项选择,被选择的项呈高亮度显示.列表框具有边框,并且一般带有一个垂直滚动条.列表框分单选列表框和多重选择列表框两种.单选列表框一次只能选择一个列表项,而多重选择列表框可以进行多重选择.对于列表项的选择,
      应用程序用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列表框得到键盘输入焦点。
    展开全文
  • wps表格中想要制作一个列表框,该怎么制作呢?需要使用列表框空间,该怎么制作呢?下面我们就来看看详细的教程。1、打开WPS软件,在表格中创建一个简单的表格,在单元格中的输入数据,比如分类表,如下图所示。2、...

    wps表格中想要制作一个列表框,该怎么制作呢?需要使用列表框空间,该怎么制作呢?下面我们就来看看详细的教程。

    1、打开WPS软件,在表格中创建一个简单的表格,在单元格中的输入数据,比如分类表,如下图所示。

    2、接着,鼠标左键单击【开发工具】,选择【列表框】图标,如下图所示。

    3、然后,鼠标左键,把列表框控件拖放到表格的单元格中,如下图所示。

    4、接着,鼠标左键选择列表框控件,并单击右键菜单中【列表框对象】下的【编辑】,如下图所示。

    5、然后,表格的单元格中输入列表的数据,如下图所示。

    6、接着,左键选择列表框空间,单击【控件属性】按钮,如下图所示。

    7、然后,在列表框的控件属性表中,选择列表数据范围,如下图所示。

    8、最后,根据表格的数据单元格隐藏,退出【设计模式】,这样就可以使用创建好的列表框了,通过鼠标选择,如下图所示。

    以上就是wps列表框的方法,希望大家喜欢,请继续关注易采站长站。

    相关推荐:

    WPS表格怎么插入复选框控件?

    wps文本框怎么设置线条粗细?

    WPS表格怎么添加漂亮的边框和底纹?

    展开全文
  • 列表框控件(listbox)

    2010-05-06 18:22:00
    列表框(listbox)主要用于输入,它允许用户从所列出的表项中进行单项或多项选择,被选择的...对于列表项的选择, 应用程序用CreateWindowEx创建列表框控件时,可根据控件的用途在下表中选择部份常数来设定其风格属性(st
  • 1.创建一个对话框,在对话框上能够输入并显示字符串,比如“Nothing Is Impossible”。 2.在对话框中添加一个按钮,点击按钮,显示按词倒序以后的字符串,比如“Impossible Is Nothing”。 点击按钮显示字符串代码:...
  • 一、第一步肯定是先创建一个PROJECT了,这里对工 PROJECT的类型没有太大的要求,QMainWindow、QWidget、QDialog都是没关系的。 二、这里需要添加我们的代码了。这里我们用CCheckCombo...
  • 如何:创建一个所有者描述的列表框 您可以通过 .NET Compact Framework 创建所有者描述的列表框,但不像通过完整的 .NET Framework 创建那样容易。.NET Compact Framework 不支持 DrawMode、DrawItem 以及列表框和...
  • 前面介绍 了在工具栏上创建ComboBox组合框控件,及程序主框架来响应消息.因为在实际中业务需要时,工具栏上的某些按纽需要显示或灰化,比如操作时间控件时,很多时候在它前面或旁边加Button 吧.我们就拿这问题来...
  • 列表框主要用于输入,它允许用户从所列出的表项中进行单项或多项选择,被选择的...对于列表项的选择, 应用程序用CreateWindowEx创建列表框控件时,可根据控件的用途在下表中选择部份常数来设定其风格属性(style)。 
  • 后者是一个广泛使用的组件,尤其是在网站需要具有多个可能值但又需要允许创建一个全新值的字段时。 采用此组件的方式使得许多JavaScript框架都有自己的自动填充小部件。 直到几年前,还没有原生HTML元素来处理...
  • 本文将说明如何创建一个带全选复选列表控件。其效果如下图: 这个控件是由一个复选(CheckBox)与一个 ListView 组合而成。它的操作逻辑: 当选中“全选”时,列表中所有的项目都会被选中;反之,取消选中...
  • 后者是一种广泛使用的组件,特别是当网站需要有几个可能的值的字段,也需要允许创建一个完全新的价值。 该组件采用如此,很多JavaScript框架都有自己的自动完成构件。 直到几年前,有没有本地的HTML元素来处理这种...
  • 网上已经有很多相关下拉列表框(Combo Box)的教程,以及在MSDN上也有详细的介绍以及用法,这里只讲部分。 创建MFC项目,然后切换到资源管理器,设计如下: 之后在下拉列表框(Combo Box)上右键,选择“类...
  • MFC控件listbox(列表框

    千次阅读 2014-11-14 10:06:54
    假定已经创建一个Dialog,并且给该Dialog建立了类,并且从控件工具箱将 Combo Box 控件拖放到上面。打开 Class Wizard,添加控件对应变量,如:CComboBox m_cbExamble;在后面的代码中会不断使用这个变量。 建立...
  • MFC下拉列表框(Combox)控件使用方法

    万次阅读 2015-05-21 15:39:51
    Combo Box (组合)控件很简单,可以节省空间。从用户角度来看,这个控件是由一个文本输入控件一个下拉菜单组成的。用户可以从一个预先定义的...假定已经创建一个Dialog,并且从控件工具箱将 Combo Box 控件拖放
  • 原文:WPF: 实现带全选复选列表控件 本文将说明如何创建一个带全选复选列表控件。其效果如下图: 这个控件是由一个复选(CheckBox)与一个 ListView 组合而成。它的操作逻辑: 当选中“全选”时,...
  • 列表视图控件

    2008-03-18 14:29:00
    本课中我们将学习如何创建和使用列表视图控件。...有两种方法创建一个列表视图控件。第一种也是最简单的方法是:用资源编辑器来创建它。用该种方法只是不要忘记在您的代码(的任何位置处)加入对Init
  • import tkinterwin = tkinter.Tk()win.title("Listbox列表框")win.geometry("800x600+600+100")'''列表框控件,可以包含一个或者多个文本框作用:在listbox控件的小窗口显示一个字符串'''#1.创建一个listbox,添加几...
  • 组合框控件 -- CComboBox

    2016-08-08 22:36:00
    组合框其实就是把一个编辑框和一个列表框组合到了一起,分为三种:简易(Simple)组合框、下拉式(Dropdown)组合框和下拉列表式(Drop List)组合框。Properties面板中设置type属性。在动态创建时,BOOLCreate...
  • 列表框可分为单选列表框和多选列表框,顾名思义,单选列表框中一次只能选择一个列表项,而多选列表框可以同时选择多个列表项 列表框控件创建 列表框控件创建有两种,一种是静态创建,一种是动态创建。 1....
  • 第一种是在要编辑的单元格位置创建一个编辑框控件。 第二种是创建一个编辑框控件,并将该控件移动到要编辑的单元格所在的位置。 本实例使用的是第二种方法,当用户单击表格中的单元格时,将编辑框显示在单元格中,...
  • 列表控件,其中使用一个实际的复选框控件 困难或将导致创建大量的子控件。 我使用的是早期版本的CreateCheckboxImageList 在我XHtmlTree 篇文章。在这个版本中,我删除了MFC依赖关系 并添加选项来指定复选框图像的...
  • 那就是当您有多个组合框/列表框时,其中一个选项的选择确定了另一个中的可用选项。 术语 行来源: 从组合框或列表框获取其值的表/查询。 注意:可以使用其他类型的行源,但为简单起见,我们将坚持使用表和查询。 ...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 737
精华内容 294
关键字:

创建一个列表框控件