社区
界面
帖子详情
CFormView上CTreeCtrl内弹出右键菜单后,点击后原来菜单的窗口遮住了CTreeCtrl一部分。
xirumin
2013-09-19 05:54:21
在CFormView上有几个控件,CTabCtrl,CTreeCtrl, CGridCtrl等。
当在CTreeCtrl中弹出右键菜单后,点击鼠标。菜单会遮盖住CTreeCtrl的一部分。鼠标移动过去也一样遮盖
只能选中CTabCtrl换到别的页面,再切换回来才不遮盖。
...全文
186
10
打赏
收藏
CFormView上CTreeCtrl内弹出右键菜单后,点击后原来菜单的窗口遮住了CTreeCtrl一部分。
在CFormView上有几个控件,CTabCtrl,CTreeCtrl, CGridCtrl等。 当在CTreeCtrl中弹出右键菜单后,点击鼠标。菜单会遮盖住CTreeCtrl的一部分。鼠标移动过去也一样遮盖 只能选中CTabCtrl换到别的页面,再切换回来才不遮盖。
复制链接
扫一扫
分享
转发到动态
举报
AI
作业
写回复
配置赞助广告
用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++ C
Form
View
界面入门
本人刚开始学习VC++,属于菜鸟级别,所以此文档适合刚刚学习VC++,大家共勉了
VC 2010 基于C
Form
View
多个
窗口
切换程序加详细操作说明
单文档程序中通过
菜单
动态控制多个窗体的切换代码和详细的操作说明,基于vc2010,窗体切换找了好久,没有详细说明的,所以自己实现后写了份操作说明,供大家参考。
派生于C
Form
View
的
窗口
创建、拆分
窗口
创建
该程序描述了如何在单文档程序中创建静态拆分
窗口
;如何创建基于C
Form
View
类的
窗口
。拆分开的两个子
窗口
都是基于C
Form
View
类的
窗口
C
Form
View
打印的实现
实现C
Form
View
的打印
基于SDI(单文档)多视图C
Form
View
拆分
窗口
源代码
MFC,基于SDI(单文档)多视图C
Form
View
拆分
窗口
源代码 你可以有一个MFC程序,不是多文档MDI,而是单文档的。 而里面需要用到拆分
窗口
,嵌入多个视图,这个就是源代码。
界面
15,980
社区成员
115,867
社区内容
发帖
与我相关
我的任务
界面
VC/MFC 界面
复制链接
扫一扫
分享
社区描述
VC/MFC 界面
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章