没有办法通过代码更改CComboBox的Style为CBS_DROPDOWNLIST吗?

abcdwell 2010-12-07 03:10:38


// 要把CComboBox,即IDC_CBName的Style改为CBS_DROPDOWNLIST,
// 好像只有GetStyle(),没有SetStyle()
// 难道只能在创建CComboBox时设置Style吗?

CComboBox m_cbName;

...全文
510 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
a358250667 2012-03-28
  • 打赏
  • 举报
回复
CRect rRect;
// UINT unID=IDC_WAVE_LIST;
DWORD dwStyleEx = 0;
CFont * pfont=NULL;
pfont=m_combo.GetFont();
dwStyleEx = m_combo.GetExStyle();
//去除原来之CBS_SORT风格 ,加上了一堆风格
dwStyleEx = dwStyleEx & ~CBS_SORT | WS_CHILD|WS_VISIBLE|CBS_DROPDOWNLIST|WS_VSCROLL;
m_combo.GetWindowRect(&rRect);
ScreenToClient(&rRect);
// unID=m_rGHS.GetDlgCtrlID();
m_combo.DestroyWindow();
rRect.bottom+=150;
m_combo.Create(dwStyleEx, rRect, this, IDC_WAVE_LIST);
m_combo.ShowWindow(SW_SHOW);
m_combo.SetFont(pfont, TRUE);

原文:
http://blog.csdn.net/xiaolajiao8787/article/details/5810350
PunWinger 2010-12-08
  • 打赏
  • 举报
回复
再不行的话,考虑自己用Create方法来动态创建
abcdwell 2010-12-08
  • 打赏
  • 举报
回复
[Quote=引用 7 楼 purple2727 的回复:]
要先GetStyle一下,然后修改
[/Quote]

[Quote=引用 6 楼 hgy413 的回复:]
GWL_EXSTYLE换成GWL_STYLE
[/Quote]

两位的方法都不行,
梧桐126 2010-12-07
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 abcdwell 的回复:]
C/C++ code

// 这样做对吗?

CComboBox *pCmbText;

pCmbText->ModifyStyle(0,CBS_DROPDOWNLIST);
[/Quote]要先GetStyle一下,然后修改
花熊 2010-12-07
  • 打赏
  • 举报
回复
GWL_EXSTYLE换成GWL_STYLE
花熊 2010-12-07
  • 打赏
  • 举报
回复

LONG lWindowLong=GetWindowLong(m_pCmbText.GetSafeHwnd(),GWL_EXSTYLE)|CBS_DROPDOWNLIST;
SetWindowLong(m_pCmbText.GetSafeHwnd(),GWL_EXSTYLE,lWindowLong);

abcdwell 2010-12-07
  • 打赏
  • 举报
回复

// 这样做对吗?

CComboBox *pCmbText;

pCmbText->ModifyStyle(0,CBS_DROPDOWNLIST);
abcdwell 2010-12-07
  • 打赏
  • 举报
回复
不行,

tigerMayDo 2010-12-07
  • 打赏
  • 举报
回复
CWnd::ModifyStyle
superarhow 2010-12-07
  • 打赏
  • 举报
回复
有CWnd::ModifyStyle和CWnd::ModifyStyleEx
不过有时候需要重新创建窗口

16,473

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC相关问题讨论
社区管理员
  • 基础类社区
  • Web++
  • encoderlee
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

        VC/MFC社区版块或许是CSDN最“古老”的版块了,记忆之中,与CSDN的年龄几乎差不多。随着时间的推移,MFC技术渐渐的偏离了开发主流,若干年之后的今天,当我们面对着微软的这个经典之笔,内心充满着敬意,那些曾经的记忆,可以说代表着二十年前曾经的辉煌……
        向经典致敬,或许是老一代程序员内心里面难以释怀的感受。互联网大行其道的今天,我们期待着MFC技术能够恢复其曾经的辉煌,或许这个期待会永远成为一种“梦想”,或许一切皆有可能……
        我们希望这个版块可以很好的适配Web时代,期待更好的互联网技术能够使得MFC技术框架得以重现活力,……

试试用AI创作助手写篇文章吧