中易网

visual studio MFC编程中,创建了一个多文档应用程序,如何给左侧的文档视图节点添加双击和右击事件呢

答案:1  悬赏:60  
解决时间 2021-03-21 13:40
亲,我记得您曾经回答过以上问题。您的回答我按着做了,很好,但是,我想做的是添加双击响应事件后,在其函数里写代码,使双击能使影像在右边显示出来,该怎么做。在打开第i幅影像之后继续写代码。非常感谢。 void CViewTree::OnLButtonDblClk(UINT nFlags, CPoint point) { // TODO: Add your message handler code here and/or call default // Main 成员变量m_pMainWnd CMainFrame *pMainFrm = (CMainFrame *)AfxGetMainWnd(); CTreeCtrl *pWndTree = (CTreeCtrl*) &pMainFrm->m_wndFileView.m_wndFileView; ASSERT_VALID(pWndTree); if (point != CPoint(-1, -1)) { UINT flags = 0; HTREEITEM hTreeItem = pWndTree->HitTest(point, &flags); if (hTreeItem != NULL) { pWndTree->SelectItem(hTreeItem); for (int i=0;i<pMainFrm->m_wndFileView.m_hiImageNum;i++) { if(hTreeItem==pMainFrm->m_wndFileView.m_hiImageName[i]) { //打开第i幅影像 break; } } } }
最佳答案
你现在这个双击左键的消息也是可以的。另外也可以:
NM_DBLCLK
为Tree添加这个消息
void XXX::OnNMDblclkTree(NMHDR *pNMHDR, LRESULT *pResult)
{
UNREFERENCED_PARAMETER(pNMHDR);
CPoint point
GetCursorPos(&point);
m_treeCtrl.ScreenToClient(&point); // 如果是Tree自身的类,就直接ScreenToclient
UINT uFlags = 0;
HTREEITEM hItem = m_treeCtrl.HitTest(point, &uFlags)
if(hItem)
{
// 这里实现
for (int i=0;i<pMainFrm->m_wndFileView.m_hiImageNum;i++)
{
if(hTreeItem==pMainFrm->m_wndFileView.m_hiImageName[i])
{
我看你是重新遍历去找,不过我建议你在添加树项的时候,就把对应关系记录在ItemData里面
这里就可以直接GetItemData
}
*pResult = 0; // 这个值设置是否按默认处理
}
注意:上述只是思路,部分关键字可能打错了,灵活纠正。
我要举报
如以上问答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
帝国时代2改变所有权怎么用
柴油发动机哪国发明的
大学已填好自愿,现在可以转学较吗
关于西安海涛口腔正畸的问题
在三角形ABC中,sinA=sinB+sinc/cosB+cosC,判
请问:在云南鹤庆县搞房地产开发到底好不好?
汉中门到银杏湖地铁怎么坐
白色风衣被染成了粉红色 怎么把颜色去掉
淘宝每天都有流量但是我自己都搜不到宝贝流量
揭阳一个女人和三个男人去洗澡
现在我在外边租房,但买了一套房子 ,已签过
从广州火车站到北京西站。。。。。急急急
现在的领导考察为什么要提前通知呢
肥城医保卡余额怎么没法查询
讲讲余姚话
推荐资讯
安徽省凌基建设工程监理有限公司这个地址在什
聚氨酯面料怎么会有塑料味
谁给我推荐一款榨汁机,200分。
飞飞姐姐的半小时爸爸背景纯音乐是什么
左边是绞丝右边是单,合起来是什么字?
女生抽条可以瘦双下巴吗
室内宽度1.8米,可不可以按扇形浴盆
哪所高校的学术硕士研究生的旅游管理,考研不
辅警改革最新消息2015新年
为避税中介提供的二手房买卖合同有效吗
湖北的女孩怎么样?有哪些特点?
amd athlon ii×2 速龙ii双核 250盒装cpu有ap
手机登qq时,显示手机磁盘不足,清理后重新登
刺客的套装怎么选啊?