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

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

你现在这个双击左键的消息也是可以的。另外也可以:

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=0i<pMainFrm->m_wndFileView.m_hiImageNumi++)

{

if(hTreeItem==pMainFrm->m_wndFileView.m_hiImageName[i])

{

我看你是重新遍历去找,不过我建议你在添加树项的时候,就把对应关系记录在ItemData里面

这里就可以直接GetItemData

}

*pResult = 0 // 这个值设置是否按默认处理

}

注意:上述只是思路,部分关键字可能打错了,灵活纠正。

你的 dgv_CellDoubleClick 函数这样:

void dgv_CellDoubleClick(object sender, DataGridViewCellEventArgs e)

{

    DataGridView tempGdv =sender as DataGridView//获取事件发送者

    if(e.RowIndex>-1&&e.ColumnIndex>-1)//防止 Index 出错

    {

        String tempStr=tempGdv.Rows[e.RowIndex].Cells[0].Value.ToString() 

    }  

}

双击该按钮,VC++会自动给该按钮添加上按钮对应的消息映射,并将输入焦点定位在点击该按钮后执行的代码函数体内。然后在该函数体内发自定义的消息给CView或调用CView内的一个Public类型的函数(在该函数内提示按钮被单击)


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/bake/7986649.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-12
下一篇 2023-04-12

发表评论

登录后才能评论

评论列表(0条)

保存