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计算最小优先级队列代码分享
Dec 18 Python
python生成式的send()方法(详解)
May 08 Python
详解Python开发中如何使用Hook技巧
Nov 01 Python
python中pylint使用方法(pylint代码检查)
Apr 06 Python
解决Django数据库makemigrations有变化但是migrate时未变动问题
May 30 Python
Python实用技巧之列表、字典、集合中根据条件筛选数据详解
Jul 11 Python
Python get获取页面cookie代码实例
Sep 12 Python
用Python实现数据的透视表的方法
Nov 16 Python
Python 使用多属性来进行排序
Sep 01 Python
python os.path.isfile()因参数问题判断错误的解决
Nov 29 Python
浅谈python输出列表元素的所有排列形式
Feb 26 Python
Python解析m3u8拼接下载mp4视频文件的示例代码
Mar 03 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判断字符以及字符串的包含方法属性
2008/08/30 PHP
PHP MVC框架路由学习笔记
2016/03/02 PHP
PHP身份证校验码计算方法
2016/08/10 PHP
使用PHP反射机制来构造"CREATE TABLE"的sql语句
2019/03/21 PHP
微信公众平台开发教程④ ThinkPHP框架下微信支付功能图文详解
2019/04/10 PHP
JQuery实现简单验证码提示解决方案
2012/12/20 Javascript
JavaScript获取一个范围内日期的方法
2015/04/24 Javascript
JavaScript判断手机号运营商是移动、联通、电信还是其他(代码简单)
2015/09/25 Javascript
防止Node.js中错误导致进程阻塞的办法
2016/08/11 Javascript
JS实现太极旋转思路分析
2016/12/09 Javascript
el表达式 写入bootstrap表格数据页面的实例代码
2017/01/11 Javascript
Vue.js学习之计算属性
2017/01/22 Javascript
node.js+jQuery实现用户登录注册AJAX交互
2017/04/28 jQuery
mpvue将vue项目转换为小程序
2018/09/30 Javascript
JS基于开关思想实现的数组去重功能【案例】
2019/02/18 Javascript
Vue 自定义指令功能完整实例
2019/09/17 Javascript
js消除图片小游戏代码
2019/12/11 Javascript
javascript设计模式 ? 访问者模式原理与用法实例分析
2020/04/26 Javascript
[50:17]Newbee vs Serenity 2018国际邀请赛小组赛BO2 第二场 8.17
2018/08/18 DOTA
Python3基础之输入和输出实例分析
2014/08/18 Python
tensorflow实现KNN识别MNIST
2018/03/12 Python
pandas 对每一列数据进行标准化的方法
2018/06/09 Python
python+selenium实现自动抢票功能实例代码
2018/11/23 Python
在python3中pyqt5和mayavi不兼容问题的解决方法
2019/01/08 Python
详解python运行三种方式
2019/05/13 Python
多个版本的python共存时使用pip的正确做法
2020/10/26 Python
python request 模块详细介绍
2020/11/10 Python
HTML5 input新增type属性color颜色拾取器的实例代码
2018/08/27 HTML / CSS
德国家具购物网站:Möbel Höffner
2019/08/26 全球购物
竞争上岗演讲稿范文
2014/05/12 职场文书
优秀少先队工作者事迹材料
2014/05/13 职场文书
学校联谊协议书
2014/09/16 职场文书
2014年应急工作总结
2014/12/11 职场文书
2014年底个人工作总结
2015/03/10 职场文书
建党伟业的观后感
2015/06/01 职场文书
利用Sharding-Jdbc进行分库分表的操作代码
2022/01/22 Java/Android