请问,怎样动态的把Combobox的显示风格从dropdown 变成droplist?

sstower 2006-08-25 07:03:58
如题,这个问题忙了一个下午都没有解决
...全文
367 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
Y___Y 2006-08-25
  • 打赏
  • 举报
回复
的确是不能改的,我提供一段用几个RadioButton来实现这种效果的方法(三种不同风格进行切换)要三个CComboBox控件,并且叠放在一起
void CDLGDlg::OnBnClickedRadio4()
{
CComboBox * pBo=(CComboBox*)this->GetDlgItem(IDC_COMBO1);
pBo->ShowWindow(SW_SHOW);
pBo=(CComboBox*)this->GetDlgItem(IDC_COMBO2);
pBo->ShowWindow(SW_HIDE);
pBo=(CComboBox*)this->GetDlgItem(IDC_COMBO3);
pBo->ShowWindow(SW_HIDE);

}

void CDLGDlg::OnBnClickedRadio2()
{
CComboBox * pBo=(CComboBox*)this->GetDlgItem(IDC_COMBO2);
pBo->ShowWindow(SW_SHOW);
pBo=(CComboBox*)this->GetDlgItem(IDC_COMBO1);
pBo->ShowWindow(SW_HIDE);
pBo=(CComboBox*)this->GetDlgItem(IDC_COMBO3);
pBo->ShowWindow(SW_HIDE);}

void CDLGDlg::OnBnClickedRadio3()
{
CComboBox * pBo=(CComboBox*)this->GetDlgItem(IDC_COMBO3);
pBo->ShowWindow(SW_SHOW);
pBo=(CComboBox*)this->GetDlgItem(IDC_COMBO1);
pBo->ShowWindow(SW_HIDE);
pBo=(CComboBox*)this->GetDlgItem(IDC_COMBO2);
pBo->ShowWindow(SW_HIDE);
}
DentistryDoctor 2006-08-25
  • 打赏
  • 举报
回复
没有简单的方法,需要写一些代码。
sstower 2006-08-25
  • 打赏
  • 举报
回复
太痛苦了,这个方法我也想过,只是想来好像不太好!
折腾_苏州 2006-08-25
  • 打赏
  • 举报
回复
可能你白忙活了,:-)
CComboBox不支持在创建对象之后修改styles,可以重新创建一个CComboxBox来改变效果,重新创建的CComboxBox能够保存原控件的数据和状态。
参考http://www.codeproject.com/combobox/RecreateComboBox.asp

xdlous 2006-08-25
  • 打赏
  • 举报
回复
右键-》属性 没的改吗?
jerry 2006-08-25
  • 打赏
  • 举报
回复
这个风格好象是不能在运行时修改的. 如果一定要这样做的话,只能将原位置的COMBOBOX删除,然后再按新的风格创建一个. 注意把里面的内容也搬过来.

这个就象EDIT的单行/多行一样不能改的

15,976

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 界面
社区管理员
  • 界面
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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