[pywin32-checkins] pywin32/win32/Demos win32gui_taskbar.py, 1.9.2.1, 1.9.2.2
OLD project page for the Python extensions for Windows
Brought to you by:
mhammond
From: Roger U. <ru...@us...> - 2008-09-11 05:12:31
|
Update of /cvsroot/pywin32/pywin32/win32/Demos In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv24548 Modified Files: Tag: py3k win32gui_taskbar.py Log Message: Removie import *, change to work in py3k Index: win32gui_taskbar.py =================================================================== RCS file: /cvsroot/pywin32/pywin32/win32/Demos/win32gui_taskbar.py,v retrieving revision 1.9.2.1 retrieving revision 1.9.2.2 diff -C2 -d -r1.9.2.1 -r1.9.2.2 *** win32gui_taskbar.py 29 Aug 2008 04:59:23 -0000 1.9.2.1 --- win32gui_taskbar.py 11 Sep 2008 05:12:41 -0000 1.9.2.2 *************** *** 1,12 **** # Creates a task-bar icon. Run from Python.exe to see the # messages printed. ! from win32api import * ! from win32gui import * ! import win32con import sys, os class MainWindow: def __init__(self): ! msg_TaskbarRestart = RegisterWindowMessage("TaskbarCreated"); message_map = { msg_TaskbarRestart: self.OnRestart, --- 1,11 ---- # Creates a task-bar icon. Run from Python.exe to see the # messages printed. ! import win32api, win32gui ! import win32con, winerror import sys, os class MainWindow: def __init__(self): ! msg_TaskbarRestart = win32gui.RegisterWindowMessage("TaskbarCreated"); message_map = { msg_TaskbarRestart: self.OnRestart, *************** *** 16,37 **** } # Register the Window class. ! wc = WNDCLASS() ! hinst = wc.hInstance = GetModuleHandle(None) wc.lpszClassName = "PythonTaskbarDemo" wc.style = win32con.CS_VREDRAW | win32con.CS_HREDRAW; ! wc.hCursor = LoadCursor( 0, win32con.IDC_ARROW ) wc.hbrBackground = win32con.COLOR_WINDOW wc.lpfnWndProc = message_map # could also specify a wndproc. ! classAtom = RegisterClass(wc) # Create the Window. style = win32con.WS_OVERLAPPED | win32con.WS_SYSMENU ! self.hwnd = CreateWindow( classAtom, "Taskbar Demo", style, \ 0, 0, win32con.CW_USEDEFAULT, win32con.CW_USEDEFAULT, \ 0, 0, hinst, None) ! UpdateWindow(self.hwnd) self._DoCreateIcons() def _DoCreateIcons(self): # Try and find a custom icon ! hinst = GetModuleHandle(None) iconPathName = os.path.abspath(os.path.join( os.path.split(sys.executable)[0], "pyc.ico" )) if not os.path.isfile(iconPathName): --- 15,44 ---- } # Register the Window class. ! wc = win32gui.WNDCLASS() ! hinst = wc.hInstance = win32api.GetModuleHandle(None) wc.lpszClassName = "PythonTaskbarDemo" wc.style = win32con.CS_VREDRAW | win32con.CS_HREDRAW; ! wc.hCursor = win32api.LoadCursor( 0, win32con.IDC_ARROW ) wc.hbrBackground = win32con.COLOR_WINDOW wc.lpfnWndProc = message_map # could also specify a wndproc. ! ! # Don't blow up if class aready registered to make testing easier ! try: ! classAtom = win32gui.RegisterClass(wc) ! except win32gui.error as err_info: ! if err_info.args[0]!=winerror.ERROR_CLASS_ALREADY_EXISTS: ! raise ! # Create the Window. style = win32con.WS_OVERLAPPED | win32con.WS_SYSMENU ! self.hwnd = win32gui.CreateWindow( wc.lpszClassName, "Taskbar Demo", style, \ 0, 0, win32con.CW_USEDEFAULT, win32con.CW_USEDEFAULT, \ 0, 0, hinst, None) ! win32gui.UpdateWindow(self.hwnd) self._DoCreateIcons() + def _DoCreateIcons(self): # Try and find a custom icon ! hinst = win32api.GetModuleHandle(None) iconPathName = os.path.abspath(os.path.join( os.path.split(sys.executable)[0], "pyc.ico" )) if not os.path.isfile(iconPathName): *************** *** 46,56 **** else: print("Can't find a Python icon file - using default") ! hicon = LoadIcon(0, win32con.IDI_APPLICATION) ! flags = NIF_ICON | NIF_MESSAGE | NIF_TIP nid = (self.hwnd, 0, flags, win32con.WM_USER+20, hicon, "Python Demo") try: ! Shell_NotifyIcon(NIM_ADD, nid) ! except error: # This is common when windows is starting, and this code is hit # before the taskbar has been created. --- 53,63 ---- else: print("Can't find a Python icon file - using default") ! hicon = win32gui.LoadIcon(0, win32con.IDI_APPLICATION) ! flags = win32gui.NIF_ICON | win32gui.NIF_MESSAGE | win32gui.NIF_TIP nid = (self.hwnd, 0, flags, win32con.WM_USER+20, hicon, "Python Demo") try: ! win32gui.Shell_NotifyIcon(win32gui.NIM_ADD, nid) ! except win32gui.error: # This is common when windows is starting, and this code is hit # before the taskbar has been created. *************** *** 64,69 **** def OnDestroy(self, hwnd, msg, wparam, lparam): nid = (self.hwnd, 0) ! Shell_NotifyIcon(NIM_DELETE, nid) ! PostQuitMessage(0) # Terminate the app. def OnTaskbarNotify(self, hwnd, msg, wparam, lparam): --- 71,76 ---- def OnDestroy(self, hwnd, msg, wparam, lparam): nid = (self.hwnd, 0) ! win32gui.Shell_NotifyIcon(win32gui.NIM_DELETE, nid) ! win32gui.PostQuitMessage(0) # Terminate the app. def OnTaskbarNotify(self, hwnd, msg, wparam, lparam): *************** *** 72,93 **** elif lparam==win32con.WM_LBUTTONDBLCLK: print("You double-clicked me - goodbye") ! DestroyWindow(self.hwnd) elif lparam==win32con.WM_RBUTTONUP: print("You right clicked me.") ! menu = CreatePopupMenu() ! AppendMenu( menu, win32con.MF_STRING, 1023, "Display Dialog") ! AppendMenu( menu, win32con.MF_STRING, 1024, "Say Hello") ! AppendMenu( menu, win32con.MF_STRING, 1025, "Exit program" ) ! pos = GetCursorPos() # See http://msdn.microsoft.com/library/default.asp?url=/library/en-us/winui/menus_0hdi.asp ! SetForegroundWindow(self.hwnd) ! TrackPopupMenu(menu, win32con.TPM_LEFTALIGN, pos[0], pos[1], 0, self.hwnd, None) ! PostMessage(self.hwnd, win32con.WM_NULL, 0, 0) return 1 def OnCommand(self, hwnd, msg, wparam, lparam): ! id = LOWORD(wparam) if id == 1023: ! from . import win32gui_dialog win32gui_dialog.DemoModal() elif id == 1024: --- 79,100 ---- elif lparam==win32con.WM_LBUTTONDBLCLK: print("You double-clicked me - goodbye") ! win32gui.DestroyWindow(self.hwnd) elif lparam==win32con.WM_RBUTTONUP: print("You right clicked me.") ! menu = win32gui.CreatePopupMenu() ! win32gui.AppendMenu( menu, win32con.MF_STRING, 1023, "Display Dialog") ! win32gui.AppendMenu( menu, win32con.MF_STRING, 1024, "Say Hello") ! win32gui.AppendMenu( menu, win32con.MF_STRING, 1025, "Exit program" ) ! pos = win32gui.GetCursorPos() # See http://msdn.microsoft.com/library/default.asp?url=/library/en-us/winui/menus_0hdi.asp ! win32gui.SetForegroundWindow(self.hwnd) ! win32gui.TrackPopupMenu(menu, win32con.TPM_LEFTALIGN, pos[0], pos[1], 0, self.hwnd, None) ! win32gui.PostMessage(self.hwnd, win32con.WM_NULL, 0, 0) return 1 def OnCommand(self, hwnd, msg, wparam, lparam): ! id = win32api.LOWORD(wparam) if id == 1023: ! import win32gui_dialog win32gui_dialog.DemoModal() elif id == 1024: *************** *** 95,99 **** elif id == 1025: print("Goodbye") ! DestroyWindow(self.hwnd) else: print("Unknown command -", id) --- 102,106 ---- elif id == 1025: print("Goodbye") ! win32gui.DestroyWindow(self.hwnd) else: print("Unknown command -", id) *************** *** 101,105 **** def main(): w=MainWindow() ! PumpMessages() if __name__=='__main__': --- 108,112 ---- def main(): w=MainWindow() ! win32gui.PumpMessages() if __name__=='__main__': |