有个问题实在解决不了请大家帮帮忙? 本帖最后由 VisualEleven 于 2013-07-26 18:58:42 编辑 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 CTeachDlg teach;teach.ShowCmdInfo(nindex);-------------这样写不错就奇怪了。不推荐在DrawItem里去处理,listctrl可以捕获到选中事件,在事件响应函数里去处理,就算要在DrawItem里处理,也应该是把要显示的信息通过消息发送给主对话框,然后住对话框再处理显示到m_List_Cmd_Info上。 因为在DrawItem里方便获取选中的行号,nindex就是选中的行号,然后把行号作为参数传给ShowCmdInfo(nindex);在CTeachDlg下获取信息然后再显示到另一个list里,应该没错啊 直接 对 “对话框上两个列表控件m_Teach_ListCtrl,m_List_Cmd_Info”处理。 获取行号m_ListInfo.GetNextItem(-1, LVNI_SELECTED);CTeachDlg teach;你每次创建一个局部对象,这个对象跟住对话框对象是2个东西,能一样吗 m_Teach_ListCtrl我设置成自绘模式了 自绘了之后在CTeachDlg中好像就响应不了CLICK之类的消息了 void CMyListCtrl::DrawItem(LPDRAWITEMSTRUCT lpDrawItemStruct){//省略....if (state&ODS_SELECTED){ CTeachDlg teach; teach.ShowCmdInfo(nindex);}}drawItem 只负责 draw ,与select 无关。要响应 SelectChanged NM_CLICK消息通知中去处理,不要放到DrawItem虚函数中去做。 void CListCtrlDemoDlg::OnItemchangingListCtrl(NMHDR* pNMHDR, LRESULT* pResult) { NM_LISTVIEW* pNMListView = (NM_LISTVIEW*)pNMHDR; // TODO: Add your control notification handler code here *pResult = 0;}或者:void CListCtrlDemoDlg::OnItemchangedListCtrl(NMHDR* pNMHDR, LRESULT* pResult) { NM_LISTVIEW* pNMListView = (NM_LISTVIEW*)pNMHDR; *pResult = 0;}在他们中,取出当前 选择项 给 另一个 对话框。 这里有个关键是,我给listctlr派生新类了,在对话框里就响应不了click了,如果强硬拦截,自绘就会出问题 请问float (*mat())[4]代表什么意思,如何调用 我用ado去连接数据库,_pRecordsetPtr m_recordset变量为什么?编译说没定义 关于 MCI_CAPTURE 截图的问题 有誰知道若是把鼠標滑向按鈕,旁邊就浮出文字說明應該怎麽做嗎? 这个u错误是什么意思? 请教:程序流程的问题 紧急 怎么实现打开拖动文件?? 怎样显示gif图片? 送分 GDI+,都说用GraphicsPath::GetBounds来计算字符串高度宽度很准确,但是为何我计算出来的宽度短了一点呢? 关于文本框自动滚动和滑块的问题
teach.ShowCmdInfo(nindex);
-------------
这样写不错就奇怪了。不推荐在DrawItem里去处理,listctrl可以捕获到选中事件,在事件响应函数里去处理,就算要在DrawItem里处理,也应该是把要显示的信息通过消息发送给主对话框,然后住对话框再处理显示到m_List_Cmd_Info上。
在CTeachDlg下获取信息然后再显示到另一个list里,应该没错啊
m_ListInfo.GetNextItem(-1, LVNI_SELECTED);CTeachDlg teach;你每次创建一个局部对象,这个对象跟住对话框对象是2个东西,能一样吗
m_Teach_ListCtrl我设置成自绘模式了
{
//省略....
if (state&ODS_SELECTED)
{ CTeachDlg teach;
teach.ShowCmdInfo(nindex);
}
}drawItem 只负责 draw ,与select 无关。
要响应 SelectChanged
{
NM_LISTVIEW* pNMListView = (NM_LISTVIEW*)pNMHDR;
// TODO: Add your control notification handler code here
*pResult = 0;
}
或者:void CListCtrlDemoDlg::OnItemchangedListCtrl(NMHDR* pNMHDR, LRESULT* pResult)
{
NM_LISTVIEW* pNMListView = (NM_LISTVIEW*)pNMHDR; *pResult = 0;
}
在他们中,取出当前 选择项 给 另一个 对话框。