精华内容
下载资源
问答
  • 组合框

    千次阅读 2012-05-23 15:31:04
    组合框控件显示一个字符串在下拉菜单式的列表。提供一种方法来显示多个选项,同时节省空间,组合框结合了列表框和编辑框的功能。组合框控件的功能被封装在Microsoft基础类库CComboBox类。本教程演示了这个类的一些...

    组合框控件显示一个字符串在下拉菜单式的列表。提供一种方法来显示多个选项,同时节省空间,组合框结合了列表框和编辑框的功能。组合框控件的功能被封装在Microsoft基础类库CComboBox类。本教程演示了这个类的一些常用功能。

     如何获取列表中的选项:(Ctrl+Enter换行添加多个选项)

    1.添加控件;

    2.为控件添加CComboBox 类型的变量m_Combox;

    3.添加CBN_SELENDOK消息响应函数,在该函数中添加以下代码:

     int nIndex = m_Combox.GetCurSel(); 
     CString strCBText;
     m_Combox.GetLBText( nIndex, strCBText);
     此时列表中被选中的选项被放入strCBText中;

    4.根据需要添加代码; 


    这就是你需要:

    微软的Visual Studio IDE

    书上的MFC,如“编程与MFC窗口”,由Jeff Prosise

    1。启动Microsoft Visual Studio中。产生点击文件>新建>项目(标签),并选择了这个项目基于对话框的应用程序“的MFC AppWizard(EXE)。”类型“MyCombobox”下的“项目名称”按确定,选择“基于对话框”然后点击完成。

    2。创建一个组合框,并修改其属性。单击工作区左侧的资源选项卡。展开对话框文件夹并选择IDD_MYCOMBOBOX_DIALOG。请从右侧工具箱组合框图标,把它的对话。调整下拉组合框的扩展通过点击箭头并拖累矩形。然后右键单击,选择属性,单击样式选项卡,并根据类型,选择简单。关闭属性框的组合框。

    3。将项目添加到组合框。你可以在两种方式。为了在设计时添加它们,右击组合框,选择属性,单击数据选项卡,然后输入项目。要进入下一个项目,按Ctrl + Enter键。要在运行时添加它们,调用CComboBox:AddString(),添加项目到底部,或CComboBox: InsertString()中插入特定位置的项目。该项目的类型lpszString。

    4。更改组合框的宽度。您可以设置显示任何项目充分显示,不管它有多长。使用CComboBox::SetDroppedWidth()成员函数。它的参数以像素为单位设置字符串宽度。

    5。执行其他常用功能。选择一个项目在运行时使用CComboBox::SetCurSel()。它接受一个整数作为参数的索引。找到与CComboBox选定项的索引::GetCurSel()。数据检索使用CComboBox::GetItemData()。确定项目计数通过CComboBox::GetCount()。

    6。消除从MFC组合框项目。如果字符串是已知的,你可以使用CComboBox::FINDSTRING()来确定索引,然后使用CComboBox::DeleteString()。 CComboBox::清除()删除当前的选择,如果有的话,而CComboBox::剪切()删除当前选择并将其放在剪贴板上。

    7。了解消息映射通知消息,一个组合框可以发送。当组合框的列表框是封闭的,例如,ON_CBN_CLOSEUP发送。当组合框失去,因为它的边界之外点击鼠标的输入焦点时,它发送ON_CBN_KILLFOCUS。有一个为每个可能的状态变化,一个组合框可以进行消息映射。

    8.动态修改下拉菜单的高度

    用到了一个动态创建的组合框,当组合框中的菜单项比较多的时候,默认的组合框下拉菜单高度就显得不够了,为了能改变默认的下拉菜单高度到合适的位置,可以作如下操作:

            CRect rc;
            NewCombo.GetDroppedControlRect(&rc);  //获得屏幕坐标
            NewCombo.GetParent()->ScreenToClient(&rc);  //转换成父窗口客户区的坐标
            rc.bottom += 150;
            NewCombo.MoveWindow(&rc);  //CWnd的成员函数MoveWindow在移动子窗口时将使用父窗口的客户区坐标

          这样就改变了默认的下拉菜单高度,其中NewCombo是一个被动态创建的组合框。


    关于坐标问题:

    m_bnClickhere.AutoLoad(IDC_CLICKHERE, this);

    CRect rect1,rect2;

    CButton *pClickhere=(CButton*)GetDlgItem(IDC_CLICKHERE);

    GetClientRect(&rect1);

    pClickhere->GetWindowRect(&rect2);

    ScreenToClient(&rect2);

    pClickhere->MoveWindow(rect2.left,(rect1.Height()-rect2.Height())/2,

    rect2.Width(),rect2.Height());

    其中第一个参数IDC_CLICKHERE是位图按钮的资源ID,第二个参数为指向该位图按钮的父窗口的CWnd对象的指针,这里即类CBitmapButtonDlg的this指针。类CBitmapButton的成员函数AutoLoad完成以下几步工作:

    (1) 将按钮与CBitmapButton对象相关联;

    (2) 自动加载按钮所使用的位图,条件是这些位图资源满足步骤2中的命名约定;

    (3) 自动改变控件的大小以适合所加载的位图资源。

    接下来的几行代码将位图按钮在对话框中进行垂直居中。首先类CWnd的成员函数GetClientRect返回了对话框的客户区矩形,

    接着,类CWnd的成员函数GetWindowRect返回了控件IDC_CLICKHERE的窗口矩形,

    然后使用类CWnd的成员函数ScreenToClient将rect2由屏幕坐标转换为对话框的客户坐标,

    这是因为类CWnd的成员函数MoveWindow在移动子窗口时将使用父窗口的客户区坐标,而不是使用屏幕坐标。




    展开全文
  • 资源中有 鼠标敏感组合框,字体选择组合框,颜色选择组合框
  • vcl高级组合框

    2020-07-20 23:32:39
    vcl高级组合框
  • 易语言列表框配置组合框源码,列表框配置组合框
  • LabVIEW的组合框

    2021-01-19 23:07:04
    组合框控件用来创建一个字符串列表,在前面板上可以按次序循环浏览该列表。组合框控件类似于文本型或菜单型下拉列表框,不同的是组合框控件是字符串类型的数据,而菜单型下拉列表框是数值类型的数据。  右键单击...
  • 易语言组合框数据存取源码,组合框数据存取,组合框_保存数据,组合框_载入数据,SetFocus
  • 易语言QQ账号组合框源码,QQ账号组合框,开始自绘组合框
  • 易语言学习进阶编辑框列表框模拟组合框源码,学习进阶编辑框列表框模拟组合框
  • 易语言设置组合框高度源码,设置组合框高度,设置组合框项目高度,GetWindowRect,SendMessage
  • 本课视频录制了组合框的项目数值关联列表框,并通过组合框写了一个简易的四则运算计算器。 视频链接: 78 组合框项目数值关联列表项目组合框源码: .版本 2 .局部变量 要找的项目数值 .局部变量 m, 整数型 ...

    本课视频录制了组合框的项目数值关联列表框,并通过组合框写了一个简易的四则运算计算器。

    视频链接:

    78

    组合框项目数值关联列表项目组合框源码:

    .版本 2
     
    .局部变量 要找的项目数值
    .局部变量 m, 整数型
    .局部变量 项目数值
    .局部变量 项目文本, 文本型
     
    要找的项目数值 = 到整数 (编辑框1.内容)
    编辑框2.内容 = “”
    .计次循环首 (组合框1.取项目数 (), m)
        项目数值 = 组合框1.取项目数值 (m - 1)
        .如果真 (项目数值 = 要找的项目数值)
            项目文本 = 组合框1.取项目文本 (m - 1)
            组合框1.选择 (项目文本)
            编辑框2.内容 = 项目文本
        .如果真结束
     
    .计次循环尾 ()

    计算器视频教程

    .版本 2
     
    .局部变量 a
    .局部变量 b
    .局部变量 c, 双精度小数型
    .局部变量 运算, 文本型
     
    运算 = 组合框1.取项目文本 (组合框1.现行选中项)
     
    a = 到数值 (编辑框1.内容)
    b = 到数值 (编辑框2.内容)
     
    .判断开始 (运算 = “+”)
        c = a + b
    .判断 (运算 = “-”)
        c = a - b
    .判断 (运算 = “*”)
        c = a × b
    .判断 (运算 = “/”)
        c = a ÷ b
    .默认
     
    .判断结束
    编辑框3.内容 = 到文本 (c)

    源码:511遇见易语言教程

               511遇见易语言教程视频链接

               易语言教程选择框一键选中与取消

     

    展开全文
  • 易语言自定义组合框高度源码,自定义组合框高度
  • 组合框颜色

    2012-11-12 09:34:59
    组合框颜色。可以在组合框中选择颜色块和文字
  • 动态的填充列表框和组合框
  • 易语言VCL组合框功能扩展源码,VCL组合框功能扩展,VCL高级组合框_取现行选中项,VCL高级组合框_置现行选中项,VCL高级组合框_取项目文本
  • 易语言VCL高级组合框扩展源码,VCL高级组合框扩展,VCL高级组合框_取现行选中项,VCL高级组合框_置现行选中项,VCL高级组合框_取项目文本,FindWindowEx,SendMessageA,SendMessageA_String
  • 易语言组合框消息应用源码,组合框消息应用,取值,SendMessage_Str,SendMessage_Long
  • 增加组合框

    2012-06-25 16:47:02
    利用MFC编程在工具条中增加组合框控件,实现工具条中组合框的添加
  • 易语言QQ组合框源码

    2020-07-21 17:36:14
    易语言QQ组合框源码,QQ组合框,SubClass,拆分整数,子程序_画焦点条,子程序_重绘背景,子程序_画头像,子程序_画文本,启动GDIPlus,关闭GDIPlus,画图片_从文件_GDIPlus,画图片_从字节集_GDIPlus,取图片尺寸,创建画刷_图片...
  • 易语言构造组合框项目列表源码,构造组合框项目列表
  • 易语言模拟组合框右键菜单源码,模拟组合框右键菜单
  • 易语言组合框二级联动源码,组合框二级联动
  • 易语言网页联动组合框源码,网页联动组合框,取网页对象,取网页句柄,ObjectFromLresult,RegisterWindowMessage,SendMessageTimeout,GetWindow,GetClassName
  • 易语言数据库与组合框、超级列表框源码,数据库与组合框、超级列表框,读年级
  • QQ账号组合框.rar

    2020-04-05 11:21:33
    QQ账号组合框.rar
  • 易语言调高组合框高度源码,调高组合框高度,SendMessage
  • 易语言学习进阶编辑框列表框模拟组合框源码.rar 易语言学习进阶编辑框列表框模拟组合框源码.rar 易语言学习进阶编辑框列表框模拟组合框源码.rar 易语言学习进阶编辑框列表框模拟组合框源码.rar 易语言学习进阶...
  • 列表框和组合框

    2012-05-10 09:22:29
    vc 列表框 组合框
  • 易语言列表框配置组合框源码.rar
  • LabVIEW表格插入组合框

    2021-04-17 01:22:47
    LabVIEW表格插入组合框
  • EasyUI 组合框

    千次阅读 2016-07-29 18:12:49
    组合框(combobox)显示一个可编辑的文本框和下拉列表,用户可以从下拉列表中选择一个或多个值。用户可以直接输入文本到列表的顶部,或者从列表中选择一个或多个现成的值。 1、用法 (1)、从带有预定义结构的 ...

      组合框(combobox)显示一个可编辑的文本框和下拉列表,用户可以从下拉列表中选择一个或多个值。用户可以直接输入文本到列表的顶部,或者从列表中选择一个或多个现成的值。

    1、用法

    (1)、从带有预定义结构的 <select> 元素创建组合框(combobox)。

    <select id="cc" class="easyui-combobox" name="dept" style="width:200px;">
        <option value="aa">aitem1</option>
        <option>bitem2</option>
        <option>bitem3</option>
        <option>ditem4</option>
        <option>eitem5</option>
    </select>

    (2)、从 <input> 标记创建组合框(combobox)。

    <input id="cc" class="easyui-combobox" name="dept"
        data-options="valueField:'id',textField:'text',url:'get_data.php'">

    (3)、使用 javascript 创建组合框(combobox)。

    <input id="cc" name="dept" value="aa">
    $('#cc').combobox({
        url:'combobox_data.json',
        valueField:'id',
        textField:'text'
    });

    (4)、创建两个依赖的组合框(combobox)。

    <input id="cc1" class="easyui-combobox" data-options="
        valueField: 'id',
        textField: 'text',
        url: 'get_data1.php',
        onSelect: function(rec){
        var url = 'get_data2.php?id='+rec.id;
        $('#cc2').combobox('reload', url);
        }">
    <input id="cc2" class="easyui-combobox" data-options="valueField:'id',textField:'text'">

    json 数据格式的示例:

    [{
        "id":1,
        "text":"text1"
    },{
        "id":2,
        "text":"text2"
    },{
        "id":3,
        "text":"text3",
        "selected":true
    },{
        "id":4,
        "text":"text4"
    },{
        "id":5,
        "text":"text5"
    }]

    2、属性

    该属性扩展自组合(combo),下面是为组合框(combobox)添加的属性。

    名称

    类型

    描述

    默认值

    valueField

    string

    绑定到该组合框(ComboBox)的 value 上的基础数据的名称。

    value

    textField

    string

    绑定到该组合框(ComboBox)的 text 上的基础数据的名称。

    text

    groupField

    string

    指示要被分组的字段。该属性自版本 1.3.4 起可用。

    null

    groupFormatter

    function(group)

    返回要显示在分组项目上的分组文本。该属性自版本 1.3.4 起可用。

     

    mode

    string

    定义在文本改变时如何加载列表数据。如果组合框(combobox)从服务

    加载就设置为 'remote'。当设置为 'remote' 模式时,用户输入的

    值将会被作为名'q' http 请求参数发送到服务器,以获取新的数据。

    local

    url

    string

    从远程加载列表数据的 URL 。

    null

    method

    string

    用来检索数据的 http 方法。

    post

    data

    array

    被加载的列表数据。

    null

    filter

    function

    定义当 'mode' 设置为 'local' 时如何过滤本地数据。该函数有两个参数:
    q:用户输入的文本。
    row:列表中的行数据。
    返回 true 则允许显示该行。

     

    formatter

    function

    定义如何呈现行。该函数有一个参数:row。

     

    loader

    function(param,success,error)

    定义如何从远程服务器加载数据。返回 false 则取消该动作。

    该函数有下列参数:
    param:要传到远程服务器的参数对象。
    success(data):当获取数据成功时将被调用的回调函数。
    error():当获取数据失败时将被调用的回调函数。

    json loader

    loadFilter

    function(data)

    返回要显示的过滤数据。该属性自版本 1.3.3 起可用。

     

    3、事件

    该事件扩展自组合(combo),下面是为组合框(combobox)添加的事件。

    名称

    参数

    描述

    onBeforeLoad      

    param       

    在请求加载数据之前触发,返回 false 则取消加载动作。         

    onLoadSuccess

    none

    当远程数据加载成功时触发。

    onLoadError

    none

    当远程数据加载失败时触发。

    onSelect

    record

    当用户选择一个列表项时触发。

    onUnselect

    record

    当用户取消选择一个列表项时触发。

     

    4、方法

    该方法扩展自组合(combo),下面是为组合框(combobox)添加或重写的方法。

    名称

    参数

    描述

    options        

    none         

    返回选项(options)对象。

    getData

    none

    返回加载的数据。

    loadData

    data

    加载本地列表数据。

    reload

    url

    请求远程的列表数据。传 'url' 参数来重写原始的 URL 值。      

    setValues

    values

    设置组合框(combobox)值的数组。

    setValue

    value

    设置组合框(combobox)的值。

    clear

    none

    清除组合框(combobox)的值。

    select

    value

    选择指定的选项。

    unselect

    value

    取消选择指定的选项。

     

     

    5、实例

    (1)、基础组合

    <!DOCTYPE html>
    <html>
    <head>
    <meta charset="UTF-8">
    <title>Basic ComboBox - jQuery EasyUI Demo</title>
    <link rel="stylesheet" type="text/css" href="../css/easyui.css">
    <link rel="stylesheet" type="text/css" href="../css/icon.css">
    <link rel="stylesheet" type="text/css" href="../css/demo.css">
    <script type="text/javascript" src="../js/jquery.min.js"></script>
    <script type="text/javascript" src="../js/jquery.easyui.min.js"></script>
    </head>
    <body>
    <h2>Basic ComboBox</h2>
    <p>Type in ComboBox to try auto complete.</p>
    <div style="margin:20px 0"></div>
    <select class="easyui-combobox" name="state" style="width:200px;">
    <option value="AL">Alabama</option>
    <option value="AK">Alaska</option>
    <option value="AZ">Arizona</option>
    <option value="AR">Arkansas</option>
    <option value="CA">California</option>
    <option value="CO">Colorado</option>
    <option value="CT">Connecticut</option>
    <option value="DE">Delaware</option>
    <option value="FL">Florida</option>
    <option value="GA">Georgia</option>
    </select>
    </body>
    </html>


     

    (2)、多行组合框

    <pre name="code" class="html"><!DOCTYPE html>
    <html>
    <head>
    <meta charset="UTF-8">
    <title>Multiline ComboBox - jQuery EasyUI Demo</title>
    <link rel="stylesheet" type="text/css" href="../css/easyui.css">
    <link rel="stylesheet" type="text/css" href="../css/icon.css">
    <link rel="stylesheet" type="text/css" href="../css/demo.css">
    <script type="text/javascript" src="../js/jquery.min.js"></script>
    <script type="text/javascript" src="../js/jquery.easyui.min.js"></script>
    </head>
    <body>
    <h2>Multiline ComboBox</h2>
    <p>This example shows how to create a multiline ComboBox.</p>
    <div style="margin:20px 0"></div>
    <select class="easyui-combobox" name="state" data-options="multiple:true,multiline:true" style="width:200px;height:50px">
    <option value="AL">Alabama</option>
    <option value="AK">Alaska</option>
    <option value="AZ">Arizona</option>
    <option value="AR">Arkansas</option>
    <option value="CA">California</option>
    <option value="CO">Colorado</option>
    <option value="CT">Connecticut</option>
    <option value="DE">Delaware</option>
    <option value="FL">Florida</option>
    <option value="GA">Georgia</option>
    <option value="HI">Hawaii</option>
    <option value="ID">Idaho</option>
    </select>
    </body>
    </html>

     
    

     

    (3)、组合框组

    <!DOCTYPE html>
    <html>
    <head>
    <meta charset="UTF-8">
    <title>Group ComboBox - jQuery EasyUI Demo</title>
    <link rel="stylesheet" type="text/css" href="../css/easyui.css">
    <link rel="stylesheet" type="text/css" href="../css/icon.css">
    <link rel="stylesheet" type="text/css" href="../css/demo.css">
    <script type="text/javascript" src="../js/jquery.min.js"></script>
    <script type="text/javascript" src="../js/jquery.easyui.min.js"></script>
    </head>
    <body>
    <h2>Group ComboBox</h2>
    <p>This example shows how to display combobox items in groups.</p>
    <div style="margin:20px 0">
    <input id="cc" class="easyui-combobox" name="browser" style="width:280px;" data-options="
    url: 'combobox_data2.json',
    method: 'get',
    valueField:'value',
    textField:'text',
    groupField:'group'
    ">
    </body>
    </html>


     

    (4)、多项选择

    <!DOCTYPE html>
    <html>
    <head>
    <meta charset="UTF-8">
    <title>Multiple Select - jQuery EasyUI Demo</title>
    <link rel="stylesheet" type="text/css" href="../css/easyui.css">
    <link rel="stylesheet" type="text/css" href="../css/icon.css">
    <link rel="stylesheet" type="text/css" href="../css/demo.css">
    <script type="text/javascript" src="../js/jquery.min.js"></script>
    <script type="text/javascript" src="../js/jquery.easyui.min.js"></script>
    </head>
    <body>
    <h2>Load Dynamic ComboBox Data</h2>
    <p>Drop down the panel and select multiple items.</p>
    <div style="margin:20px 0"></div>
    <input class="easyui-combobox"
    name="language"
    data-options="
    url:'combobox_data1.json',
    method:'get',
    valueField:'id',
    textField:'text',
    multiple:true,
    panelHeight:'auto'
    ">
     
    </body>
    </html>


     

    (5)、组合框操作

    <!DOCTYPE html>
    <html>
    <head>
    <meta charset="UTF-8">
    <title>ComboBox Actions - jQuery EasyUI Demo</title>
    <link rel="stylesheet" type="text/css" href="../css/easyui.css">
    <link rel="stylesheet" type="text/css" href="../css/icon.css">
    <link rel="stylesheet" type="text/css" href="../css/demo.css">
    <script type="text/javascript" src="../js/jquery.min.js"></script>
    <script type="text/javascript" src="../js/jquery.easyui.min.js"></script>
    </head>
    <body>
    <h2>ComboBox</h2>
    <p>Click the buttons below to perform actions.</p>
    <div style="margin:20px 0;">
    <a href="javascript:void(0)" class="easyui-linkbutton" οnclick="setvalue()">SetValue</a>
    <a href="javascript:void(0)" class="easyui-linkbutton" οnclick="alert($('#state').combobox('getValue'))">GetValue</a>
    <a href="javascript:void(0)" class="easyui-linkbutton" οnclick="$('#state').combobox('disable')">Disable</a>
    <a href="javascript:void(0)" class="easyui-linkbutton" οnclick="$('#state').combobox('enable')">Enable</a>
    </div>
    <script type="text/javascript">
    function setvalue(){
    $.messager.prompt('SetValue','Please input the value(AL,AZ,UT,etc):',function(v){
    if (v){
    $('#state').combobox('setValue',v);
    }
    });
    }
    </script>
    <select id="state" class="easyui-combobox" name="state" style="width:200px;">
    <option value="AL">Alabama</option>
    <option value="AK" selected>Alaska</option>
    <option value="AZ">Arizona</option>
    <option value="AR">Arkansas</option>
    <option value="CA">California</option>
    <option value="CO">Colorado</option>
    <option value="CT">Connecticut</option>
    <option value="DE">Delaware</option>
    <option value="FL">Florida</option>
    <option value="GA">Georgia</option>
    <option value="HI">Hawaii</option>
    <option value="ID">Idaho</option>
    </select>
    </body>
    </html>


     

     

     

    展开全文

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 494,588
精华内容 197,835
关键字:

组合框