Python处理菜单消息操作示例【基于win32ui模块】

 更新时间:2018年05月09日 12:15:14   作者:chengqiuming  
这篇文章主要介绍了Python处理菜单消息操作,结合实例形式分析了Python基于win32ui模块实现菜单的创建及菜单项响应相关操作技巧,需要的朋友可以参考下

本文实例讲述了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中random随机函数详解

    python中random随机函数详解

    大家好,本篇文章主要讲的是python中random随机函数详解,感兴趣的同学赶快来看一看吧,对你有帮助的话记得收藏一下
    2022-02-02
  • 跟老齐学Python之重回函数

    跟老齐学Python之重回函数

    在本教程的开始部分,就已经引入了函数的概念:《永远强大的函数》,之所以那时候就提到函数,是因为我觉得函数之重要,远远超过一般。这里,重回函数,一是复习,二是要在已经学习的基础上,对函数有更深刻的理解。
    2014-10-10
  • Python 调用有道翻译接口实现翻译

    Python 调用有道翻译接口实现翻译

    这篇文章主要介绍了Python 调用有道翻译接口实现翻译,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-03-03
  • Python接口开发实现步骤详解

    Python接口开发实现步骤详解

    这篇文章主要介绍了Python接口开发实现步骤详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-04-04
  • python使用seaborn绘图直方图displot,密度图,散点图

    python使用seaborn绘图直方图displot,密度图,散点图

    这篇文章主要介绍了python使用seaborn绘图直方图displot,密度图,散点图,文章围绕主题展开详细的内容介绍,具有一定的参考价值,需要的小伙伴可以参考一下
    2022-07-07
  • 利用Python+PyQt5实现简易浏览器的实战记录

    利用Python+PyQt5实现简易浏览器的实战记录

    这篇文章主要给大家介绍了关于如何利用Python+PyQt5实现简易浏览器的相关资料,Qt 的主要优势是可以开发跨平台的图形界面程序,基于 Qt 的应用能够借助于各平台的原生性在不同类的设备上运行,而无须修改任何代码库,需要的朋友可以参考下
    2021-07-07
  • 利用keras加载训练好的.H5文件,并实现预测图片

    利用keras加载训练好的.H5文件,并实现预测图片

    今天小编就为大家分享一篇利用keras加载训练好的.H5文件,并实现预测图片,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-01-01
  • Python tkinter 列表框Listbox属性详情

    Python tkinter 列表框Listbox属性详情

    这篇文章主要介绍了Python tkinter 列表框Listbox属性详情,列表框控件显示多行文本,用户可以选中一行或者多行。所有的文本只能使用一种字体,不能混合使用多种字体
    2022-07-07
  • PyCharm中代码字体大小调整方法

    PyCharm中代码字体大小调整方法

    在本篇文章里小编给大家分享了关于PyCharm中代码字体大小调整方法以及相关知识点,需要的朋友们学习下。
    2019-07-07
  • python使用for循环计算0-100的整数的和方法

    python使用for循环计算0-100的整数的和方法

    今天小编就为大家分享一篇python使用for循环计算0-100的整数的和方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2019-02-02

最新评论