VC 下MFC 动态创建控件的问题。

蚂蚁搬豆 2012-12-28 11:32:35
我的界面左边有树形控件,我想实现点击树形控件的某一个根节点,然后根据这个根节点下的子节点个数来创建并显示静态文本,编辑框,还有图片等控件,达到动态显示的效果。请问各位这个该怎么实现呢。
...全文
74 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
傻X 2012-12-28
  • 打赏
  • 举报
回复
先是用WM_LBUTTONDOWN,捕获消息,在其中处理 关键函数是树控件的HitTest之后判断是否点击中树控件中的节点,返回HTREEITEM类型
邓学彬 2012-12-28
  • 打赏
  • 举报
回复
ON_NOTIFY(NM_CLICK,IDC_TREEVIEW, &CMyDialog::OnNMClickTree1)

void CMyDialog::OnNMClickTree1(NMHDR *pNMHDR, LRESULT *pResult)
{
	*pResult = 0;
	CPoint pt;
	//获取鼠标坐标
	pt = CPoint((LPARAM)GetMessagePos());
	//转换坐标
	m_TreeCtrl.ScreenToClient(&pt);
	UINT flags = 0;
	//通过坐标获取被点击的item
	HTREEITEM hTI = m_TreeCtrl.HitTest(pt, &flags);
	HTREEITEM hItem= hTI && (flags&TVHT_ONITEM) ? hTI : NULL;
	if(hItem){//获取到了item
		//动态创建控件
		::CreateWindowEx(....);
	}
}

15,979

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 界面
社区管理员
  • 界面
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧