程序中,如何设置和改变combobox的style
属性设置中可以完成,但是我想在程序中自己控制style type是dropdown还是dropdownlist使用CComboBox的SetExtendedUI不行,不能实现
使用CComboBoxEx的SetExtendedStyle也不成功如何做?解决立刻给分

解决方案 »

  1.   

    好象是有SDK或者API函数可以做,不过我没找到
    在属性设置中出现的,都可以通过程序中来控制期待高手
      

  2.   

    dropdownlist是两个窗口
    droplist是一个窗口消息处理都不一样
    你如何对他们进行转换?只有一个类型一个,隐藏一个
    或者destroywindow
      

  3.   

    dropdownlist是一个窗口
    dropdown是两个窗口
      

  4.   

    你说的有道理,不过并不是转换,类似重画VB中可以轻松实现 .style=....
    VC中,也一定可以,继续期待……
      

  5.   

    自己做一个类,用EDIT控件和COMBOBOX控件来自己实现下拉功能,首先要设置COMBOBOX为DROPDOWNLIST,如果设置可编辑,则用EDIT控件来覆盖原控件中的编辑框就可
      

  6.   

    我试过modifystyle
    这些风格不行!其它风格可以
      

  7.   

    我刚刚也碰到了这个问题,找了很多地方,最后确定,MFC里创建后style是无法改变的。
    现在我是这么解决的:
    1.创建时用DropDown风格,
    2.当想变换成DropDownList时,取ComboBox的子控件CEdit控件,将其设为只读属性
    3.在CEdit的编辑区域里添加对于鼠标点击的DropDown的响应,并将鼠标的光标style设为normal型的这样就达到了风格改变的效果,不过有两个缺陷:
    1)编辑区域的数据在取得焦点时,蓝色的HighLight并不能充满整个编辑框,只能覆盖文字部分;
    2)蓝色的HighLight周边没有DropDownList风格的蚁线边框。
    但对于应用来说,是小问题,无伤大雅,哪位有心解决当然更好:)
      

  8.   

    漏了一点:取ComboBox的子控件CEdit控件后,还要在OnCtlColor()事件里将其背景色固定为白色,否则将呈现ReadOnly的灰背景。
      

  9.   

    ComboBox 实 际 上 是 将 文 本 框 控 件TextBox 和 列 表 框 控 件ListBox 的 功 能 结 合 在 了 一 起,要 达 到 你 的 要 求,你 要 有 兴 趣 的 话,可 以 自 己 做 一 个