请问,怎样动态的把Combobox的显示风格从dropdown 变成droplist? 如题,这个问题忙了一个下午都没有解决 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 这个风格好象是不能在运行时修改的. 如果一定要这样做的话,只能将原位置的COMBOBOX删除,然后再按新的风格创建一个. 注意把里面的内容也搬过来.这个就象EDIT的单行/多行一样不能改的 可能你白忙活了,:-)CComboBox不支持在创建对象之后修改styles,可以重新创建一个CComboxBox来改变效果,重新创建的CComboxBox能够保存原控件的数据和状态。参考http://www.codeproject.com/combobox/RecreateComboBox.asp 的确是不能改的,我提供一段用几个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);} 类型转换出错,什么原因呢? 用Visual C++ .NET的进来下 共享的DLL如何更改为静态的DLL CSocket通讯问题? 静态拆分窗口后,如何处理WM_SIZE事件?以保证各部分的大小比例保持不变? 基础问题,请教! Smart card logon 请问raw图像格式是怎样的? 国际象棋程序 有难度喔 在VC6里面可以添加Splash Screen组件,请问在VS05怎么添加这个东西? 怎样在视图里进行多线程呢?
CComboBox不支持在创建对象之后修改styles,可以重新创建一个CComboxBox来改变效果,重新创建的CComboxBox能够保存原控件的数据和状态。
参考http://www.codeproject.com/combobox/RecreateComboBox.asp
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);
}