在下实在不知道怎么做了,再次向各位求解一个关于窗口Focus的问题..... 在线求救!!!!

endy_wqf 2002-08-02 04:15:10
我有一个单View/Doc的工程,如果你在View上使用鼠标左键单击时,会弹出一个窗口,这个窗口的风格象“金山词霸的解释单词含义的窗口”。当鼠标移动时,这个窗口会自动关闭。
现在的问题是:
如果这个窗口在弹出的时候,MainFrame会失去Focus,所以我不得不显式的调用SetFocus使MainFrame又取回Focus,这时因为刷新的缘故MainFrame会很明显的闪一下。
我期望的是:
我打算在显示这个窗口时根本就不让MainFrame失去Focus,这样MainFrame也就不会闪了,我该怎么做呢?
...全文
61 17 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
17 条回复
切换为时间正序
请发表友善的回复…
发表回复
In355Hz 2002-08-03
  • 打赏
  • 举报
回复
ShowWindow(hwndPopup, SW_SHOWNOACTIVATE);
可以实现。
SW_SHOWNOACTIVATE在MSDN中查不到,查查Winuser.h就可以看到了
相关的还有SW_SHOWMINNOACTIVE。
siphonelee 2002-08-03
  • 打赏
  • 举报
回复
up
cywater2000 2002-08-02
  • 打赏
  • 举报
回复
在视图类中重载函数OnMouseActive,以专门将焦点设置到视图
blackdankey 2002-08-02
  • 打赏
  • 举报
回复
我的建议:弹出的“窗口”,不用真正的窗口,用DC之类的在需要的地方画出这个“窗口”,这样,原来的窗口并不失去焦点(其实画的动作,还是在此窗口上实现的),鼠标移动的时候,刷新原来的窗口就行了。
lin_li_00 2002-08-02
  • 打赏
  • 举报
回复
反正以前我用的是行的,不过现在不太记得了,不是ShowWindow就是BringWindowToTop或者就是SetForegroundWindow,可以保证一定行的,哥们相信我,别的我拿不准,不过这个肯定是有个行的
wanglei888 2002-08-02
  • 打赏
  • 举报
回复
:( 我也没办法了

祝你好运!
endy_wqf 2002-08-02
  • 打赏
  • 举报
回复
我的窗口已经是 WS_POPUP与WM_EX_TOOLWINDOW风格了,也不行
endy_wqf 2002-08-02
  • 打赏
  • 举报
回复
wanglei888(阿笨猫):

你好!你的第二个答案我也试过了,好像也没有效果
endy_wqf 2002-08-02
  • 打赏
  • 举报
回复
营营的回答:
SetWindowPos(....... SP_NOACTIVE)


我试了一下,也好像不行
wanglei888 2002-08-02
  • 打赏
  • 举报
回复
是我写的不够清楚?

CYourWnd::YourMethod() {
SetRedraw(FALSE);
pChild->ShowWindow(SW_SHOW);
SetFocus(); // 我忘记写这一句了吗?
SetRedraw(TRUE);// CYourWnd的
}
endy_wqf 2002-08-02
  • 打赏
  • 举报
回复
阿笨猫上次的回答:
CMainFrame::YourMethod() {
SetRedraw(FALSE);
pChild->ShowWindow(SW_SHOW);
SetRedraw(TRUE);// CMainFrame的
}
我的情况是:
那个窗口不是MainFrame的子窗口,那个窗口显示不显示是由它自己控制的,我试了一下,好像不行
devouer 2002-08-02
  • 打赏
  • 举报
回复
之所以会LOST FOCUS是由于API函数SHOWWINDOW作的怪(原因未知),如果你的窗口用SetWindowPos,同时将要显示的窗口放在TOPMOST就可以了。
wanglei888 2002-08-02
  • 打赏
  • 举报
回复
我上次告诉你的方法没有效果吗?我可是自己测试有效的啊
Clineyuan 2002-08-02
  • 打赏
  • 举报
回复
SetWindowPos(....... SP_NOACTIVE)
FFXI 2002-08-02
  • 打赏
  • 举报
回复
能不能做成子窗口,试试!
In355Hz 2002-08-02
  • 打赏
  • 举报
回复
让窗口拥有WS_POPUP与WM_EX_TOOLWINDOW风格试试?
dy_paradise 2002-08-02
  • 打赏
  • 举报
回复
帮你UP了

16,548

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC相关问题讨论
社区管理员
  • 基础类社区
  • AIGC Browser
  • encoderlee
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

        VC/MFC社区版块或许是CSDN最“古老”的版块了,记忆之中,与CSDN的年龄几乎差不多。随着时间的推移,MFC技术渐渐的偏离了开发主流,若干年之后的今天,当我们面对着微软的这个经典之笔,内心充满着敬意,那些曾经的记忆,可以说代表着二十年前曾经的辉煌……
        向经典致敬,或许是老一代程序员内心里面难以释怀的感受。互联网大行其道的今天,我们期待着MFC技术能够恢复其曾经的辉煌,或许这个期待会永远成为一种“梦想”,或许一切皆有可能……
        我们希望这个版块可以很好的适配Web时代,期待更好的互联网技术能够使得MFC技术框架得以重现活力,……

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