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 相关文章推荐
wxPython中文教程入门实例
Jun 09 Python
CentOS中使用virtualenv搭建python3环境
Jun 08 Python
Python3中的2to3转换工具使用示例
Jun 12 Python
实现python版本的按任意键继续/退出
Sep 26 Python
Python 限制线程的最大数量的方法(Semaphore)
Feb 22 Python
Python3利用print输出带颜色的彩色字体示例代码
Apr 08 Python
Django发送邮件功能实例详解
Sep 02 Python
matplotlib 曲线图 和 折线图 plt.plot()实例
Apr 17 Python
Tensorflow tf.nn.depthwise_conv2d如何实现深度卷积的
Apr 20 Python
在python中使用pyspark读写Hive数据操作
Jun 06 Python
记一次django内存异常排查及解决方法
Aug 07 Python
Python用Jira库来操作Jira
Dec 28 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 将excel导入mysql
2009/11/09 PHP
PHP下载远程图片并保存到本地方法总结
2016/01/22 PHP
微信自定义分享php代码分析
2016/11/24 PHP
JS 判断代码全收集
2009/04/28 Javascript
Array.prototype 的泛型应用分析
2010/04/30 Javascript
jQuery ul标签下拉菜单演示代码
2010/12/11 Javascript
Jquery知识点一 Jquery的ready和Dom的onload的区别
2011/01/15 Javascript
js写一个字符串转成驼峰的实例
2013/06/21 Javascript
jQuery ajax dataType值为text json探索分享
2013/09/23 Javascript
关注jquery技巧提高jquery技能(前端开发必学)
2015/11/02 Javascript
EasyUI布局 高度自适应
2016/06/04 Javascript
前端自动化开发之Node.js的环境搭建教程
2017/04/01 Javascript
React-intl 实现多语言的示例代码
2017/11/03 Javascript
Vue的路由动态重定向和导航守卫实例
2018/03/17 Javascript
js+SVG实现动态时钟效果
2018/07/14 Javascript
JS秒杀倒计时功能完整实例【使用jQuery3.1.1】
2019/09/03 jQuery
nodejs实现聊天机器人功能
2019/09/19 NodeJs
[59:48]LGD vs IG 2018国际邀请赛小组赛BO2 第一场 8.18
2018/08/19 DOTA
Python列表生成式与生成器操作示例
2018/08/01 Python
对Python3之进程池与回调函数的实例详解
2019/01/22 Python
python+pyqt5实现24点小游戏
2019/01/24 Python
python中利用matplotlib读取灰度图的例子
2019/12/07 Python
IWOOT美国:新奇的小玩意
2018/04/27 全球购物
日本订房网站,预订日本星级酒店/温泉旅馆:Relux(支持中文)
2020/01/03 全球购物
课前一分钟演讲稿
2014/08/26 职场文书
工伤事故赔偿协议书范文
2014/09/24 职场文书
2014年党务工作总结
2014/11/25 职场文书
地方课程教学计划
2015/01/19 职场文书
避暑山庄导游词
2015/02/04 职场文书
2015年电话销售工作总结范文
2015/04/20 职场文书
2015年消防工作总结
2015/04/24 职场文书
六一亲子活动感想
2015/08/07 职场文书
聘任书范文大全
2015/09/21 职场文书
MySQL官方导出工具mysqlpump的使用
2021/05/21 MySQL
Vue图片裁剪组件实例代码
2021/07/02 Vue.js
Java由浅入深通关抽象类与接口(上篇)
2022/04/26 Java/Android