您的当前位置:首页正文

Python处理菜单消息操作示例

2020-11-27 来源:步旅网

这篇文章主要介绍了Python处理菜单消息操作,结合实例形式分析了Python基于win32ui模块实现菜单的创建及菜单项响应相关操作技巧,需要的朋友可以参考下

本文实例讲述了Python处理菜单消息操作。分享给大家供大家参考,具体如下:

一、代码

# -*- 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.gxlcms.com - 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

显示全文