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+MongoDB自增键值的简单实现
Nov 04 Python
Python+tkinter模拟“记住我”自动登录实例代码
Jan 16 Python
CentOS 7下安装Python3.6 及遇到的问题小结
Nov 08 Python
在Python中通过getattr获取对象引用的方法
Jan 21 Python
提升Python效率之使用循环机制代替递归函数
Jul 23 Python
Python 调用 Windows API COM 新法
Aug 22 Python
浅析Python语言自带的数据结构有哪些
Aug 27 Python
Python 动态导入对象,importlib.import_module()的使用方法
Aug 28 Python
python中如何使用insert函数
Jan 09 Python
使用jupyter Nodebook查看函数或方法的参数以及使用情况
Apr 14 Python
Python基于当前时间批量创建文件
May 07 Python
Lombok插件安装(IDEA)及配置jar包使用详解
Nov 04 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
PHP Header用于页面跳转要注意的几个问题总结
2008/10/03 PHP
php开启与关闭错误提示适用于没有修改php.ini的权限
2014/10/16 PHP
PHP编程基本语法快速入门手册
2016/01/07 PHP
基于PHP-FPM进程池探秘
2017/10/17 PHP
PHP使用CURL实现下载文件功能示例
2019/06/03 PHP
PHP面向对象程序设计重载(overloading)操作详解
2019/06/13 PHP
laravel Validator ajax返回错误信息的方法
2019/09/29 PHP
如何取得中文输入的真实长度?
2006/06/24 Javascript
jQuery AJAX回调函数this指向问题
2010/02/08 Javascript
js下写一个事件队列操作函数
2010/07/19 Javascript
jQuery前端框架easyui使用Dialog时bug处理
2014/12/05 Javascript
JS+DIV+CSS排版布局实现美观的选项卡效果
2015/10/10 Javascript
Javascript中的对象和原型(二)
2016/08/12 Javascript
Angularjs在360兼容模式下取数据缓存问题的解决办法
2017/06/22 Javascript
IntersectionObserver实现图片懒加载的示例
2017/09/29 Javascript
vue循环数组改变点击文字的颜色
2019/10/14 Javascript
Json实现传值到后台代码实例
2020/06/30 Javascript
使用grappelli为django admin后台添加模板
2014/11/18 Python
给Python IDLE加上自动补全和历史功能
2014/11/30 Python
在Python中操作字符串之rstrip()方法的使用
2015/05/19 Python
Windows中使用wxPython和py2exe开发Python的GUI程序的实例教程
2016/07/11 Python
python框架中flask知识点总结
2018/08/17 Python
python实时获取外部程序输出结果的方法
2019/01/12 Python
Django上线部署之IIS的配置方法
2019/08/22 Python
pytorch使用 to 进行类型转换方式
2020/01/08 Python
tensorflow之tf.record实现存浮点数数组
2020/02/17 Python
解决python3中os.popen()出错的问题
2020/11/19 Python
HTML5实现文件断点续传的方法
2017/01/04 HTML / CSS
人力资源职位说明书
2014/07/29 职场文书
扶贫办主任查摆“四风”问题个人对照检查材料思想汇报
2014/10/02 职场文书
考试作弊检讨书1000字(5篇)
2014/10/19 职场文书
出国导师推荐信
2015/03/25 职场文书
酒店员工管理制度
2015/08/05 职场文书
2016见义勇为事迹材料汇总
2016/03/01 职场文书
七年级作文之我的梦想
2019/10/16 职场文书
导游词之泰山玉皇顶
2019/12/23 职场文书