none
viewtree里设置了为checkbox模式后,为什么在点击某个item前的checkbox时,加入当前的focusitem不在当前,会有个瞬间的把checkbox的显示的和focus一样的焦点样式,然后再显示到正确的focusitem上 RRS feed

全部回复

  • // View类添加=NM_CLICKED通知响应
    void CXXXView::OnNMClick(...)
    {
    	CTreeCtrl& tree = GetTreeCtrl();
    	ASSERT(tree.GetSafeHwnd());
    	CPoint pt;
    	GetCursorPos(&pt);
    	tree.ScreenToClient(&pt);
    	UINT uFlags = 0;
    	HTREEITEM hItem = tree.HitTest(pt, &uFlags);
    	if((NULL != hItem))
    	{
    		tree.SelectItem(hItem);
    	}
    	*pResult = 0;
    }


    Visual C++ enthusiast, like network programming and driver development. At present is being engaged in the WinCE/Windows Mobile platform embedded development.

    2012年10月21日 4:28
    版主
  • 首先谢谢你的回复

    其实我想要的效果是其实比如当前的focusItem在第一个上,这个时候我在第二个上点前面的checkbox,这个时候鼠标按下的时候会在第二个上显示蓝色背景(focus状态的样式),然后焦点再回到原来的第一个上。

    我的目标就是不更改焦点到setcheck的这个item上,还保持在原来那个上,只是不出现这个跳跃。

    从我跟踪的看,是鼠标按下后,当前在哪个item上,就会在哪个上绘制焦点的那个样式,这个不晓得有木有办法截断,让它不去绘制这个。

    2012年10月21日 6:53
  • 目前通过自绘解决了这个问题
    2012年10月27日 18:32
  • 你好,

    能不能具体说说自绘的方法呢?

    建议你在这里分享解决方案,因为这样能够为遇到类似问题的人提供参考。

    谢谢!


    Damon Zheng [MSFT]
    MSDN Community Support | Feedback to us

    2012年10月30日 10:02
    版主
  • 你好,

    我暂时先将这个帖子的类型改为“常规讨论”。

    建议你将“通过自绘解决了这个问题”的具体过程在这里做个简单的解释。你可以将帖子的类型改回“问题”,并自己的回复标记为答案。

    谢谢你的理解和支持。


    Damon Zheng [MSFT]
    MSDN Community Support | Feedback to us

    2012年11月6日 8:12
    版主