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装饰器使用实例:验证参数合法性
Jun 24 Python
python黑魔法之参数传递
Feb 12 Python
使用apidocJs快速生成在线文档的实例讲解
Feb 07 Python
Python实现的计算器功能示例
Apr 26 Python
python skimage 连通性区域检测方法
Jun 21 Python
python+gdal+遥感图像拼接(mosaic)的实例
Mar 10 Python
django实现日志按日期分割
May 21 Python
python如何调用字典的key
May 25 Python
keras实现theano和tensorflow训练的模型相互转换
Jun 19 Python
Python定时任务APScheduler安装及使用解析
Aug 07 Python
五种Python转义表示法
Nov 27 Python
使用pytorch实现线性回归
Apr 11 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
PHP 替换模板变量实现步骤
2009/08/24 PHP
PHP文件上传主要代码讲解
2013/09/30 PHP
PHP和Shell实现检查SAMBA与NFS Server是否存在
2015/01/07 PHP
PHP实现微信支付(jsapi支付)流程步骤详解
2018/03/15 PHP
javascript 强制刷新页面的实现代码
2009/12/13 Javascript
jqTransform form表单美化插件使用方法
2012/07/05 Javascript
jQuery方法简洁实现隔行换色及toggleClass的使用
2013/03/15 Javascript
javascript中注册和移除事件的4种方式
2013/03/20 Javascript
解决Jquery load()加载GB2312页面时出现乱码的两种方案
2013/09/10 Javascript
JQuery中form验证出错信息的查看方法
2013/10/08 Javascript
Jquery实现图片预加载与延时加载的方法
2014/12/22 Javascript
JS+CSS实现简易实用的滑动门菜单效果
2015/09/18 Javascript
JS递归遍历对象获得Value值方法技巧
2016/06/14 Javascript
jquery插件uploadify多图上传功能实现代码
2016/08/12 Javascript
js在ie下打开对话窗口的方法小结
2016/10/24 Javascript
AngularJS 实现购物车全选反选功能
2017/10/24 Javascript
JavaScript实现带有子菜单和控件的slider轮播图效果
2017/11/01 Javascript
jQuery实现的点击按钮改变样式功能示例
2018/07/21 jQuery
详解vue中async-await的使用误区
2018/12/05 Javascript
node.js的Express服务器基本使用教程
2019/01/09 Javascript
如何让Nodejs支持H5 History模式(connect-history-api-fallback源码分析)
2019/05/30 NodeJs
原生js+canvas实现贪吃蛇效果
2020/08/02 Javascript
vue-cli 3如何使用vue-bootstrap-datetimepicker日期插件
2021/02/20 Vue.js
Python栈类实例分析
2015/06/15 Python
Python使用multiprocessing实现一个最简单的分布式作业调度系统
2016/03/14 Python
用python实现将数组元素按从小到大的顺序排列方法
2018/07/02 Python
Django跨域请求CSRF的方法示例
2018/11/11 Python
Python多个装饰器的调用顺序实例解析
2020/05/22 Python
python3实现语音转文字(语音识别)和文字转语音(语音合成)
2020/10/14 Python
印尼综合在线预订网站:Tiket.com(机票、酒店、火车、租车和娱乐)
2018/10/11 全球购物
师范应届生教师求职信
2013/11/05 职场文书
大型活动组织方案
2014/05/10 职场文书
普通党员整改措施
2014/10/24 职场文书
CSS3实现的侧滑菜单
2021/04/27 HTML / CSS
html5调用摄像头实例代码
2021/06/28 HTML / CSS
Mysql中调试存储过程最简单的方法
2021/06/30 MySQL