ComboBox控件如何设置使其中一个选项不可选中。

JinxLeader 2016-03-20 03:13:21
如题,在一个ComboBox 控件中,列表框中有“苹果”“桃子”“梨”三个选项。我希望“桃子”选项不能被选中,也就是GetCurSel() 中不返回选项1。
...全文
2771 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
schlafenhamster 2016-04-10
  • 打赏
  • 举报
回复
加一个 变量 protected: int m_LastSel; 、、、 初始化 m_LastSel=-1; 、、、

void CCBlistDlg::OnSelchangeCombo2() 
{
	// TODO: Add your control notification handler code here
	int index=m_Comb2.GetCurSel();
	afxDump << index << "\n";
	if(index==4)
	{
		m_Comb2.SetCurSel(m_LastSel);
	}
	else
	{
		m_LastSel=index;
	}
}
JinxLeader 2016-04-09
  • 打赏
  • 举报
回复
引用 4 楼 schlafenhamster 的回复:
1楼的 不是吗? index==4 是第4项 可见, 但 不能选, 一选 就没有 选择项了 SetCurSel(-1);
我希望能实现选项始终存在,但是不能被选中这样的效果,请问可以实现吗?
schlafenhamster 2016-04-07
  • 打赏
  • 举报
回复
1楼的 不是吗? index==4 是第4项 可见, 但 不能选, 一选 就没有 选择项了 SetCurSel(-1);
赵4老师 2016-04-07
  • 打赏
  • 举报
回复
子类化+自绘?
JinxLeader 2016-04-06
  • 打赏
  • 举报
回复
我想要的效果是类似于某一项可见,但是点击没有反应。就像普通控件disable这类,变灰了。
schlafenhamster 2016-03-20
  • 打赏
  • 举报
回复

//
void CCBlistDlg::OnSelchangeCombo2() 
{
	// TODO: Add your control notification handler code here
	int index=m_Comb2.GetCurSel();
	if(index==4)
	{
		m_Comb2.SetCurSel(-1);	// 第4项不能被 选中 !
	}
}

15,979

社区成员

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

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