是否可以使用MFC或.NET在windows中创建OSX样式的停靠工具栏?

是否可以使用MFC或.NET在windows中创建OSX样式的停靠工具栏?,.net,mfc,window,.net,Mfc,Window,完全公开,我知道这个问题的答案是肯定的,但我希望有更好的办法 我维护一个应用程序,它使用MFC CAppBar创建一个“停靠”,可以停靠在屏幕的任何边缘或作为浮动窗口。它最初是在90年代编写的,经过更新,只足以让它在多年内正常工作。我正在寻找替代整个应用程序的解决方案,但我的谷歌搜索只返回MDI类型应用程序中停靠窗口的结果,而不是停靠/固定应用程序本身 有人能给我指出一些可以处理这种行为的潜在类/框架的正确方向吗(或者至少是一些足够接近的类/框架,我可以将其作为替代提交)?您可以使用WPF创建一

完全公开,我知道这个问题的答案是肯定的,但我希望有更好的办法

我维护一个应用程序,它使用MFC CAppBar创建一个“停靠”,可以停靠在屏幕的任何边缘或作为浮动窗口。它最初是在90年代编写的,经过更新,只足以让它在多年内正常工作。我正在寻找替代整个应用程序的解决方案,但我的谷歌搜索只返回MDI类型应用程序中停靠窗口的结果,而不是停靠/固定应用程序本身


有人能给我指出一些可以处理这种行为的潜在类/框架的正确方向吗(或者至少是一些足够接近的类/框架,我可以将其作为替代提交)?

您可以使用WPF创建一个特定大小和位置的窗口,其中TopMost=true,WindowStyle=None。您应该能够通过处理mousedown/mousemove事件的一些组合来实现停靠功能。

false。如果您的回答是:“好吧,您必须自己为这个编写代码”,那么WPF为什么要在使用MFC的基础上添加任何东西呢?”?它含糊不清,提出了解决问题的错误方法,完全没有解决问题。不知道,为什么会有人投赞成票。OP表达了创建“OSX风格”dock工具栏的愿望。假设这不仅仅意味着一个OS/2风格的按钮网格,这意味着他们想要一个更好的图形支持,可以在不同的分辨率之间清晰地缩放,并利用硬件加速来利用OSX风格的dock工具栏预期/固有的动画/转换类型。我不知道使用MFC(花了多年时间开发MFC应用程序)创建所需输出的任何远程简单方法。很难猜测,为什么您认为WPF比一些未公开的子系统具有更好的图形支持。坦率地说,MacOSX的dock中甚至没有任何东西需要硬件加速。但是如果你坚持硬件加速是强制性的,那么使用WPF是最糟糕的利用它的方式。为什么推荐一个API,强制所有代码通过托管接口,只是为了与本机实现对话?为什么不建议改为使用合成引擎,这样就结束了这种疯狂?