本文实例讲述了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),\

'www.jb51.net - 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)

二、运行效果:

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

pip install pypiwin32

更多关于Python相关内容感兴趣的读者可查看本站专题:《Python数据结构与算法教程》、《Python Socket编程技巧总结》、《Python函数使用技巧总结》、《Python字符串操作技巧汇总》、《Python入门与进阶经典教程》及《Python文件与目录操作技巧汇总》

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

本文标题: Python处理菜单消息操作示例【基于win32ui模块】

本文地址: http://www.cppcns.com/jiaoben/python/227562.html

python调用菜单响应事件_Python处理菜单消息操作示例【基于win32ui模块】相关推荐

  1. python迭代对象有哪些_Python可迭代对象操作示例

    本文实例讲述了Python可迭代对象.分享给大家供大家参考,具体如下: 1.列表生成式 list = [result for x in range(m, n)] g1 = (i for i in ra ...

  2. python课程及编码字典_Python基础之字典操作(示例代码)

    字典 字典的优点: dict key 必须是不可变数据类型,可哈希, value:任意数据类型. dict 优点:二分查找去查询 存储大量的关系型数据 特点:无序的(指的是不可人为的去改变顺序) 数据 ...

  3. python调用c++动态库_Python调用C/C++动态链接库的方法

    本文以实例讲解了Python调用C/C++ DLL动态链接库的方法,具体示例如下: 示例一: 首先,在创建一个DLL工程(本例创建环境为VS 2005),头文件: //hello.h #ifdef E ...

  4. python调用菜单响应事件_tkinter菜单能发送调用它们的事件吗?

    下面是一个弹出菜单命令,我想发送事件数据通过.我想要它的x和y数据的事件,这样我就知道ttk样式的treeview(被用作表)的哪个单元格要操作.目前它称之为self.toggle_sort_bool ...

  5. Java微信二次开发之14-自定义菜单及菜单响应事件的推送

    2013年8月5日,伴随着微信5.0 iPhone版的发布,公众平台也进行了重要的更新,主要包括: 1)运营主体为组织,可选择成为服务号或者订阅号: 2)服务号可以申请自定义菜单: 3)使用QQ登录的 ...

  6. python三级菜单设计题目_Python三级菜单

    广告关闭 腾讯云11.11云上盛惠 ,精选热门产品助力上云,云服务器首年88元起,买的越多返的越多,最高返5000元! 三级菜单:打印省.市.县三级菜单. 可返回上一级,可随时退出程序首先准备基础数据 ...

  7. python win32ui_Python创建普通菜单示例【基于win32ui模块】

    本文实例讲述了Python创建普通菜单的方法.分享给大家供大家参考,具体如下: 一.代码 # -*- coding:utf-8 -*- #! python3 import win32ui import ...

  8. python 调用 c 生成数组_python调用c++传递数组的实例

    如下所示: input = c_int * 4 # 实例化一个长度为2的整型数组 input = input() # 为数组赋值(input这个数组是不支持迭代的) input[0] = 11 inp ...

  9. python调用c的配置文件_python调用c

    python一个非常的大的优点就是开发效率高,非常不好的缺点就是执行效率低:然而c语言有个则刚好相反.还有一点python的对源码的保护做不到,即使你用py2exe,pyinstaller这样的方法也 ...

最新文章

  1. 为何Google比苹果和微软更需要HTML5?
  2. boost::intrusive::sg_set用法的测试程序
  3. Linux-2.6.25 TCPIP函数调用大致流程
  4. ReportViewer教程(4)-为报表打造数据源
  5. 修改10g RAC public or private or virtual IP [Oracle]
  6. Site error: the ionCube PHP Loader needs to be installed.解决办法
  7. 面向对象:三大特性与五大原则
  8. python最短路径例子_[python]dijkstra 算法的 加权的最短路径 案例
  9. 这5种数据挖掘技术,大数据玩的贼溜!
  10. 变化检测综述:Change Detection Based on Artificial Intelligence: State-of-the-Art and Challenges
  11. python爬取二手房信息,基于python爬取链家二手房信息代码示例
  12. mysql data::dumper_初始化mysql数据库提示缺少Data:dumper模块解决方法
  13. 如何实现 AppStore App 的自动下载
  14. 用几段代码搞定Java文件流
  15. C波段、KU波段与雨衰现象
  16. CLion等JetBrains IDE学生认证免费使用流程
  17. 开发一个 Linux 调试器(四):Elves 和 dwarves
  18. 华为设备配置Telnet与SSH服务实现运程连接网络设备
  19. for _ in range(100)中的下滑杠_表示什么意思?
  20. java返回当年的天数_获取Java中当年剩余的天数

热门文章

  1. matlab机械手ikine函数,关于Mtalab-robotics工具箱中的fkine和ikine两个函数的问题讨论!...
  2. java线程堆栈_深入JVM剖析Java的线程堆栈
  3. restfull加签_SpringBoot RestFull API签名
  4. oracle命令行安装
  5. JDK源码解析之 java.lang.Error
  6. Ubuntu 18.04安装NVIDIA(英伟达) RTX2080Ti显卡
  7. PostgreSQL 并行查询概述
  8. Shell学习之结合正则表达式与通配符的使用(五)
  9. Epson C1100报错“Service Req E511”的处理方法
  10. 二叉搜索树(BST树)的简单实现