MFC 在一个老版本的工程中(基类是 CWinApp,CFrameWnd)怎样添加一个悬浮窗口 急急急叽急急急 在线等!

MFC 在一个老版本的工程中(基类是 CWinApp,CFrameWnd)怎样添加一个悬浮窗口 急急急叽急急急 在线等!,第1张

最近也遇到这个问题,在MFC SDI(单文档界面)中添加继承CDockablePane类的悬浮窗口后,因为CMainFrame继承于CFrameWnd,没有DockPane方法,所以将基类替换成CFrameWndEx。但此时整个软件无法成功启动,并提示“创建空文档失败”。

原因是:在MainFrm中调用了CToolBar,使用了DockControlBar来停靠工具栏。

完整解决方法是:将基类CFrameWnd替换成基类CFrameWndEx后,还需要将类CToolBar改为类CMFCToolBar,停靠接口DockControlBar改为DockPane来停靠即可。另外使用类CStatusBar定义的状态栏也会显示失败,改为类CMFCStatusBar即可。

如果对“替换基类”的方法感兴趣,可以查看网页链接

主窗口退出,窗口一起关闭    悬浮窗口只要是主窗口的子窗口,这个自然会实现;

悬浮窗口可移动    不做特殊处理的窗口都是可以移动的

双击显示主窗口    在子窗口的OnLButtonDBlck中,调用父类窗口的ShowWindow函数;

主窗口隐藏,显示悬浮窗扣    在主窗口最小化时,Hide自己,显示浮动窗口


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/bake/11805181.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-18
下一篇 2023-05-18

发表评论

登录后才能评论

评论列表(0条)

保存