Python处理菜单消息操作示例【基于win32ui模块】


Posted in Python onMay 09, 2018

本文实例讲述了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),\
                 '3water.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)

二、运行效果:

Python处理菜单消息操作示例【基于win32ui模块】

注:win32ui模块的安装可直接使用pip命令,如下:

pip install pypiwin32

希望本文所述对大家Python程序设计有所帮助。

Python 相关文章推荐
python在windows和linux下获得本机本地ip地址方法小结
Mar 20 Python
Python计算一个文件里字数的方法
Jun 15 Python
详解Django缓存处理中Vary头部的使用
Jul 24 Python
Django视图之ORM数据库查询操作API的实例
Oct 27 Python
PyCharm代码回滚,恢复历史版本的解决方法
Oct 22 Python
python批量下载网站马拉松照片的完整步骤
Dec 05 Python
Pandas之Dropna滤除缺失数据的实现方法
Jun 25 Python
python实现多进程按序号批量修改文件名的方法示例
Dec 30 Python
django model object序列化实例
Mar 13 Python
python可迭代对象去重实例
May 15 Python
mac系统下安装pycharm、永久激活、中文汉化详细教程
Nov 24 Python
python plt.plot bar 如何设置绘图尺寸大小
Jun 01 Python
Python创建普通菜单示例【基于win32ui模块】
May 09 #Python
Python使用Windows API创建窗口示例【基于win32gui模块】
May 09 #Python
Python基于win32ui模块创建弹出式菜单示例
May 09 #Python
numpy中的delete删除数组整行和整列的实例
May 09 #Python
java中两个byte数组实现合并的示例
May 09 #Python
Python 使用PIL numpy 实现拼接图片的示例
May 08 #Python
如何实现删除numpy.array中的行或列
May 08 #Python
You might like
杏林同学录(四)
2006/10/09 PHP
坏狼的PHP学习教程之第1天
2008/06/15 PHP
PHP中strncmp()函数比较两个字符串前2个字符是否相等的方法
2016/01/07 PHP
PHP高精确度运算BC函数库实例详解
2017/08/15 PHP
thinkphp5 URL和路由的功能详解与实例
2017/12/26 PHP
PHP copy函数使用案例代码解析
2020/09/01 PHP
Ext对基本类型的扩展 ext,extjs,format
2010/12/25 Javascript
JSON+JavaScript处理JSON的简单例子
2013/03/20 Javascript
js实现div的切换特效上一个下一个
2014/02/11 Javascript
浅析JavaScript动画
2015/06/10 Javascript
jQuery实现下拉框功能实例代码
2016/05/06 Javascript
Bootstrap编写一个在当前网页弹出可关闭的对话框 非弹窗
2016/06/30 Javascript
js实现做通讯录的索引滑动显示效果和滑动显示锚点效果
2017/02/18 Javascript
利用JS制作万年历的方法
2017/08/16 Javascript
jquery一键控制checkbox全选、反选或全不选
2017/10/16 jQuery
vue axios 表单提交上传图片的实例
2018/03/16 Javascript
js实现图片推拉门效果代码实例
2019/05/18 Javascript
VUE的history模式下除了index外其他路由404报错解决办法
2019/08/21 Javascript
ES6 Object.assign()的用法及其使用
2020/01/18 Javascript
[01:06:59]完美世界DOTA2联赛PWL S2 Magma vs FTD 第一场 11.29
2020/12/02 DOTA
图文讲解选择排序算法的原理及在Python中的实现
2016/05/04 Python
Python处理PDF及生成多层PDF实例代码
2017/04/24 Python
Python实现读取并保存文件的类
2017/05/11 Python
Python numpy 提取矩阵的某一行或某一列的实例
2018/04/03 Python
pycharm通过anaconda安装pyqt5的教程
2020/03/24 Python
css3绘制百度的小度熊
2018/10/29 HTML / CSS
CSS3媒体查询(Media Queries)介绍
2013/09/12 HTML / CSS
AmazeUI 加载进度条的实现示例
2020/08/20 HTML / CSS
卡骆驰英国官网:Crocs英国
2019/08/22 全球购物
十月份红领巾广播稿
2014/01/22 职场文书
个人债务授权委托书
2014/10/17 职场文书
2014年社区民政工作总结
2014/12/02 职场文书
慰问信模板
2015/02/14 职场文书
2015年信息技术教研组工作总结
2015/07/22 职场文书
IDEA使用SpringAssistant插件创建SpringCloud项目
2021/06/23 Java/Android
MySQL数据库10秒内插入百万条数据的实现
2021/11/01 MySQL