相关文章推荐
奔跑的小虾米  ·  WPF ...·  2 周前    · 
高大的洋葱  ·  WPF ...·  2 周前    · 
知识渊博的奔马  ·  win系统'tar' ...·  1 周前    · 
想出国的钱包  ·  使用 GitHub Codespaces ...·  5 月前    · 
不敢表白的牛肉面  ·  python(Redis 中 ...·  8 月前    · 
绅士的大白菜  ·  18 个 Java8 ...·  1 年前    · 

那么如何通过鼠标单击空白处来取消选择项呢?BCGControlBar给了我们最好的答案。

实现方法

1、首先需要重写继承自CBCGPListBox类,我们命名为CTextListBox

class CTextListBox : public CBCGPListBox

{...}

2、由于CBCGPListBox中的HitTest(…)函数是个保护成员函数,所以我们要在CTextListBox类中添加一个公有成员函数并对HitTest(…)值进行返回,-1表示没选中。

int CTextListBox::HitItemTest(CPoint point)

return HitTest(point);

3、之后在对CTexListBox控件(对应的变量名命名为m_SubPro)所在的对话框进行SelectChange消息重写,来实现鼠标单击到某项被选中,单击到空白处被取消。

void CRobotSimSetupDlg::OnLbnSelchangeListSubpro()

CPoint point;