vs2008sp1的那个点击check框可以,看看它是怎么实现的
解决方案 »
- 改变程序两个模块的执行顺序引起的问题,求前辈指点
- 求矢量数据转换为栅格数据的算法和源代码
- 数据库运行在内网,能被外网客户端访问,也要能被内网客户端访问?
- SetDlgItemText
- Winpcap初体验,大家帮帮忙
- 限定鼠标区域,为什么一移动窗口限定就失效
- vc6里的options->source control->login写的是别人的名字,我能改成自己的名字吗?
- 如何画斜的椭圆啊
- ClistCtrl控件中同时选中多项的做法???
- 怎样创建一个MDI窗口?(用Windows API)
- C++MFC五子棋悔棋的功能怎么做?
- 很久没写activex了,今天需要写一个程序,但是OnDraw不起作用了
{ SetMsgHandled(FALSE);
UINT uFlags = 0;
HTREEITEM hItem = HitTest(point, &uFlags); if(!hItem)
return; if(uFlags&TVHT_ONITEMSTATEICON)
{
SetMsgHandled(TRUE);
SelectItem(hItem);
if (GetCheckState(hItem)) // 该函数获得是先前节点的选中状态
{
SetItemAndChildrenEmpty(hItem);
SetParentsItemEmpty(hItem); }
else
{ SetItemAndChildrenFull(hItem);
SetParentsItemFull(hItem); }
}}
难道你跟我说TreeView就不能相应WM_LBUTTONDOWN了吗?
{
// TODO: Add your control notification handler code here
CTreeCtrl &treeCtrl = GetTreeCtrl(); TVHITTESTINFO tvInfo = { 0 };
//tvInfo.pt = pNMTreeView->ptDrag;
DWORD pos = GetMessagePos();
tvInfo.pt.x = LOWORD(pos);
tvInfo.pt.y = HIWORD(pos);
ScreenToClient(&tvInfo.pt);
HTREEITEM hIT = treeCtrl.HitTest(&tvInfo);
if(hIT && (tvInfo.flags & TVHT_ONITEM) )
{
BOOL bChecked = treeCtrl.GetCheck(hIT);
if(bChecked)
{ }
} *pResult = 0;
}