da ich ein Programm erweitern soll, dessen GUI mit Pywin erzeugt wurde, versuche ich mich gerade in die Materie einzuarbeiten. Mittlerweile habe ich herausgefunden, wie man Fenster, z.B. Dialoge erstellt und anzeigt. Leider gelingt es mir nicht, die eingefügten Controls (z.B. Buttons) auch zu nutzen.
Im Folgenden ein Minimalbeispiel eines Dialogs mit einem einzelnen Knopf:
Code: Alles auswählen
from pywin.mfc import dialog
import win32ui
import win32con
def MakeDlgTemplate():
style = (win32con.DS_MODALFRAME |
win32con.WS_POPUP |
win32con.WS_VISIBLE |
win32con.WS_CAPTION |
win32con.WS_SYSMENU |
win32con.DS_SETFONT)
cs = (win32con.WS_CHILD |
win32con.WS_VISIBLE)
dlg = [["Button Test",
(0, 0, 90, 30),
style,
None,
(8, "MS Sans Serif")],
]
return dlg
class TestDialog(dialog.Dialog):
def OnInitDialog(self):
rc = dialog.Dialog.OnInitDialog(self)
self.pbutton = win32ui.CreateButton()
self.pbutton.CreateWindow("TestButton", win32con.BS_PUSHBUTTON | win32con.WS_VISIBLE , (10, 10, 120, 35), self, win32ui.IDC_BUTTON1)
self.HookCommand(self.onButton(), win32ui.IDC_BUTTON1)
return rc
def onButton(self):
print "Button pushed!"
def demo():
d = TestDialog (MakeDlgTemplate())
d.DoModal()
if __name__=='__main__':
demo()
Hat jemand von euch eine Idee, was ich hier falsch gemacht habe?
Vielen Dank im Voraus und beste Grüße,
jochbein