[pywin32-checkins] pywin32/win32/Demos win32gui_demo.py,1.4,1.5
OLD project page for the Python extensions for Windows
Brought to you by:
mhammond
From: Roger U. <ru...@us...> - 2007-01-05 20:36:43
|
Update of /cvsroot/pywin32/pywin32/win32/Demos In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv14391/win32/Demos Modified Files: win32gui_demo.py Log Message: Add demo for GradientFill Index: win32gui_demo.py =================================================================== RCS file: /cvsroot/pywin32/pywin32/win32/Demos/win32gui_demo.py,v retrieving revision 1.4 retrieving revision 1.5 diff -C2 -d -r1.4 -r1.5 *** win32gui_demo.py 2 Jan 2007 08:06:26 -0000 1.4 --- win32gui_demo.py 5 Jan 2007 20:36:41 -0000 1.5 *************** *** 3,7 **** import win32gui, win32con, win32api ! import time, math def _MyCallback( hwnd, extra ): --- 3,7 ---- import win32gui, win32con, win32api ! import time, math, random def _MyCallback( hwnd, extra ): *************** *** 19,23 **** ! def OnPaint(hwnd, msg, wp, lp): dc, ps=win32gui.BeginPaint(hwnd) win32gui.SetGraphicsMode(dc, win32con.GM_ADVANCED) --- 19,23 ---- ! def OnPaint_1(hwnd, msg, wp, lp): dc, ps=win32gui.BeginPaint(hwnd) win32gui.SetGraphicsMode(dc, win32con.GM_ADVANCED) *************** *** 42,57 **** win32gui.EndPaint(hwnd, ps) return 0 ! def wndproc(hwnd, msg, wp, lp): ! if msg==win32con.WM_PAINT: ! return OnPaint(hwnd, msg, wp, lp) ! return win32gui.DefWindowProc(hwnd, msg, wp, lp) def TestSetWorldTransform(): wc = win32gui.WNDCLASS() ! wc.lpszClassName = 'test_win32gui' wc.style = win32con.CS_GLOBALCLASS|win32con.CS_VREDRAW | win32con.CS_HREDRAW wc.hbrBackground = win32con.COLOR_WINDOW+1 ! wc.lpfnWndProc=wndproc class_atom=win32gui.RegisterClass(wc) hwnd = win32gui.CreateWindow(class_atom,'Spin the Lobster!', --- 42,70 ---- win32gui.EndPaint(hwnd, ps) return 0 + wndproc_1={win32con.WM_PAINT:OnPaint_1} + + def OnPaint_2(hwnd, msg, wp, lp): + dc, ps=win32gui.BeginPaint(hwnd) + win32gui.SetGraphicsMode(dc, win32con.GM_ADVANCED) + l,t,r,b=win32gui.GetClientRect(hwnd) ! for x in xrange(25): ! vertices=( ! {'x':int(random.random()*r), 'y':int(random.random()*b), 'Red':int(random.random()*0xff00), 'Green':0, 'Blue':0, 'Alpha':0}, ! {'x':int(random.random()*r), 'y':int(random.random()*b), 'Red':0, 'Green':int(random.random()*0xff00), 'Blue':0, 'Alpha':0}, ! {'x':int(random.random()*r), 'y':int(random.random()*b), 'Red':0, 'Green':0, 'Blue':int(random.random()*0xff00), 'Alpha':0}, ! ) ! mesh=((0,1,2),) ! win32gui.GradientFill(dc,vertices, mesh, win32con.GRADIENT_FILL_TRIANGLE) ! win32gui.EndPaint(hwnd, ps) ! return 0 ! wndproc_2={win32con.WM_PAINT:OnPaint_2} def TestSetWorldTransform(): wc = win32gui.WNDCLASS() ! wc.lpszClassName = 'test_win32gui_1' wc.style = win32con.CS_GLOBALCLASS|win32con.CS_VREDRAW | win32con.CS_HREDRAW wc.hbrBackground = win32con.COLOR_WINDOW+1 ! wc.lpfnWndProc=wndproc_1 class_atom=win32gui.RegisterClass(wc) hwnd = win32gui.CreateWindow(class_atom,'Spin the Lobster!', *************** *** 65,71 **** --- 78,105 ---- win32gui.UnregisterClass(class_atom,None) + def TestGradientFill(): + wc = win32gui.WNDCLASS() + wc.lpszClassName = 'test_win32gui_2' + wc.style = win32con.CS_GLOBALCLASS|win32con.CS_VREDRAW | win32con.CS_HREDRAW + wc.hbrBackground = win32con.COLOR_WINDOW+1 + wc.lpfnWndProc=wndproc_2 + class_atom=win32gui.RegisterClass(wc) + hwnd = win32gui.CreateWindowEx(0, class_atom,'Kaleidoscope', + win32con.WS_CAPTION|win32con.WS_VISIBLE|win32con.WS_THICKFRAME|win32con.WS_SYSMENU, + 100,100,900,900, 0, 0, 0, None) + s=win32gui.GetWindowLong(hwnd,win32con.GWL_EXSTYLE) + win32gui.SetWindowLong(hwnd, win32con.GWL_EXSTYLE, s|win32con.WS_EX_LAYERED) + win32gui.SetLayeredWindowAttributes(hwnd, 0, 175, win32con.LWA_ALPHA) + for x in xrange(30): + win32gui.InvalidateRect(hwnd,None,True) + win32gui.PumpWaitingMessages() + time.sleep(0.3) + win32gui.DestroyWindow(hwnd) + win32gui.UnregisterClass(class_atom,None) + print "Enumerating all windows..." TestEnumWindows() print "Testing drawing functions ..." TestSetWorldTransform() + TestGradientFill() print "All tests done!" |