from pywin.mfc import dialog, window import win32ui import win32con import win32api class Control(window.Wnd): """Generic control class""" def __init__ (self): window.Wnd.__init__(self, win32ui.CreateWnd ()) def OnPaint (self): dc, paintStruct = self.BeginPaint() self.DoPaint(dc) self.EndPaint(paintStruct) # def DoPaint (self, dc): # Override this! pass class RedBox (Control): def DoPaint (self, dc): dc.FillSolidRect (self.GetClientRect(), win32api.RGB(255,255,255)) def MakeDlgTemplate(): style = (win32con.WS_OVERLAPPEDWINDOW ) # win32con.DS_MODALFRAME | win32con.WS_OVERLAPPED | cs = (win32con.WS_CHILD | win32con.WS_VISIBLE) w = 464 h = 264 dlg = [["Toms box", (0, 0, w, h), style, None, (8, "MS Sans Serif")], ] # style2 = (win32con.DS_MODALFRAME | win32con.WS_POPUP | win32con.WS_CHILD | win32con.WS_VISIBLE | win32con.WS_CAPTION | win32con.WS_SYSMENU | win32con.DS_SETFONT) # dlg.append(["", (0, 0, w, h - 20), style2, None, (8, "MS Sans Serif")]) # s = win32con.WS_TABSTOP | cs # dlg.append([128,"",0,(w/2, h - 18, 50, 14), cs | win32con.DT_EDITCONTROL]) return dlg class TestPieDialog(dialog.Dialog): def OnInitDialog(self): rc = dialog.Dialog.OnInitDialog(self) def demo(modal=0): d = TestPieDialog (MakeDlgTemplate()) # d = RedBox(MakeDlgTemplate) if modal: d.DoModal() else: d.CreateWindow() if __name__=='__main__': demo(1)