12345678910111213141516171819202122232425262728293031323334353637383940414243444546 |
- # dlgappdemo - a demo of a dialog application.
- # This is a demonstration of both a custom "application" module,
- # and a Python program in a dialog box.
- #
- # NOTE: You CAN NOT import this module from either PythonWin or Python.
- # This module must be specified on the commandline to PythonWin only.
- # eg, PythonWin /app dlgappdemo.py
- from pywin.framework import dlgappcore, app
- import win32ui
- import sys
- class TestDialogApp(dlgappcore.DialogApp):
- def CreateDialog(self):
- return TestAppDialog()
-
- class TestAppDialog(dlgappcore.AppDialog):
- def __init__(self):
- self.edit = None
- dlgappcore.AppDialog.__init__(self, win32ui.IDD_LARGE_EDIT)
- def OnInitDialog(self):
- self.SetWindowText('Test dialog application')
- self.edit = self.GetDlgItem(win32ui.IDC_EDIT1)
- print("Hello from Python")
- print("args are:", end=' ')
- for arg in sys.argv:
- print(arg)
- return 1
- def PreDoModal(self):
- sys.stdout = sys.stderr = self
- def write(self, str):
- if self.edit:
- self.edit.SetSel(-2)
- # translate \n to \n\r
- self.edit.ReplaceSel(str.replace('\n','\r\n'))
- else:
- win32ui.OutputDebug("dlgapp - no edit control! >>\n%s\n<<\n" % str )
- app.AppBuilder = TestDialogApp
- if __name__=='__main__':
- import demoutils
- demoutils.NeedApp()
|