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  );


相关文章
|
5月前
|
图形学
小功能⭐️用代码设置Unity属性
小功能⭐️用代码设置Unity属性
|
5月前
|
图形学
小功能⭐️Unity改变代码执行顺序
小功能⭐️Unity改变代码执行顺序
|
6月前
|
JavaScript 小程序 前端开发
【微信小程序-原生开发】实用教程04-启动/欢迎/首屏广告页(含倒计时、添加文字、rpx、定义变量和函数、读取变量、修改变量、wx.reLaunch 页面跳转、生命周期 onReady等)
【微信小程序-原生开发】实用教程04-启动/欢迎/首屏广告页(含倒计时、添加文字、rpx、定义变量和函数、读取变量、修改变量、wx.reLaunch 页面跳转、生命周期 onReady等)
178 0
零基础VB教程063期:如何用代码直接创建控件?从此不必拖控件了
零基础VB教程063期:如何用代码直接创建控件?从此不必拖控件了
333 0
|
存储 文件存储
【课堂笔记】VB 自定义过程sub,消息窗体的输入输出,断点调试方法
【课堂笔记】VB 自定义过程sub,消息窗体的输入输出,断点调试方法
436 0
|
JSON JavaScript 数据可视化
UI库组件属性太多不知道啥意思?没关系来看看可视化设置(二)
UI库提供了很多组件,组件又带有很多属性,有一些常用属性我们可以记住并且手撸,但是有些不常用的属性,或者需要设置多个属性,这样的情况下写起来就麻烦了,有时候还要打开帮助文档看看属性是怎么设定的,需要设置什么样的属性值。那么有没有优雅的方式来设置组件的各种属性呢?我做了一个在线小工具,可以方便的设置属性,并且可以实时看到效果。
UI库组件属性太多不知道啥意思?没关系来看看可视化设置(二)
|
JSON 数据可视化 JavaScript
UI库组件属性太多不知道啥意思?没关系来看看可视化设置(一)
UI库提供了很多组件,组件又带有很多属性,有一些常用属性我们可以记住并且手撸,但是有些不常用的属性,或者需要设置多个属性,这样的情况下写起来就麻烦了,有时候还要打开帮助文档看看属性是怎么设定的,需要设置什么样的属性值。那么有没有优雅的方式来设置组件的各种属性呢?我做了一个在线小工具,可以方便的设置属性,并且可以实时看到效果。
UI库组件属性太多不知道啥意思?没关系来看看可视化设置(一)

热门文章

最新文章

下一篇
开通oss服务