wxpython在保持RESIZE_BORDER样式边框的同时禁用帧大小调整

时间:2013-12-23 02:46:55

标签: python windows wxpython wxwidgets

我喜欢的风格是:wx.STAY_ON_TOP | wx.RESIZE_BORDER

wxPython Disable Frame Resizing 遵循这一建议,边界消失了。但我想保持RESIZE_BORDER的风格不是它的功能。

这也符合我的要求:

self.SetMinSize(self.GetSize())
self.SetMaxSize(self.GetSize())

但是当它悬停在边界上时,它会保留令人讨厌的重新调整大小的鼠标指针。

我正在尝试创建一个类似于Windows 7托盘中音量控制的控件。

谢谢!

2 个答案:

答案 0 :(得分:0)

wxRESIZE_BORDER不仅仅是一些装饰,它向用户表明窗口可以调整大小。你为什么要骗用户?如果您的窗口无法调整大小,请不要使用此样式。您可以使用其他样式来更改边框外观,并且您可能希望使用wxPopupWindow而不是通常的wxFrame来进行音量控制。

答案 1 :(得分:0)

在创建框架时反转或不使用wxRESIZE_BORDER样式。

更改框架的背景颜色以匹配边框或标题栏的颜色。

创建一个以框架为父面板。创建一个装箱器。

将面板添加到sizer;

"can not get strings from byte objects"

将尺寸调整器设置为框架;

sizer.Add(panel, 1, wx.ALL | wx.EXPAND, 5). 

您现在有了一个5像素的显示边框,没有鼠标功能。