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 multiprocessing.Manager介绍和实例(进程间共享数据)
Nov 21 Python
pygame播放音乐的方法
May 19 Python
Python基于PyGraphics包实现图片截取功能的方法
Dec 21 Python
python 根据时间来生成唯一的字符串方法
Jan 14 Python
使用TensorFlow实现简单线性回归模型
Jul 19 Python
python 下 CMake 安装配置 OPENCV 4.1.1的方法
Sep 30 Python
使用Python的Turtle绘制哆啦A梦实例
Nov 21 Python
解决Tensorboard 不显示计算图graph的问题
Feb 15 Python
python如何输出反斜杠
Jun 18 Python
基于django2.2连oracle11g解决版本冲突的问题
Jul 02 Python
如何利用Python写个坦克大战
Nov 18 Python
Windows安装Anaconda3的方法及使用过程详解
Jun 11 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
POSIX 风格和兼容 Perl 风格两种正则表达式主要函数的类比(preg_match, preg_replace, ereg, ereg_replace)
2010/10/12 PHP
php中判断字符串是否全是中文或含有中文的实现代码
2011/09/16 PHP
PHP 年龄计算函数(精确到天)
2012/06/07 PHP
真正根据utf8编码的规律来进行截取字符串的函数(utf8版sub_str )
2012/10/24 PHP
合格的PHP程序员必备技能
2015/11/13 PHP
Yii列表定义与使用分页方法小结(3种方法)
2016/07/15 PHP
php use和include区别总结
2019/10/13 PHP
javascript常用对话框小集
2013/09/13 Javascript
动态显示可输入的字数提示还可以输入的字数
2014/04/01 Javascript
node.js中的fs.unlink方法使用说明
2014/12/15 Javascript
jQuery实现3D文字特效的方法
2015/03/10 Javascript
Javascript函数的参数
2015/07/16 Javascript
jquery实现经典的淡入淡出选项卡效果代码
2015/09/22 Javascript
浅谈javascript中replace()方法
2015/11/10 Javascript
特殊日期提示功能的实现方法
2016/06/16 Javascript
JavaScript选取(picking)和反选(rejecting)对象的属性方法
2017/08/16 Javascript
微信小程序的生命周期的详解
2017/10/19 Javascript
解决select2在bootstrap modal中不能正常使用的问题
2018/08/09 Javascript
vue实现商品加减计算总价的实例代码
2018/08/12 Javascript
详解vuex状态管理模式
2018/11/01 Javascript
mockjs+vue页面直接展示数据的方法
2018/12/19 Javascript
微信小程序登录数据解密及状态维持实例详解
2019/05/06 Javascript
深入了解JavaScript代码覆盖
2019/06/13 Javascript
详解Webpack如何引入CDN链接来优化编译后的体积
2019/06/21 Javascript
layui 上传图片 返回图片地址的方法
2019/09/26 Javascript
JS+CSS实现随机点名(实例代码)
2019/11/04 Javascript
Vue2.4+新增属性.sync、$attrs、$listeners的具体使用
2020/03/08 Javascript
[01:10]DOTA2次级职业联赛 - Fly战队宣传片
2014/12/01 DOTA
总结Python编程中函数的使用要点
2016/03/20 Python
Python使用logging结合decorator模式实现优化日志输出的方法
2016/04/16 Python
CSS3实现瀑布流布局与无限加载图片相册的实例代码
2016/12/22 HTML / CSS
教师评优的个人自我评价分享
2013/09/19 职场文书
情侣吵架检讨书
2014/02/05 职场文书
跑操口号
2014/06/12 职场文书
2015年少先队活动总结
2015/03/25 职场文书
高中美术教学反思
2016/02/17 职场文书