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类型的函数(在该函数内提示按钮被单击)。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)