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,800),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')
    submenu = win32ui.CreateMenu()
    submenu.AppendMenu(MF_STRING,1054,'&Copy')
    submenu.AppendMenu(MF_STRING,1055,'&Paste')
    submenu.AppendMenu(MF_STRING,1056,None)
    submenu.AppendMenu(MF_STRING,1057,'&Cut')
    menu.AppendMenu(MF_STRING|MF_POPUP,submenu.GetHandle(),'&Edit')
    submenu = win32ui.CreateMenu()
    submenu.AppendMenu(MF_STRING,1058,'Tools')
    submenu.AppendMenu(MF_STRING|MF_GRAYED,1059,'Setting')
    m = win32ui.CreateMenu()
    m.AppendMenu(MF_STRING|MF_POPUP|MF_CHECKED,submenu.GetHandle(),'Option')
    menu.AppendMenu(MF_STRING|MF_POPUP,m.GetHandle(),'&Other')
    self._obj_.SetMenu(menu)
  def OnClose(self):
    self.EndModalLoop(0)
w = MyWnd()
w.ShowWindow()
w.UpdateWindow()
w.RunModalLoop(1)

二、运行效果:

Python创建普通菜单示例【基于win32ui模块】

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

pip install pypiwin32

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

Python 相关文章推荐
Python使用新浪微博API发送微博的例子
Apr 10 Python
python实现多线程采集的2个代码例子
Jul 07 Python
Python实现备份文件实例
Sep 16 Python
深入理解Python中命名空间的查找规则LEGB
Aug 06 Python
Python之父谈Python的未来形式
Jul 01 Python
Python实现简单的四则运算计算器
Nov 02 Python
利用pandas读取中文数据集的方法
Jul 25 Python
python梯度下降法的简单示例
Aug 31 Python
基于Python打造账号共享浏览器功能
May 30 Python
python多线程下信号处理程序示例
May 31 Python
python正则表达式匹配不包含某几个字符的字符串方法
Jul 23 Python
Python使用python-docx读写word文档
Aug 26 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
numpy实现合并多维矩阵、list的扩展方法
May 08 #Python
You might like
英雄试炼之肉山谷—引领RPG新潮流
2020/04/20 DOTA
DEDE采集大师官方留后门的删除办法
2011/01/08 PHP
ThinkPHP做文字水印时提示call an undefined function exif_imagetype()解决方法
2014/10/30 PHP
CodeIgniter与PHP5.6的兼容问题
2015/07/16 PHP
php metaphone()函数的定义和用法
2016/05/15 PHP
微信支付的开发流程详解
2016/09/13 PHP
PHP simplexml_load_string()函数实例讲解
2019/02/03 PHP
PHP使用Http Post请求发送Json对象数据代码解析
2020/07/16 PHP
对象的类型:本地对象(1)
2006/12/29 Javascript
9个JavaScript评级/投票插件
2010/01/18 Javascript
JS按回车键实现登录的方法
2014/08/25 Javascript
通过JS来动态的修改url,实现对url的增删查改
2014/09/01 Javascript
用iframe实现不刷新整个页面上传图片的实例
2016/11/18 Javascript
关于微信上网页图片点击全屏放大效果
2016/12/19 Javascript
JavaScript正则表达式exec/g实现多次循环用法示例
2017/01/17 Javascript
JavaScript提高加载和执行效率的方法
2017/02/03 Javascript
Vue网页html转换PDF(最低兼容ie10)的思路详解
2017/08/24 Javascript
vue结合Echarts实现点击高亮效果的示例
2018/03/17 Javascript
JS实现的简单折叠展开动画效果示例
2018/04/28 Javascript
jQuery实现图片上传预览效果功能完整实例【测试可用】
2018/05/28 jQuery
使用vue-router beforEach实现判断用户登录跳转路由筛选功能
2018/06/25 Javascript
封装微信小程序http拦截器过程解析
2019/08/13 Javascript
JS使用正则表达式提交页面验证的代码
2019/10/16 Javascript
vue等两个接口都返回结果再执行下一步的实例
2020/09/08 Javascript
python 七种邮件内容发送方法实例
2014/04/22 Python
详解Python用三种方式统计词频的方法
2019/07/29 Python
如何将PySpark导入Python的放实现(2种)
2020/04/26 Python
使用已经得到的keras模型识别自己手写的数字方式
2020/06/29 Python
使用AJAX和Django获取数据的方法实例
2020/10/25 Python
python从ftp获取文件并下载到本地
2020/12/05 Python
美国高级工作服品牌:Carhartt
2018/01/25 全球购物
医大实习自我鉴定
2013/12/07 职场文书
2015年世界环境日活动总结
2015/02/11 职场文书
小学语文课《掌声》教学反思
2016/03/03 职场文书
基于Redis6.2.6版本部署Redis Cluster集群的问题
2022/04/01 Redis
基于Python编写一个监控CPU的应用系统
2022/06/25 Python