[VC]得到/设置DropDown ComboBox的文字

原创 2004年10月08日 10:54:00

在使用DropDown类型的ComboBox时,如果使用者输入非ComboBox中列出的值,那么ComboBox的GetCurSel()的值是CB_ERR,相关的GetLBText()和GetLBTextLen()因为没有index也就无法工作。

在DDX时,可以把ComboBox和CString对应起来,采用它的原理,就可以自己来得到或设置DropDown ComboBox的文字了。

//得到ComboBox的文字
void GetComboBoxString(HWND hWndCtrl, CString& value)
{
    // just get current edit item text (or drop list static)
    int nLen = ::GetWindowTextLength(hWndCtrl);
    if (nLen > 0)
    {
        // get known length
        ::GetWindowText(hWndCtrl, value.GetBufferSetLength(nLen), nLen+1);
    }
    else
    {
        // for drop lists GetWindowTextLength does not work - assume
        //  max of 255 characters
        ::GetWindowText(hWndCtrl, value.GetBuffer(255), 255+1);
    }
    value.ReleaseBuffer();
}

//设置ComboBox的文字
void SetComboBoxString(HWND hWndCtrl, const CString& value)
{
    // set current selection based on model string
    OutputDebugString("SetComboBoxString:" + value);
    if (::SendMessage(hWndCtrl, CB_SELECTSTRING, (WPARAM)-1,
        (LPARAM)(LPCTSTR)value) == CB_ERR)
    {
        // just set the edit text (will be ignored if DROPDOWNLIST)
        AfxSetWindowText(hWndCtrl, value);
    }
}

comboBox 的DropDownStyle 要设置为“dropdownList”

comboBox 的DropDownStyle 要设置为“dropdownList”,它的selectedValue才能被指定
  • bbaibb1009
  • bbaibb1009
  • 2011年03月23日 14:41
  • 1784

C#中的ComboBox控件

ComboBox简写为:cmb主要属性:DropDownStyle如果想让用户只能点选,不能用键盘输入,则设为DropDownListComboBox.SelectionChangeCommitted...
  • ltolll
  • ltolll
  • 2006年10月09日 15:01
  • 2351

unity DropDown控件的使用

UGUI中有了下拉列表,这让我们很方便的制作许多功能,但是这个控件的一些用法我们还是有必有知道的:public Dropdown d1;//获取一个下拉列表//单个添加下拉列表的选项 Dropdown...
  • yiwei151
  • yiwei151
  • 2017年10月01日 11:05
  • 329

VC列表list上增加edit控件和combo控件实现

自定义类CEditItem 头文件 #define EDIT_TYPE_DOUBLE 1 #define EDIT_TYPE_STRING 2 #define EDIT_TYPE_NBR16 ...
  • bingdianlanxin
  • bingdianlanxin
  • 2015年04月18日 22:12
  • 1094

JS中出现“$(...).dropdown is not a function”错误的解决

使用bootstrap展示一个导航,众所周知使用bootstrap一般是需要加入jquery的,在我的js中出现了一个错误:$(...).dropdown is not a function如图所示:...
  • dongdong9223
  • dongdong9223
  • 2016年01月29日 16:52
  • 1985

设置ComboBox行间距

虽然有许多第三方控件可以实现ComboBox行间距的设置,但有时候引用太多的第三方控件也是一件麻烦事。其实VisualStudio内置的ComboBox控件稍加控制也能实现“行间距设置”的效果。 ...
  • chanyinhelv
  • chanyinhelv
  • 2013年08月01日 11:40
  • 4125

WinForm下ComboBox设定SelectedValue总结

最近在项目中处理一个winForm中设定ComboBox值,奇怪的是用一个对象匹配ComboBox的Datasource集合的一个对象时,设置SelectedValue时,竟然得到SelectedVa...
  • downmoon
  • downmoon
  • 2011年01月22日 22:31
  • 9371

Unity3D UGUI中的dropdown控件使用总结

最近在做公司的项目时使用到了UGUI中的dropdown控件期间遇到了很多问题,在这里总结下。   首先dropdown是可以自动上下弹出的根据你放置的位置自动选择向上,还是向下弹出列表。 可以通...
  • liu442620190
  • liu442620190
  • 2016年09月29日 15:21
  • 8148

Bootstrap插件dropdown源码的学习

使用方法 有含有"dropdown"类的容器里面包含下拉触发器(按钮,或链接等),和下拉框的内容 下拉触发器必须包含"data-toggle=dropdown"的属性。可以用data-target...
  • learninginJAVA
  • learninginJAVA
  • 2015年10月18日 22:35
  • 2053

DropDownListView使用

本文主要介绍可同时实现下拉刷新及滑动到底部加载更多的ListView的使用。 该ListView优点包括:a. 可自定义下拉响应事件(如下拉刷新)  b.可自定义滚动到底部响应的事件(如滑动到底...
  • qeqeqe236
  • qeqeqe236
  • 2014年04月17日 17:59
  • 1959
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:[VC]得到/设置DropDown ComboBox的文字
举报原因:
原因补充:

(最多只允许输入30个字)