2010-07-09 3 views
-1

Je crée un wx.Frame qui ne peut pas être redimensionné.
Comment désactiver la poignée de taille sur le côté droit d'une barre d'état?wx.CreateStatusBar() sans le handle de redimensionnement

http://docs.wxwidgets.org/2.6/wx_wxstatusbar.html#wxstatusbar Citation:

styles de fenêtre
wxST_SIZEGRIP - Sous Windows 95, affiche une pince à droite de la barre d'état.

En traduisant vers wxPython, il faut lire wx.ST_SIZEGRIP. Voici mon code:

import wx 

class Frame(wx.Frame): 
    def __init__(self, parent, title): 
     wx.Frame.__init__(self, parent=parent, id=wx.ID_ANY, title=title, 
          style=wx.DEFAULT_FRAME_STYLE^(wx.RESIZE_BORDER | wx.MAXIMIZE_BOX), 
          pos=(20, 20)) 
     self.createStatusBar() 
     self.Show() 

    def createStatusBar(self): 
     statusBar = self.CreateStatusBar() 
     statusBar.SetWindowStyle(statusBar.GetWindowStyle()^wx.ST_SIZEGRIP) 

if __name__ == '__main__': 
    app = wx.PySimpleApp(False) 
    frame = Frame(parent=None, title="Any title") 
    app.MainLoop() 

Malheureusement, la taille de prise est toujours là. Des idées sur la façon de le faire disparaître?

+0

Quel système d'exploitation? Avec Linux, GTK je n'ai pas de grip de redimensionnement que j'appelle ou non setwindowstyle –

+0

J'utilise wxPython sous Windows. – Kit

+0

Pourquoi limiter la taille? Laissez simplement l'utilisateur le redimensionner. Ceux qui veulent être heureux, ceux qui ne le feront pas ne connaîtront pas la différence. –

Répondre

1

Au lieu de définir le style ultérieurement, définissez-le au moment de la création, par ex.

statusBar = self.CreateStatusBar(style=0) 

Vous pouvez essayer d'autres styles pour la barre d'état s'ils existent.

+0

Merci! Vous cherchez bien maintenant :) – Kit

Questions connexes