怎么在Python中使用win32ui模块处理菜单消息?很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。
一、代码
# -*- coding:utf-8 -*-
#! python3
import win32ui
import win32api
from win32con import *
from pywin.mfc import window
class MyWnd(window.Wnd):
def __init__ (self):
window.Wnd.__init__(self,win32ui.CreateWnd())
self._obj_.CreateWindowEx(WS_EX_CLIENTEDGE,\
win32ui.RegisterWndClass(0,0,COLOR_WINDOW+1),\
'www.jb51.net - MFC GUI',WS_OVERLAPPEDWINDOW,\
(10,10,800,500),None,0,None)
submenu = win32ui.CreateMenu()
menu = win32ui.CreateMenu()
submenu.AppendMenu(MF_STRING,1051,'&Open')
submenu.AppendMenu(MF_STRING,1052,'&Close')
submenu.AppendMenu(MF_STRING,1053,'&Save')
menu.AppendMenu(MF_STRING|MF_POPUP,submenu.GetHandle(),'&File')
self._obj_.SetMenu(menu)
self.HookCommand(self.MenuClick,1051)
self.HookCommand(self.MenuClick,1052)
self.HookCommand(self.MenuClick,1053)
def OnClose(self):
self.EndModalLoop(0)
def MenuClick(self,lParam,wParam):
if lParam == 1051:
self.MessageBox('Open','Python',MB_OK)
elif lParam == 1053:
self.MessageBox('Sava','python',MB_OK)
else:
self.OnClose()
w = MyWnd()
w.ShowWindow()
w.UpdateWindow()
w.RunModalLoop(1)
二、运行效果:
注:win32ui模块的安装可直接使用pip
命令,如下:
pip install pypiwin32
看完上述内容是否对您有帮助呢?如果还想对相关知识有进一步的了解或阅读更多相关文章,请关注天达云行业资讯频道,感谢您对天达云的支持。