社区
界面
帖子详情
CFormView上CTreeCtrl内弹出右键菜单后,点击后原来菜单的窗口遮住了CTreeCtrl一部分。
xirumin
2013-09-19 05:54:21
在CFormView上有几个控件,CTabCtrl,CTreeCtrl, CGridCtrl等。
当在CTreeCtrl中弹出右键菜单后,点击鼠标。菜单会遮盖住CTreeCtrl的一部分。鼠标移动过去也一样遮盖
只能选中CTabCtrl换到别的页面,再切换回来才不遮盖。
...全文
200
10
打赏
收藏
CFormView上CTreeCtrl内弹出右键菜单后,点击后原来菜单的窗口遮住了CTreeCtrl一部分。
在CFormView上有几个控件,CTabCtrl,CTreeCtrl, CGridCtrl等。 当在CTreeCtrl中弹出右键菜单后,点击鼠标。菜单会遮盖住CTreeCtrl的一部分。鼠标移动过去也一样遮盖 只能选中CTabCtrl换到别的页面,再切换回来才不遮盖。
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
10 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
xirumin
2013-09-23
打赏
举报
回复
还是不行呀。为什么会发生这种情况呢?
xirumin
2013-09-23
打赏
举报
回复
问题解决了。感谢两位帮忙。
水平很次的老码农
2013-09-20
打赏
举报
回复
把 CGridCtrl 去掉试试, 干脆让 菜单消失后 让CTreeCtrl重绘
schlafenhamster
2013-09-20
打赏
举报
回复
“这个CGridCtrl” 搞一个图看看。
xirumin
2013-09-19
打赏
举报
回复
谢两位指点。 我是在CFormView上放了一个CTabCtrl. 点击不同CTabCtrl时,显示或隐藏相应的CTreeCtrl, CGridCtrl 右键是在CFormView::OnContextMenu()中TrackPopupMenu()的。 现在发现,右键菜单弹出后,点击屏幕上除了右侧一个CGridCtrl外的任何地方,菜单消失都正常。只是点击 这个CGridCtrl, 或者点击菜单项,弹出对话框时,菜单就留下一个残留,盖住了CTreeCtrl的一部分。因为菜单是右键CTreeCtrl时在右击处弹出的。
水平很次的老码农
2013-09-19
打赏
举报
回复
感觉不应该这样啊,是仅仅CTreeCtrl部分没有重绘,还是其他部分统统没有重绘。 是否可以在CTreeCtrl控件旁边放一个 Button,然后让 鼠标右键弹出菜单挡住一些CTreeCtrl和Button,看看取消时,Button 是不是重绘了。这样可以判断下 是不是 CTreeCtrl的问题。 是不是这个 CTreeCtrl 有什么不同?
schlafenhamster
2013-09-19
打赏
举报
回复
试试 WM_CANCELMODE 点到 菜单 外是:OnCaptureChanged void CDlgHasToolBarDlg::OnCaptureChanged(CWnd *pWnd) { // TODO: Add your message handler code here HWND hmenu=::GetCapture(); ::SendMessage(hmenu,WM_CANCELMODE,0,0); CDialog::OnCaptureChanged(pWnd); }
xirumin
2013-09-19
打赏
举报
回复
还有,为什么会出现这种问题呢?弹出菜单时,窗口要重绘窗口的大小和菜单取消时被遮挡窗口的重绘不是由系统自己维护的吗?
xirumin
2013-09-19
打赏
举报
回复
谢楼上解答。我也用了Invalidate()重绘。 但是不选择任何菜单项,点击菜单外面其它区域时,菜单能消失,还是有一些灰色的原来菜单所在位置会遮住 树控件。这种情况在哪里写重画好呢?
schlafenhamster
2013-09-19
打赏
举报
回复
“点击后原来(
弹出?
)菜单的窗口遮住了CTreeCtrl一部分” 叫CTreeCtrl 重绘(InValidate)
VC 2010 基于C
Form
View
多个
窗口
切换程序加详细操作说明
在单文档接口(Single Document Interface, SDI)的应用程序中,我们常常需要实现在一个主
窗口
内切换显示多个不同的视图。本教程将详细讲解如何在VC 2010中实现基于C
Form
View
的多窗体切换,并提供相应的代码示例和...
VC++ C
Form
View
界面入门
VC++ C
Form
View
界面入门 今天,我们来讨论 VC++ 中的 C
Form
View
界面入门。C
Form
View
是 Microsoft Foundation Classes(MFC)中的一种视图类,用于在应用程序中创建窗体和视图。下面,我们将详细介绍 C
Form
View
...
派生于C
Form
View
的
窗口
创建、拆分
窗口
创建
在Windows应用程序开发中,MFC(Microsoft Foundation Classes)库提供了一种高效的方式来构建用户界面,其中C
Form
View
类是常用的一种视图类,用于创建含有表单元素的
窗口
。本教程将深入探讨如何利用C
Form
View
派生...
C
Form
View
打印的实现
最关键的部分是重载OnDraw()函数,这是C
View
类的一个虚函数,用于在
窗口
上绘制视图内容。在打印时,OnDraw()会被调用来在打印机设备上下文中绘制内容。你需要确保这个函数能够根据打印设备上下文而不是屏幕设备上...
基于SDI(单文档)多视图C
Form
View
拆分
窗口
源代码
在本文中,我们将深入探讨如何在MFC(Microsoft Foundation Classes)框架中实现一个基于SDI(Single Document Interface)的多视图C
Form
View
拆分
窗口
应用程序。SDI是一种用户界面设计模式,允许用户同时处理一个...
界面
15,977
社区成员
115,866
社区内容
发帖
与我相关
我的任务
界面
VC/MFC 界面
复制链接
扫一扫
分享
社区描述
VC/MFC 界面
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章