文章详情

  • 游戏榜单
  • 软件榜单
关闭导航
热搜榜
热门下载
热门标签
php爱好者> php文档>Custom Controls → TaskBarIcon

Custom Controls → TaskBarIcon

时间:2007-04-18  来源:wxPhoenix

Overview = """\   A taskbar icon is an icon that appears in the 'system tray' and responds to mouse clicks, optionally with a tooltip above it to help provide information.   Pay More Attention To Destroy-Operation Of TaskBarIcon!   """    
import wx
 
class TaskBarIcon(wx.TaskBarIcon):
 ID_Hello = wx.NewId()
 
 def __init__(self, frame):
  
  wx.TaskBarIcon.__init__(self)
  self.frame = frame
  self.SetIcon(wx.Icon(name='wxWidgets.ico', type=wx.BITMAP_TYPE_ICO), 'TaskBarIcon!')
  
  self.Bind(wx.EVT_TASKBAR_LEFT_DCLICK, self.OnTaskBarLeftDClick)
  self.Bind(wx.EVT_MENU, self.OnHello, id=self.ID_Hello)
  
  
 def OnTaskBarLeftDClick(self, event):
  if self.frame.IsIconized():
   self.frame.Iconize(False)
  if not self.frame.IsShown():
   self.frame.Show(True)
  self.frame.Raise()
  
 
 def OnHello(self, event):
  wx.MessageBox('Hello From TaskBarIcon!', 'Prompt')
  
  
 # override
 def CreatePopupMenu(self):
  menu = wx.Menu()
  menu.Append(self.ID_Hello, 'Hello')
  return menu
  
  
class Frame(wx.Frame):
 
 def __init__(
  self, parent=None, id=wx.ID_ANY, title='TaskBarIcon', pos=wx.DefaultPosition,
  size=wx.DefaultSize, style=wx.DEFAULT_FRAME_STYLE
  ):
  
  wx.Frame.__init__(self, parent, id, title, pos, size, style)
  # wx.Frame.SetIcon(wx.Icon('wxWidgets.ico', wx.BITMAP_TYPE_ICO))
  # The above line is invalid: method become callable after bounding to the instance
  self.SetIcon(wx.Icon('wxWidgets.ico', wx.BITMAP_TYPE_ICO))
  
  panel = wx.Panel(self, wx.ID_ANY)
  
  button  = wx.Button(panel, wx.ID_ANY, 'Hide Frame', pos=(60, 60))
  self.Bind(wx.EVT_BUTTON, self.OnHide, button)
  # button = wx.Button(panel, wx.ID_ANY, 'Close', pos=(60, 100))
  # self.Bind(wx.EVT_BUTTON, self.OnClose, button)
  self.Bind(wx.EVT_CLOSE, self.OnClose)
  
  
  self.Bind(wx.EVT_ICONIZE, self.OnIconfiy) # What is the meaning?
  
  self.taskBarIcon = TaskBarIcon(self)
    
  sizer = wx.BoxSizer()
  sizer.Add(button, 0)
  panel.SetSizer(sizer)
  
  
 def OnHide(self, event):
  self.Hide()
  
  
 def OnIconfiy(self, event):
  wx.MessageBox('Frame has been iconized!', 'Prompt')
  event.Skip()
 
 
 def OnClose(self, event):
  self.taskBarIcon.Destroy()
  self.Destroy()
  
  
def TestFrame():
 app = wx.PySimpleApp()
 frame = Frame(size=(640, 480))
 frame.Centre()
 frame.Show()
 app.MainLoop()
 
 
if __name__ == '__main__':
 TestFrame()
相关阅读 更多 +
排行榜 更多 +
辰域智控app

辰域智控app

系统工具 下载
网医联盟app

网医联盟app

运动健身 下载
汇丰汇选App

汇丰汇选App

金融理财 下载