我在对话框里加了一个树形列表框控件,选中check boxes属性。响应了鼠标单击事件。想要实现点击列表项时为其加上标记,但结果总是第一次点击时没有反应,在第二次点击(点击任何项)时才把第一次点击的项前加上标记,也就时说总有一个滞后,不知为什么?
代码如下:
void CLineChoise::OnClickTree(NMHDR* pNMHDR, LRESULT* pResult)
{
// TODO: Add your control notification handler code here
CTreeCtrl * treeCtrl=(CTreeCtrl *)GetDlgItem(IDC_TREE);
HTREEITEM treeitem=treeCtrl->GetSelectedItem();
treeCtrl->SetCheck(treeitem,true);
*pResult = 0;
}
代码如下:
void CLineChoise::OnClickTree(NMHDR* pNMHDR, LRESULT* pResult)
{
// TODO: Add your control notification handler code here
CTreeCtrl * treeCtrl=(CTreeCtrl *)GetDlgItem(IDC_TREE);
HTREEITEM treeitem=treeCtrl->GetSelectedItem();
treeCtrl->SetCheck(treeitem,true);
*pResult = 0;
}
解决方案 »
- CSerialPort串口类问题
- usb转串口后,用createfile打开 显示失败,想不通为什么
- 跪求高手,MFC多线程编程问题
- 不知道各位有没出现过,在同一个工程里,有的TRACE可以显示,有的TRACE显示不了呢
- DirectX 9.0 SDK (Summer 2004)\Include\strmif.h(1018) : error C2146: syntax error : missing ';' before identifier 'HSEMAPHORE
- 请问哪位有Coreldraw 二次开发的资料?
- 传小文件能传成功,为什么传上M的文件就不行了呢,老提示连接被断开的错误,10053?
- 急!!图片分割提取的问题!!提供帮助的一定加高分!
- 怎么实现自己所编写软件与帮助文件的挂接(VC6),另:哪有CHM文件编译器?多谢!
- 自定义控件 在构造函数中初始化CEDIT失败,this指针是null,无法使用cedit的create
- 怎么样枚举局域网中的机器?
- 请装双系统的帮忙
CPoint point;
GetCursorPos(&point);
CTreeCtrl * treeCtrl=(CTreeCtrl *)GetDlgItem(IDC_TREE);
treeCtrl->ScreenToClient(&point);
HTREEITEM hItem=treeCtrl->HitTest(point);
treeCtrl->SetCheck(treeitem,true);
CTreeCtrl * treeCtrl=(CTreeCtrl *)GetDlgItem(IDC_TREE);CPoint point;
GetCursorPos(&point);
CRect lpRect;
//得到Item的文本区的大小
BOOL bRet= GetItemRect(hItem, &lpRect, TRUE);//hItem是HTREEITEM ,Item的句柄
BOOL bRet= lpRect.PtInRect( &point );//判断点的位置是否在Item de text上
if(bRet)
{
treeCtrl->SetCheck(treeitem,true);}