mfc当listctrl控件有数据更新时是否就运行NM_CLICK消息相应函数
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了mfc当listctrl控件有数据更新时是否就运行NM_CLICK消息相应函数相关的知识,希望对你有一定的参考价值。
mfc当listctrl控件有数据更新时是不是就运行listctrl控件相应NM_CLICK消息响应函数
一般不,你没点,但不能排除程序没有“点”,有些代码实现是会主动发送的,具体还要看你相关的代码实现追问什么样的代码会主动发送这样的消息
追答这个取决于写代码的人啊,
NM_CLICK本质还是可以通过SendMesage发送的的,写代码的只要愿意,完全可以加进去啊
至于有没有必要,那也是她本人去判断了
我说的这个只是一种可能,具体要查代码的
我在listctrl添加了NM_CLICK消息响应函数,调试时当我插数据到数据库里时更新listctrl控件时每次都跳到NM_CLICK消息响应函数,可我并没有点击listctrl控件。
MFC中的列表控件,当选择了多项时,如何对选中的数据进行操作?
我想判断选中的三个数据的户室号是否相同,用for循环应该如何实现?还有GetFirstSelectedItemPostion()函数如何获取它的Index值?
用GetNextSelectedItem函数可以得到所选项的索引,如果用for循环,可以这样写:假设列表控件对象为m_ListCtrl;
POSITION pos=m_ListCtrl.GetFirstSelectedItemPosition()
for(POSITION posTemp=pos;posTemp!=NULL;)
int ItemIndex=GetNextSelectedItem(posTemp);
如果你选择了4项,则这个循环会进行4次,每一次就可以得到一个选择项的对应的索引,保存到ItemIndex中。 参考技术A 条款九:获取当前所有选中的行(多选)
这个,俺就比较懒了,抄msdn的代码吧,反正很简单
// CListCtrl* pListCtrl = (CListCtrl*) GetDlgItem
(IDC_YOURLISTCONTROL);
ASSERT(pListCtrl != NULL);
POSITION pos =
pList->GetFirstSelectedItemPosition();
if (pos == NULL)
TRACE0("No items were selected!\n");
else
while (pos)
int nItem =
pList->GetNextSelectedItem(pos);
TRACE1("Item %d was
selected!\n", nItem);
// you could do your own
processing on nItem here
追问
你敢不敢不复制粘贴
以上是关于mfc当listctrl控件有数据更新时是否就运行NM_CLICK消息相应函数的主要内容,如果未能解决你的问题,请参考以下文章
mfc如何用txt保存下拉框控件的内容?下拉框如何读入TXT中的内容到属性-数据中?