MFC怎么用代码改变CComboBox的下拉方式?

简介: MFC怎么用代码改变CComboBox的下拉方式?

文章来源:http://bbs.csdn.net/topics/310154805


问题提出:


我继承了CComboBox类,想在OnCreate里改变ComboBox为DropDown List。

但OnCreate根本不被调用?为啥?我的代码如下:

BEGIN_MESSAGE_MAP(CMyComboBox, CComboBox)

ON_WM_CREATE()

ON_WM_DESTROY()

END_MESSAGE_MAP()


int CMyComboBox::OnCreate(LPCREATESTRUCT lpCreateStruct)

{

if (CComboBox::OnCreate(lpCreateStruct) == -1)

return -1;

this->ModifyStyle(CBS_DROPDOWN,CBS_DROPDOWNLIST);

return 0;

}


我在Dialog的代码中用ModifyStyle也不行,请给完整代码!

m_cmbUser.ModifyStyle(CBS_DROPDOWNLIST);


解决方案:


方法1、


重载PreSubClassWindow()

在这里面写  ModifyStyle(CBS_DROPDOWN,CBS_DROPDOWNLIST);


方法2、


动态修改ComboBox的DROPDOWN,DROPDOWNLIST属性

DWORD  theStyle;

HWND  theChild;

theChild  =  ::GetWindow( GetDlgItem(IDC_COMBO1)->m_hWnd  ,  GW_CHILD  );  

theStyle = GetWindowLong(GetDlgItem(IDC_COMBO1)->m_hWnd, GWL_STYLE  );  

theStyle  &=  ~CBS_DROPDOWN;//去掉DROPDOWN  

theStyle  |=  CBS_DROPDOWNLIST; //添加DROPDOWNLIST

::DestroyWindow(  theChild  );  

SetWindowLong(GetDlgItem(IDC_COMBO1)->m_hWnd, GWL_STYLE  ,  theStyle  );


相关文章
|
Python
PyQt5-基本控件| 主窗口的类型、创建以及代码如何实现?
PyQt5-基本控件| 主窗口的类型、创建以及代码如何实现?
72 1
每次都要写一堆样式代码?试试ViewModifier建立统一的样式规范吧
每次都要写一堆样式代码?试试ViewModifier建立统一的样式规范吧
72 1
|
6月前
|
Windows
MFC学习之路(9)之如何使控件大小随着对话框大小自动调整
MFC学习之路(9)之如何使控件大小随着对话框大小自动调整
113 0
|
iOS开发
iOS开发 - 写一个刷新的控件(未封装,适合新手学习,查看原理)
iOS开发 - 写一个刷新的控件(未封装,适合新手学习,查看原理)
149 0
iOS开发 - 写一个刷新的控件(未封装,适合新手学习,查看原理)
|
人工智能
VB编程:自定义过程改变窗体颜色-53
VB编程:自定义过程改变窗体颜色-53
184 0
|
JSON 数据可视化 JavaScript
UI库组件属性太多不知道啥意思?没关系来看看可视化设置(一)
UI库提供了很多组件,组件又带有很多属性,有一些常用属性我们可以记住并且手撸,但是有些不常用的属性,或者需要设置多个属性,这样的情况下写起来就麻烦了,有时候还要打开帮助文档看看属性是怎么设定的,需要设置什么样的属性值。那么有没有优雅的方式来设置组件的各种属性呢?我做了一个在线小工具,可以方便的设置属性,并且可以实时看到效果。
UI库组件属性太多不知道啥意思?没关系来看看可视化设置(一)
|
JSON JavaScript 数据可视化
UI库组件属性太多不知道啥意思?没关系来看看可视化设置(二)
UI库提供了很多组件,组件又带有很多属性,有一些常用属性我们可以记住并且手撸,但是有些不常用的属性,或者需要设置多个属性,这样的情况下写起来就麻烦了,有时候还要打开帮助文档看看属性是怎么设定的,需要设置什么样的属性值。那么有没有优雅的方式来设置组件的各种属性呢?我做了一个在线小工具,可以方便的设置属性,并且可以实时看到效果。
UI库组件属性太多不知道啥意思?没关系来看看可视化设置(二)
|
人工智能
VB编程:自定义过程改变窗体颜色
VB编程:自定义过程改变窗体颜色
324 0
VB编程:自定义过程改变窗体颜色
|
SQL JavaScript 前端开发
【自然框架】之鼠标点功能现(二):表单控件的“应用”—— 代码?只写需要的!
  【自然框架】之鼠标点功能现(一):单表的增删改查(即上次5月23日活动的一个主题)【Demo、源码下载】           看了大家的回复,好像不少人误会了,我为了突出“鼠标点,功能现”,所以没有说代码,没有贴代码,这就让一些人认为我想要完全抛弃VS,自己写一个“平台”来代替,不好意思,您高估我了,我可达不到。
865 0