2 qhdwangli qhdwangli 于 2016.01.16 08:47 提问

请教MFC控件重叠时点击选择问题

我在一个表格控件中点击,打开一个月历控件来选择月历,但是由于这两个控件是重叠的,
明明月历控件在前面,一点击就乱了,后面的表格漏出来,月历显示也不完整了。
如果不重叠就不会有问题,为了方便需要重叠,怎样解决?

3个回答

qq_27183003
qq_27183003   Ds   Rxr 2016.01.18 12:55
已采纳
oyljerry
oyljerry   Ds   Rxr 2016.01.16 08:59

重叠的消息点击处理是不是发送给多个了

qhdwangli
qhdwangli 月历重叠部分不能点选,看着在前面,一点,后面表格就出来了。没有重叠部分能点选月历日期。
2 年多之前 回复
91program
91program   Ds   Rxr 2016.01.16 10:50

Win 的机制,不是前面是无法接收到点击的。除非做特殊处理,如使用 鼠标 HOOK,在不影响其它控制点击响应的同时,将鼠标响应消息发给被挡住的控件。
因为默认第一个两个控制在同一位置,无法判断你是想要将点击在最上面,还是下面的控件来响应!

qhdwangli
qhdwangli 我的问题是:动态显示了月历控件,显示正常,但无法点选重叠部分,一点后面的表格就出来了一块。按理月历在前面,应该月历接收点击消息。
2 年多之前 回复
qhdwangli
qhdwangli 我的问题是:动态显示了月历控件,显示正常,但无法点选重叠部分,一点后面的表格就出来了一块。按理月历在前面,应该月历接收点击消息。
2 年多之前 回复
qhdwangli
qhdwangli 我的问题是:动态显示了月历控件,显示正常,但无法点选重叠部分,一点后面的表格就出来了一块。按理月历在前面,应该月历接收点击消息。
2 年多之前 回复
Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!
其他相关推荐
MFC控件重叠显示与响应处理
MFC的控件重叠时,显示和响应就会出问题。例如一个属性表格,点击下拉按钮,动态创建一个月历来选择日期。 月历显示在表格前面,存在两个问题: 1、点击月历控件日期,表格显示出来了,显示乱套了。 2、点击前面的月历控件,后面的表格先响应了。 如何让前面的控件接收点击消息? 解决方法: 1、要使下面的表格控件窗口具有WS_CLIPSIBLINGS风格,这样上面的控件才能完整显示出来。
动态Static文本导致字体重叠的解决方案
场景: 需要动态更新Static静态文本框的内容来显示不同状态信息 要求:设置文本框背景透明 方法:添加消息ON_WM_CTLCOLOR() HBRUSH CAppHelperDlg::OnCtlColor(CDC* pDC, CWnd* pWnd, UINT nCtlColor) { HBRUSH hbr = CDialogEx::OnCtlColor(pDC, pWnd, nCtlCo
控件窗口重叠时的显示问题
态创建的控件可以按ctrl+d调整显示先后(也就是调整谁覆盖谁问题), 1)动态创建的控件如何设置谁显示在前,谁显示在后?    静那么我用动态创建(即使用Create创建的)的控件如何调整呢?以及静态创建的控件和动态创建的控件之间的显示先后又该怎么调整呢? 2)我们使用ctrl+d调整后,深层变化是什么吗?    我试了一下,使用ctrl+d调整显示先后以后,控件在.
mfc 中child属性的两个窗口重叠 解决重叠部分不停闪烁问题
HWND  xx1;     //视频句柄1 HWND  xx2;    //视频句柄2 //自己获取句柄   --> GetSafeHwnd() ::SetParent(xx1,xx2);   //将xx1设为xx2的子窗口 LONG_PTR Style = ::GetWindowLongPtr(xx2,GWL_STYLE);   //获取xx2属性 Style = Style|W
CStatic子类化解决背景透明,文本重叠,刷新闪烁问题
由于是很少使用VS2008的MFC,遇到了很多麻烦,其实都是很初级的;但是我还是想做点记录,以示对自己工作的鼓励,同时也是留个纪念,因为随着微软政策的变化,以后MFC的程序将不会是趋势了,而我也有意从事Android平台的开发,所以不太可能做MFC程序了。
MFC中static空间动态显示重叠问题
今天写一个小程序,在动态显示一个参数的正确率的时候,出现了重叠的问题,就是比如说刚开始正确率为0%,之后变成了100%,两个数字就会重叠在一起,其实这个问题我在其他空间的时候也遇到过,就是动态折画图的时候,你每重画一次需要刷新一下这个控件,先讲一讲解决这个问题的过程,当时画图的时候,开始用的是invidate()这个函数就是使得当前的页面绘画无效,之后发现这个没刷新一次屏幕就会闪一次,很不美观啊,
MFC的CStatic子类化,解决背景透明,文本重叠,刷新闪烁
两个CStatic子类,良好的解决了背景透明,动态设置文本时,防止文本重叠,防止刷新闪烁,我在PC和工控机上测试效果很不错,网上很多人的分享并没有解决我的问题,这两个类是CodeProject上面的,只是我对其做了修改,修改部分DEMO中有注释,利用我的使用,所以就不要积分了,我觉还是很有参考价值的
解决当静态文本或编辑框等控件设置为透明后文字重叠问题
/*这里解决当静态文本设置为透明后文字重叠问题先隐藏再显示*/ IDC_STATUS 为静态文本控件ID        GetDlgItem(IDC_STATUS)->ShowWindow(SW_HIDE);        GetDlgItem(IDC_STATUS)->SetWindowText("解决当静态文本设置为透明后文字重叠问题");           GetDlgItem(I
关于MFC里list control控件的重叠问题
首先我的程序是基于对话框的,由于空间有限,所以我点击一个按钮后动态创建一个列表控件,结果发现,创建出的列表控件会和先前的一些空间比如按钮控件,或者另外一个按钮控件发生重叠,也就是所有的东西都显示出来了,然后我就找各种方法去解决,网上查了好多,但是发现都不能解决,最后找到的办法是显示列表控件时,隐藏它下面的控件。如图所示:画面上已经有了一个静态创建的list控件,我点击button1之后再动态创建覆
MFC/VS 2010中对话框控件初始显示模糊,鼠标移动到上面才显示的问题
最近做有关MFC对话框的相关设计时,出现一个奇怪的现象。当编写完对话框中控件的初始数据后,对话框的控件不能立即显示出数据,只有当鼠标移动到对话框控件上的时候,数据才会显示出来。初始显示对话框时,按钮显示为模糊的灰色,鼠标移动到上边的时候,按钮才会正常显示。其他控件,像List Control,PropertyGrid Control这些控件,上面的数据刚开始不显示,鼠标移动到上面才能正常显示数据。