界面里有两个listctrl,怎样做到同时被选中 如题,我的一个界面里有几个listctrl,选中一个其他选中的就消失了,原来我以为vc不能这样的。但我看qq农场那个软件之后,又发现应该可以做到。虽然我不是百分百确认qq农场也是用vc做的。大家有办法吗?图片请看相册:http://photo.blog.sina.com.cn/photo/3fb75338g824acc200f0d 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 给listctrl设置 LVS_SHOWSELALWAYS 属性 to#3:我已经加了这句m_LExam.SetExtendedStyle(LVS_EX_FULLROWSELECT|LVS_EX_GRIDLINES|LVS_EX_HEADERDRAGDROP|);但无用 在资源中 设置 LVS_SHOWSELALWAYS 属性 不好意思,我是说我已经加了这个了SetExtendedStyle(LVS_EX_FULLROWSELECT|LVS_EX_GRIDLINES|LVS_EX_HEADERDRAGDROP|LVS_SHOWSELALWAYS); LVS_SHOWSELALWAYS这个属性不是用SetExtendedStyle函数加的是在资源编辑器中设置的SetExtendedStyle设置的是扩展属性LVS_SHOWSELALWAYS是一般属性你注意一下ID号的规律就好了 应该是这个,在某个listctrl失去焦点后,用这个设置item为选中状态。pmyListCtrl->SetItemState(n, LVIS_SELECTED, LVIS_SELECTED);可能要个成员变量保存每个listctrl的选中项index。 1.我的dialog里面有3个listctrl,第二个表与第一个表关联,选中第二个表时,在click函数里加入void CDlgExamList::OnClickListTopic(NMHDR* pNMHDR, LRESULT* pResult) { // TODO: Add your control notification handler code here int index = m_LTopic.GetNextItem(-1, LVNI_SELECTED);//第二个表选中项 int index1 = m_LExam.GetNextItem(-1, LVNI_SELECTED);//第一个表选中项 m_LExam.SetItemState(index1, LVNI_SELECTED, LVNI_SELECTED); CString strttno, str;。。}但无用。2.在资源管理器那里选择了show selection always,可以看到失去焦点那个列表的选中项了,不过本人嫌稍稍暗了点,能否改颜色呢?谢谢大家了! 自己重载NM_CUSTOMDRAW消息, 自绘选中时状态 . 可以参考其他的自绘例子, 比如: XListCtrl什么的 . 关于校验和的问题求助 继承CComboBox的类响应CBN_KILLFOCUS消息的问题 C++中怎么没有一个DWORD与PTR的MAP啊?只有CMapPtrToWord vc6.0在安装时出错 vector与类的问题 求ATL/COM一演示程序 如何判断一个CString TempDate 是不是一个合法的 日期? 非模式属性页怎么实现? 大家来帮帮忙!!关于内存不足的问题。。。。 讨论:我朋友想在csdn成为专家,有什么好建议?呵呵,应该很容易的吧? CListCtrl控件问题。急 有没有自己实现的listctrl类啊?
m_LExam.SetExtendedStyle(LVS_EX_FULLROWSELECT|LVS_EX_GRIDLINES|LVS_EX_HEADERDRAGDROP|);
但无用
不好意思,我是说我已经加了这个了
SetExtendedStyle(LVS_EX_FULLROWSELECT|LVS_EX_GRIDLINES|LVS_EX_HEADERDRAGDROP|LVS_SHOWSELALWAYS);
这个属性不是用SetExtendedStyle函数加的
是在资源编辑器中设置的
SetExtendedStyle设置的是扩展属性
LVS_SHOWSELALWAYS是一般属性
你注意一下ID号的规律就好了
pmyListCtrl->SetItemState(n, LVIS_SELECTED, LVIS_SELECTED);
可能要个成员变量保存每个listctrl的选中项index。
void CDlgExamList::OnClickListTopic(NMHDR* pNMHDR, LRESULT* pResult)
{
// TODO: Add your control notification handler code here
int index = m_LTopic.GetNextItem(-1, LVNI_SELECTED);//第二个表选中项
int index1 = m_LExam.GetNextItem(-1, LVNI_SELECTED);//第一个表选中项
m_LExam.SetItemState(index1, LVNI_SELECTED, LVNI_SELECTED);
CString strttno, str;
。。
}
但无用。
2.在资源管理器那里选择了show selection always,可以看到失去焦点那个列表的选中项了,不过本人嫌稍稍暗了点,能否改颜色呢?谢谢大家了!
自己重载NM_CUSTOMDRAW消息, 自绘选中时状态 . 可以参考其他的自绘例子, 比如: XListCtrl什么的 .