救命啊,动态日历控件被挡住,怎么办?快疯了

ritchalam 2010-07-24 12:33:02
救命啊,动态日历控件被挡住,怎么办?快疯了
是这样的,小弟在做一个模块,有一项要填日期,所以我就在文本框(CEdit)上一点击时,就显示动态创建的日期控件(CMonthcalctrl)控件,日期控件位置自动移到文本框下面供用户选择,本来一切都顺利,但是,纠结的问题出现了,就是当日期控件显示后,发现它会被后面的其它文框穿透,当鼠标一划过时,后面的文本框控件就跑出来了,刺破了日期控件,我怀疑是Z轴的问题,但不知如何解决,找了N久,找没到资料,请高手们救救我吧,感激不尽!,问题如下图,被后面穿越了!!!


...全文
257 16 打赏 收藏 转发到动态 举报
写回复
用AI写文章
16 条回复
切换为时间正序
请发表友善的回复…
发表回复
liuguangfeng 2010-09-22
  • 打赏
  • 举报
回复
先隐藏,单击输入框时在叫他显示不就行了
coxfilur_2008 2010-07-24
  • 打赏
  • 举报
回复
VC作界面就是难搞.
我猜你的问题是一些对话框属性没设对(透明啊什么的),
还有就是试试让日历控件的父窗口是后面的窗口 -- 我也不确定.
祝你好运~
ritchalam 2010-07-24
  • 打赏
  • 举报
回复
[Quote=引用 10 楼 swimmingfish2004 的回复:]
“日期控件是动态生成的”,为什么不可以是静态的(拖拉上去的)呀,这样可以使得该日期控件在所有CEdit上面。不用的时候把这个隐藏,用的时候显示。
[/Quote]
刚试了静态的,也一样被穿越,囧囧,囧!我决定加个定时起,不停地刷新日期控件,看能不能解决!行的话,回来告诉你哈
swimmingfish2004 2010-07-24
  • 打赏
  • 举报
回复
“日期控件是动态生成的”,为什么不可以是静态的(拖拉上去的)呀,这样可以使得该日期控件在所有CEdit上面。不用的时候把这个隐藏,用的时候显示。
swimmingfish2004 2010-07-24
  • 打赏
  • 举报
回复
在MouseMove中做一些处理呢?
ritchalam 2010-07-24
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 swimmingfish2004 的回复:]
如果还是不行的话,在日历控件显示时,将在其后面的控件隐藏起来。
[/Quote]

但我又不想隐藏后面的控件,那样很难看!
ritchalam 2010-07-24
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 swimmingfish2004 的回复:]
如果还是不行的话,在日历控件显示时,将在其后面的控件隐藏起来。
[/Quote]
还是不行啊,我发现,一开始出来时是正确的,但是,当鼠标划过后面的控件时,那些控件好象会微微高亮,然后,就把我的日期控件穿透了,郁闷
swimmingfish2004 2010-07-24
  • 打赏
  • 举报
回复
如果还是不行的话,在日历控件显示时,将在其后面的控件隐藏起来。
swimmingfish2004 2010-07-24
  • 打赏
  • 举报
回复
This function brings the specified window to the top of the z-order. If the window is a top-level window, it is activated. If the window is a child window, the top-level parent window associated with the child window is activated.

BOOL BringWindowToTop(
HWND hWnd
);
ritchalam 2010-07-24
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 vc_zsy 的回复:]

1楼你也太勤快了~~2点多回帖~~强力~~~
SetWindowPos();应该可以
也可以最后拖你那个时间控件到对话框上~~
[/Quote]

还是不行啊,不知怎么搞了!你们有没有没遇到这种问题?还有,我那日期控件是动态生成的,不能拖的。
VC_ZSY 2010-07-24
  • 打赏
  • 举报
回复
1楼你也太勤快了~~2点多回帖~~强力~~~
SetWindowPos();应该可以
也可以最后拖你那个时间控件到对话框上~~
一名程序员 2010-07-24
  • 打赏
  • 举报
回复
顶一下!
Eleven 2010-07-24
  • 打赏
  • 举报
回复
SetWindowPos();
向立天 2010-07-24
  • 打赏
  • 举报
回复
做一个popup风格的对话框
上面只放置一个日期控件
然后动态创建这个对话框
试试
ritchalam 2010-07-24
  • 打赏
  • 举报
回复
[Quote=引用 13 楼 djj315 的回复:]
可以在日期控件出来之后,把你当前的窗体EnableWindow(hWnd,FALSE),选完日期返回后EnableWindow(hWnd,TRUE)...
[/Quote]

可是这样的话,EnableWindow的控件会变灰色的,很不爽,我是个完美主义者很纠纷,难道真的没有两全其美的方法吗?
Simao 2010-07-24
  • 打赏
  • 举报
回复
可以在日期控件出来之后,把你当前的窗体EnableWindow(hWnd,FALSE),选完日期返回后EnableWindow(hWnd,TRUE)...

15,979

社区成员

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

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