git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@19793 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
		
			
				
	
	
		
			81 lines
		
	
	
		
			1.9 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
			
		
		
	
	
			81 lines
		
	
	
		
			1.9 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
#!/usr/bin/env python
 | 
						|
 | 
						|
from wxPython.wx import *
 | 
						|
from wxScrolledWindow import MyCanvas
 | 
						|
 | 
						|
import images
 | 
						|
SHOW_BACKGROUND = 1
 | 
						|
 | 
						|
#----------------------------------------------------------------------
 | 
						|
 | 
						|
class MyParentFrame(wxMDIParentFrame):
 | 
						|
    def __init__(self):
 | 
						|
        wxMDIParentFrame.__init__(self, None, -1, "MDI Parent", size=(600,400))
 | 
						|
 | 
						|
        self.winCount = 0
 | 
						|
        menu = wxMenu()
 | 
						|
        menu.Append(5000, "&New Window")
 | 
						|
        menu.AppendSeparator()
 | 
						|
        menu.Append(5001, "E&xit")
 | 
						|
 | 
						|
        menubar = wxMenuBar()
 | 
						|
        menubar.Append(menu, "&File")
 | 
						|
        self.SetMenuBar(menubar)
 | 
						|
 | 
						|
        self.CreateStatusBar()
 | 
						|
 | 
						|
        EVT_MENU(self, 5000, self.OnNewWindow)
 | 
						|
        EVT_MENU(self, 5001, self.OnExit)
 | 
						|
 | 
						|
        if SHOW_BACKGROUND:
 | 
						|
            self.bg_bmp = images.getGridBGBitmap()
 | 
						|
            EVT_ERASE_BACKGROUND(self.GetClientWindow(), self.OnEraseBackground)
 | 
						|
 | 
						|
 | 
						|
    def OnExit(self, evt):
 | 
						|
        self.Close(True)
 | 
						|
 | 
						|
 | 
						|
    def OnNewWindow(self, evt):
 | 
						|
        self.winCount = self.winCount + 1
 | 
						|
        win = wxMDIChildFrame(self, -1, "Child Window: %d" % self.winCount)
 | 
						|
        canvas = MyCanvas(win)
 | 
						|
        win.Show(True)
 | 
						|
 | 
						|
 | 
						|
    def OnEraseBackground(self, evt):
 | 
						|
        dc = evt.GetDC()
 | 
						|
        if not dc:
 | 
						|
            dc = wxClientDC(self.GetClientWindow())
 | 
						|
 | 
						|
        # tile the background bitmap
 | 
						|
        sz = self.GetClientSize()
 | 
						|
        w = self.bg_bmp.GetWidth()
 | 
						|
        h = self.bg_bmp.GetHeight()
 | 
						|
        x = 0
 | 
						|
        while x < sz.width:
 | 
						|
            y = 0
 | 
						|
            while y < sz.height:
 | 
						|
                dc.DrawBitmap(self.bg_bmp, x, y)
 | 
						|
                y = y + h
 | 
						|
            x = x + w
 | 
						|
 | 
						|
 | 
						|
#----------------------------------------------------------------------
 | 
						|
 | 
						|
if __name__ == '__main__':
 | 
						|
    class MyApp(wxApp):
 | 
						|
        def OnInit(self):
 | 
						|
            wxInitAllImageHandlers()
 | 
						|
            frame = MyParentFrame()
 | 
						|
            frame.Show(True)
 | 
						|
            self.SetTopWindow(frame)
 | 
						|
            return True
 | 
						|
 | 
						|
 | 
						|
    app = MyApp(0)
 | 
						|
    app.MainLoop()
 | 
						|
 | 
						|
 | 
						|
 |