如何让窗体一直处于非激活状态?

rfa 2004-09-24 09:59:54
我做了一个类似于Office助手那样的不规则窗体(其实就是一个子窗体),根据需要每0。5秒就要改变一下外型,但是每次改变完外型后它总是处于激活状态,严重影响了主窗体(主窗体一直处于非激活状态)。我用SetActiveWindow或者是WM_ACTIVE,WM_NCACTIVE效果都不太好(主窗体0。5秒就会闪一次),我看OFFICE开启助手之后也没有出现这种情况呀,如何能实现它的那种效果呢?
高手赐教,请尽量说的详细些,我菜,多谢了。
...全文
399 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
漂流的代码 2004-10-01
  • 打赏
  • 举报
回复
将你那个窗体设置位主窗体的工具窗口.
rfa 2004-10-01
  • 打赏
  • 举报
回复
我试试去先,谢谢大家了.
Kudeet 2004-09-24
  • 打赏
  • 举报
回复
try
add a timer to your program and Invalidate your window frequently.
roger_ding 2004-09-24
  • 打赏
  • 举报
回复
WM_MOUSEACTIVATE 的使用可以参考MSDN,很详细!

还可以参考
http://search.csdn.net/Expert/topic/2286/2286218.xml?temp=.738888
roger_ding 2004-09-24
  • 打赏
  • 举报
回复
WS_EX_TOOLWINDOW 可以在CreateWindow或通过ModifyStyleEx来添加

手动给WM_MOUSEACTIVATE添加一个消息映射

ON_MESSAGE(WM_MOUSEACTIVATE, OnMouseActivate)

afxmsg HRESULT OnMouseActivate(WPARAM wParam, LPARAM lParam);

在函数里直接返回MA_NOACTIVATE
rfa 2004-09-24
  • 打赏
  • 举报
回复
帮帮忙,thanks every one !
解决后一定给分。100!
rfa 2004-09-24
  • 打赏
  • 举报
回复
roger_ding(海天一色) 兄弟能再说的清楚一些吗?急呀!
rfa 2004-09-24
  • 打赏
  • 举报
回复
我试过,这样会让主窗体不停闪烁,很讨厌,有办法解决吗?
roger_ding 2004-09-24
  • 打赏
  • 举报
回复
给窗口加上WS_EX_TOOLWINDOW属性

同时处理WM_MOUSEACTIVATE消息,返回MA_NOACTIVATE
snaill 2004-09-24
  • 打赏
  • 举报
回复
WM_SETFOCUS
snaill 2004-09-24
  • 打赏
  • 举报
回复
每次激活的时候,将主窗体取的焦点就可以了

15,979

社区成员

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

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