• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号
您的位置:首页 > 程序设计 >vc/mfc > 奇怪~~关于combobox的问题,帮忙看看

奇怪~~关于combobox的问题,帮忙看看

作者:佚名 字体:[增加 减小] 来源:互联网 时间:2017-06-04

佚名通过本文主要向大家介绍了combobox,combobox用法,easyui combobox,combobox控件,c#combobox用法等相关知识,希望对您有所帮助,也希望大家支持linkedu.com www.linkedu.com
问题: 奇怪~~关于combobox的问题,帮忙看看
描述:

我用atl 做一个控件 (not support to mfc),我加了一个属性页,
在属性页上我用combobox 做一个颜色选择框.
我遇到的问题是
做成类后,combobox只在其下拉列表中画出颜色,而在combobox显示框(edit)中没有任何效果.........why??????
combobox 的属性设置为 CBS_DROPDOWNLIST|CBS_HASSTRINGS|CBS_OWNERDRAWFIXED
如果我在属性页类中直接使用
BEGIN_MSG_MAP(CXXXProp)
         ....  
MESSAGE_HANDLER(WM_DRAWITEM, OnDrawItem)
         ....
这样没有问题,效果也出来了. 在combobox下拉列表中选择任何颜色,它将出现在combobox显示框(Edit)上
因为不止一个这样的combobox,我要把combobox做成一个类,
我测试3种方式,都有一样的问题:
//-----------超类化---------
 class CMyComboBox : public CWindowImpl<CMyComboBox> 
{
public:
 CMyComboBox ();
 virtual ~CMyComboBox (); 
 DECLARE_WND_SUPERCLASS(_T("MyComboBox "), _T("COMBOBOX"))
...
BEGIN_MSG_MAP(CMyComboBox )
MESSAGE_HANDLER(WM_DRAWITEM, OnDrawItem)
...
CMyComboBox  m_MyComboBox;
m_MyComboBox.Create(*this, rccombox,L"MyComboBox",WS_VISIBLE | CBS_DROPDOWNLIST|WS_CHILD|CBS_OWNERDRAWFIXED  , 0, 0);
combobox显示不出选中的颜色
//--------------子类化--------------------
同样,稍微改动类代码,子类化后
m_MyComboBox.SubclassWindow(GetDlgItem(IDC_test12) );
结果仍然相同
//----------------------------------
现在我有调头作了一个测试
我在属性页类中定义 CContainedWindow m_MyComboBox;
CXXXProp::CXXXProp() : m_MyComboBox(_T("COMBOBOX"), this, 1)
...
ALT_MSG_MAP(1)   
MESSAGE_HANDLER(WM_DRAWITEM, OnDrawItem)
...
发现也出现同样问题。
ps:做成类后WM_CTLCOLOREDIT不被触发,只有WM_CTLCOLORLISTBOX消息
我搞了一个晚上,没有搞懂,希望各位兄弟给点意见。


解决方案1:

那拦截一下WM_CTLCOLORSTATIC试试呢, 能得到吗?

解决方案2:

帮你顶

解决方案3:

如果只是dropdown list不会有WM_CTLCOLOREDIT消息.


分享到:QQ空间新浪微博腾讯微博微信百度贴吧QQ好友复制网址打印

您可能想查找下面的文章:

  • 请问我在combobox里面处理退格健,该怎么判断光标处什么哪个字符之间,怎么删去前一个字符呢?
  • WTL,CCodePageCombo继承CComboBoxT<ATL::CWindow>类,需要响应下拉菜单CloseUp的消息
  • combobox输入中文显示乱码问题
  • 各位求助!在IEtoolbar中添加了ComboBox,只能输入英文,不能backspace,字符只能前插?
  • 想用Word2007的RibbonComboBox/RibbonDropDown等类,不知道要#import那个类型库或者DLL
  • 怎样在active控件属性中关联CCombobox控件
  • 在ActiveX里怎么获取combobox下拉改变值?
  • CComboBox插入数据AddString的问题
  • MFC判断控件Z轴序列
  • Combobox的Activex实现

相关文章

  • 2017-06-05 如果我在D盘dll文件夹下建立了一个工程编译后生成dll,请问如何使用此dll?
  • 2017-06-05 关于把mfc应用程序转成一个控件的问题
  • 2017-06-04 关于ActiveX的问题?
  • 2017-06-05 如何得到exe文件名,好难啊!
  • 2017-06-05 游戏开发群:19321386
  • 2017-06-04 求助:自己制作播放器问题ActiveX
  • 2017-06-05 动态链接库的加载!!请高手指教!!
  • 2017-06-05 关于用dll子类化其他进程中窗口问题,高手指教!
  • 2017-06-04 如何将现有的项目,加些接口,变成进程外组件?
  • 2017-06-05 VS2008添加自编控件后长时间无法退出调试状态

文章分类

  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号

最近更新的内容

    • MFC中如何分模块模块组成一个工程
    • 关于接口地址的问题
    • 一个关于ActiveX控件之间通信的问题
    • 问一个搞笑的问题!
    • 抱歉,重新开贴:利用WUAAPI解析WSUSSCN2cab获取未安装更新数据,函数需要5小时才返回结果??
    • 怎样在主线程中中止另外一个辅助线程,辅线程内最好不要时时检查某种状态之类的代码
    • 编译没问题,但不能运行,提示下面界面,不知道该怎么解决
    • 新手向各位请教用ATL写的控件如何添加一系列MFC下面才有的功能?
    • 关于MFC中内存泄漏问题,不正常静态变量内存泄漏!
    • NetUserAdd怎样在远程机器上创建用户?

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有