def virtualListCtrl(self, text, event=None, style=0, size=(200, 200), sizerFlag=wx.ALL, proportion=0, margin=5, textLayout=wx.DEFAULT, enableTabFocus=True): hStaticText, sizer, parent = self._addDescriptionText( text, textLayout, sizerFlag, proportion, margin) hListCtrl = self.winObject["virtualListCtrl"]( parent, wx.ID_ANY, style=style | wx.BORDER_RAISED, size=size, enableTabFocus=enableTabFocus) hListCtrl.Bind(wx.EVT_LIST_ITEM_FOCUSED, event) self._setFace(hListCtrl) self._setFace(hListCtrl.GetMainWindow()) _winxptheme.SetWindowTheme( win32api.SendMessage(hListCtrl.GetHandle(), 0x101F, 0, 0), "", "") #ヘッダーのウィンドウテーマを引っぺがす Add(sizer, hListCtrl, proportion, sizerFlag, margin) self.AddSpace() return hListCtrl, hStaticText
def Initialize(self, parent,ttl): """タイトルを指定して、ウィンドウを初期化し、親の中央に配置するように設定。""" self.wnd=wx.Dialog(parent,-1, ttl,style=wx.DEFAULT_DIALOG_STYLE | wx.BORDER_DEFAULT) _winxptheme.SetWindowTheme(self.wnd.GetHandle(),"","") self.panel = wx.Panel(self.wnd,wx.ID_ANY) self.sizer = wx.BoxSizer(wx.VERTICAL) self.panel.SetSizer(self.sizer)
def ListCtrl(self,proportion,sizerFlag,**settings): hListCtrl=wx.ListCtrl() hListCtrl.EnableSystemTheme(False) hListCtrl.SetHeaderAttr(wx.ItemAttr("888888","888888",self.font.GetFont())) hListCtrl.Create(self.parent,wx.ID_ANY,**settings) self.SetFace(hListCtrl) self.SetFace(hListCtrl.GetMainWindow()) Add(self.sizer,hListCtrl,proportion,sizerFlag) _winxptheme.SetWindowTheme(win32api.SendMessage(hListCtrl.GetHandle(),0x101F,0,0),"","")#ヘッダーのウィンドウテーマを引っぺがす self.AddSpace(self.space) return hListCtrl
def Initialize(self, parent, ttl, style=wx.CAPTION | wx.SYSTEM_MENU | wx.BORDER_DEFAULT): """タイトルを指定して、ウィンドウを初期化し、親の中央に配置するように設定。""" self.wnd = wx.Dialog(parent, -1, ttl, style=style) _winxptheme.SetWindowTheme(self.wnd.GetHandle(), "", "") self.wnd.SetEscapeId(wx.ID_NONE) self.wnd.Bind(wx.EVT_CLOSE, self.OnClose) self.panel = wx.Panel(self.wnd, wx.ID_ANY) self.sizer = wx.BoxSizer(wx.VERTICAL) self.panel.SetSizer(self.sizer)
def Initialize(self, parent, ttl, style=wx.DEFAULT_DIALOG_STYLE): """タイトルを指定してウィンドウを初期化""" self.wnd = wx.Dialog(parent, -1, ttl, style=wx.CAPTION | wx.SYSTEM_MENU | wx.BORDER_DEFAULT | style) _winxptheme.SetWindowTheme(self.wnd.GetHandle(), "", "") self.wnd.Bind(wx.EVT_CLOSE, self.OnClose) self.panel = wx.Panel(self.wnd, wx.ID_ANY) self.sizer = wx.BoxSizer(wx.VERTICAL) self.panel.SetSizer(self.sizer)
def _setFace(self, target, mode=NORMAL): if mode == NORMAL: if self.mode & MODE_DARK == MODE_DARK: target.SetBackgroundColour("#000000") #背景色=黒 target.SetForegroundColour("#ffffff") #文字色=白 else: target.SetBackgroundColour("#ffffff") #背景色=白 target.SetForegroundColour("#000000") #文字色=黒 elif (mode == BUTTON_COLOUR): if self.mode & MODE_DARK == MODE_DARK: target.SetBackgroundColour("#444444") #背景色=灰色 target.SetForegroundColour("#ffffff") #文字色=白 #end skip target.SetThemeEnabled(False) _winxptheme.SetWindowTheme(target.GetHandle(), "", "") target.SetFont(self.font.GetFont())
def radiobox(self,text,items,event,dimension=0,orient=wx.VERTICAL): if orient==wx.VERTICAL: style=wx.RA_SPECIFY_COLS else: style=wx.RA_SPECIFY_ROWS hRadioBox=wx.RadioBox(self.parent,label=text, name=text, choices=items,majorDimension=dimension,style=style) hRadioBox.Bind(wx.EVT_RADIOBOX,event) self.SetFace(hRadioBox) #ラジオボタンのウィンドウハンドルを使ってテーマを無効に変更する ptr=falconHelper.findRadioButtons(self.parent.GetHandle()) s=ctypes.c_char_p(ptr).value.decode("UTF-8").split(",") for elem in s: _winxptheme.SetWindowTheme(int(elem),"","") falconHelper.releasePtr(ptr) Add(self.sizer,hRadioBox) self.AddSpace(self.space) return hRadioBox
def radiobox(self,text, items, event=None, dimension=0, orient=wx.VERTICAL, style=0, x=-1, sizerFlag=0, proportion=0,margin=5, enableTabFocus=True): if orient==wx.VERTICAL: style=wx.RA_SPECIFY_COLS | style else: style=wx.RA_SPECIFY_ROWS | style hRadioBox=self.winObject["radioBox"](self.parent,label=text, name=text, choices=items,majorDimension=dimension,style=style,size=(x,-1), enableTabFocus=enableTabFocus) hRadioBox.Bind(wx.EVT_RADIOBOX,event) self._setFace(hRadioBox) #ラジオボタンのウィンドウハンドルを使ってテーマを無効に変更する ptr=viewHelper.findRadioButtons(self.parent.GetHandle()) s=ctypes.c_char_p(ptr).value.decode("UTF-8").split(",") for elem in s: _winxptheme.SetWindowTheme(int(elem),"","") viewHelper.releasePtr(ptr) Add(self.sizer,hRadioBox,proportion,sizerFlag,margin) self.AddSpace() return hRadioBox
def Initialize(self, ttl, x, y, px, py, style=wx.DEFAULT_FRAME_STYLE, space=0): """タイトルとウィンドウサイズとポジションを指定して、ウィンドウを初期化する。""" self.hFrame = wx.Frame(None, wx.ID_ANY, ttl, size=(x, y), pos=(px, py), name=ttl, style=style) _winxptheme.SetWindowTheme(self.hFrame.GetHandle(), "", "") self.hFrame.Bind(wx.EVT_MOVE_END, self.events.WindowMove) self.hFrame.Bind(wx.EVT_SIZE, self.events.WindowResize) self.hFrame.Bind(wx.EVT_CLOSE, self.events.OnExit) self.MakePanel(space)