[pywin32-checkins] pywin32/win32/Demos win32gui_dialog.py,1.6,1.7
OLD project page for the Python extensions for Windows
Brought to you by:
mhammond
From: Roger U. <ru...@us...> - 2007-01-04 08:30:35
|
Update of /cvsroot/pywin32/pywin32/win32/Demos In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv9499/win32/Demos Modified Files: win32gui_dialog.py Log Message: Load icon from executable since py.ico went away in 2.5 Catch error if class already registered Index: win32gui_dialog.py =================================================================== RCS file: /cvsroot/pywin32/pywin32/win32/Demos/win32gui_dialog.py,v retrieving revision 1.6 retrieving revision 1.7 diff -C2 -d -r1.6 -r1.7 *** win32gui_dialog.py 12 Apr 2005 03:33:46 -0000 1.6 --- win32gui_dialog.py 4 Jan 2007 08:30:33 -0000 1.7 *************** *** 21,25 **** import winxpgui as win32gui import win32api ! import win32con import struct, array import commctrl --- 21,25 ---- import winxpgui as win32gui import win32api ! import win32con, winerror import struct, array import commctrl *************** *** 35,48 **** WM_SEARCH_FINISHED = win32con.WM_USER + 513 - g_registeredClass = 0 - - g_iconPathName = os.path.abspath(os.path.join( os.path.split(sys.executable)[0], "pyc.ico" )) - if not os.path.isfile(g_iconPathName): - # Look in the source tree. - g_iconPathName = os.path.abspath(os.path.join( os.path.split(sys.executable)[0], "..\\PC\\pyc.ico" )) - if not os.path.isfile(g_iconPathName): - print "Can't find the icon file" - g_iconPathName = None - class _WIN32MASKEDSTRUCT: def __init__(self, **kw): --- 35,38 ---- *************** *** 128,148 **** def _RegisterWndClass(self): className = "PythonDocSearch" ! global g_registeredClass ! if not g_registeredClass: ! message_map = {} ! wc = win32gui.WNDCLASS() ! wc.SetDialogProc() # Make it a dialog class. ! wc.hInstance = self.hinst ! wc.lpszClassName = className ! wc.style = win32con.CS_VREDRAW | win32con.CS_HREDRAW ! wc.hCursor = win32gui.LoadCursor( 0, win32con.IDC_ARROW ) ! wc.hbrBackground = win32con.COLOR_WINDOW + 1 ! wc.lpfnWndProc = message_map # could also specify a wndproc. ! # C code: wc.cbWndExtra = DLGWINDOWEXTRA + sizeof(HBRUSH) + (sizeof(COLORREF)); ! wc.cbWndExtra = win32con.DLGWINDOWEXTRA + struct.calcsize("Pi") ! icon_flags = win32con.LR_LOADFROMFILE | win32con.LR_DEFAULTSIZE ! wc.hIcon = win32gui.LoadImage(self.hinst, g_iconPathName, win32con.IMAGE_ICON, 0, 0, icon_flags) classAtom = win32gui.RegisterClass(wc) ! g_registeredClass = 1 return className --- 118,145 ---- def _RegisterWndClass(self): className = "PythonDocSearch" ! message_map = {} ! wc = win32gui.WNDCLASS() ! wc.SetDialogProc() # Make it a dialog class. ! wc.hInstance = self.hinst ! wc.lpszClassName = className ! wc.style = win32con.CS_VREDRAW | win32con.CS_HREDRAW ! wc.hCursor = win32gui.LoadCursor( 0, win32con.IDC_ARROW ) ! wc.hbrBackground = win32con.COLOR_WINDOW + 1 ! wc.lpfnWndProc = message_map # could also specify a wndproc. ! # C code: wc.cbWndExtra = DLGWINDOWEXTRA + sizeof(HBRUSH) + (sizeof(COLORREF)); ! wc.cbWndExtra = win32con.DLGWINDOWEXTRA + struct.calcsize("Pi") ! icon_flags = win32con.LR_LOADFROMFILE | win32con.LR_DEFAULTSIZE ! ! ## py.ico went away in python 2.5, load from executable instead ! this_app=win32api.GetModuleHandle(None) ! try: ! wc.hIcon=win32gui.LoadIcon(this_app, 1) ## python.exe and pythonw.exe ! except win32gui.error: ! wc.hIcon=win32gui.LoadIcon(this_app, 135) ## pythonwin's icon ! try: classAtom = win32gui.RegisterClass(wc) ! except win32gui.error, err_info: ! if err_info[0]!=winerror.ERROR_CLASS_ALREADY_EXISTS: ! raise return className |