1.消息框

mfcDialog.py

 import win32ui
 import win32con
 from pywin.mfc import dialog
 class MyDialog(dialog.Dialog):
     def OnInitDialog(self):
         dialog.Dialog.OnInitDialog(self)
     def OnOk(self):
         win32ui.MessageBox('Press OK',\
             'Python', win32con.MB_OK)
     def OnCancel(self):
         win32ui.MessageBox('Press Cancel',\
             'Python', win32con.MB_OK)
 style = (win32con.DS_MODALFRAME    |
             win32con.WS_POPUP    |
             win32con.WS_VISIBLE    |
             win32con.WS_CAPTION    |
             win32con.WS_SYSMENU    |
             win32con.DS_SETFONT)
 buttonstyle = win32con.WS_TABSTOP | win32con.WS_CHILD | win32con.WS_VISIBLE
 di = ['Python', (0,0,300,180), style, None, (8, 'MS Sans Serif')]
 ButOk = (['Button', 'OK', win32con.IDOK, (80,150,50,14), buttonstyle|win32con.BS_PUSHBUTTON])
 ButCancel = (['Button', 'Cancel', win32con.IDCANCEL, (160,150,50,14), buttonstyle|win32con.BS_PUSHBUTTON])
 init = []
 init.append(di)
 init.append(ButOk)
 init.append(ButCancel)
 mydialog = MyDialog(init)
 mydialog.DoModal()

2.窗体

mfcGui.py

 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), \
                 'MFC_GUI', WS_OVERLAPPEDWINDOW, \
                 (100,100,400,300), None, 0, None)
     def OnClose(self):
         self.EndModalLoop(0)
     def OnPaint(self):
         dc, ps = self.BeginPaint()
         dc.DrawText('MFC_GUI',
             self.GetClientRect(),
             DT_SINGLELINE | DT_CENTER | DT_VCENTER)
         self.EndPaint(ps)

 w = MyWnd()
 w.ShowWindow()
 w.UpdateWindow()
 w.RunModalLoop(1)

Python -- Gui编程 -- MFC的使用的更多相关文章

  1. Python GUI编程各种实现的对比

    Python GUI编程各种实现的对比 从 Python 语言的诞生之日起,就有许多优秀的 GUI 工具集整合到 Python 当中,这些优秀的 GUI 工具集,使得 Python 也可以在图形界面编 ...

  2. Python gui编程pyQt5安装步骤t

    Python gui编程pyQt5安装步骤         pip install PyQt5 Pip3 install PyQt5               https://riverbankco ...

  3. Python gui编程pyQt5安装步骤

    Python gui编程pyQt5安装步骤 =============================== -m PyQt5.uic.pyuic  $FileName$ -o $FileNameWit ...

  4. Python GUI 编程

    Python GUI编程(Tkinter) Python 提供了多个图形开发界面的库,几个常用 Python GUI 库如下: Tkinter: Tkinter 模块(Tk 接口)是 Python 的 ...

  5. Python GUI编程(Tkinter) windows界面开发

    Python实现GUI简单的来说可以调用Tkinter库,这样一般的需求都可以实现,显示简单的windows窗口代码如下: python_gui.py 1 #!C:\Python27\python.e ...

  6. Python GUI编程--Tkinter

    今天看到了GUI编程,书上推荐用wxPython,去官网上看了看,发现Windows的最高支持到2.7,我用的是3.4版本,咋办,用自带的库--Tkinter呗,它是Python的默认GUI库,几乎是 ...

  7. python GUI编程tkinter示例之目录树遍历工具

    摘录 python核心编程 本节我们将展示一个中级的tkinter应用实例,这个应用是一个目录树遍历工具:它会从当前目录开始,提供一个文件列表,双击列表中任意的其他目录,就会使得工具切换到新目录中,用 ...

  8. Python -- Gui编程 -- Tkinter的使用 -- 基本控件

    1.按钮 tkBtton.py import tkinter root = tkinter.Tk() btn1 = tkinter.Button(root, anchor=tkinter.E,\ te ...

  9. Python GUI编程实践

    看完了<python编程实践>对Python的基本语法有了一定的了解,加上认识到python在图形用户界面和数据库支持方面快捷,遂决定动手实践一番. 因为是刚接触Python,对于基本的数 ...

随机推荐

  1. js基础学习笔记(四)

    4.1 什么是数组 我们知道变量用来存储数据,一个变量只能存储一个内容,存储多个值时,就需要用到数组. 数组是一个值的集合,每个值都有一个索引号,从0开始,每个索引都有一个相应的值,根据需要添加更多数 ...

  2. 命令行中开启mySQL数据库服务

    sudo /Applications/XAMPP/xamppfiles/bin/mysql.server start  

  3. netty 原理

    netty 实现 1. 各组件之间的关系 每个ServerBootstrap与一个事件循环对象(一个线程)都会与一个Channel绑定,如NioServerSocketChannel 2. 如何绑定 ...

  4. 对SpringDAO层支持的总结

    1.问题 1.JDBC/ORM框架(如Hibernate)开发中编程模型有哪些缺点?  如JDBC   2.解决方案(模板设计模式,本质:将可变的和不可变的分离) 模板方法模式:定义操作的步骤(固定的 ...

  5. SQL SERVER存储过程中使用事务与捕获异常

    https://www.douban.com/note/559596669/ 格式类似于 CREATE PROCEDURE YourProcedure ASBEGIN    SET NOCOUNT O ...

  6. 玩了下STM8单片机

    偶然的机会,发现STM8真是又便宜又好用啊,哈哈! 买了一个STM8S103F3的小板子,再加一个ST-Link调试器,总共才35块钱!对于我们这种玩习惯了动辄上千上万的FPGA开发板的人来说,就是白 ...

  7. linux系统编程之信号(七):被信号中断的系统调用和库函数处理方式

        一些IO系统调用执行时, 如 read 等待输入期间, 如果收到一个信号,系统将中断read, 转而执行信号处理函数. 当信号处理返回后, 系统遇到了一个问题: 是重新开始这个系统调用, 还是 ...

  8. Replication--复制事务和复制命令

    --=============================================== 对复制一直属于一知半解浑浑噩噩的状态,仅知道一些皮毛,对很多细节没有深入学习过, 如果不对之处,请各 ...

  9. CSS盒子坍塌问题的4种解决方案

    一.问题重述 嗯,这个就是坍塌的盒子了.外部盒子本应该包裹住内部的两个浮动盒子,结果却没有. 二.问题出现的原因 3个盒子都只设置了width,而没有规定height,内部两个盒子分别设置了左右浮动. ...

  10. INNER JOIN与LEFT JOIN在SQL Server的性能

    我创建了INNER JOIN 9桌,反正需要很长的(超过五分钟).所以,我的民歌改变INNER JOIN来LEFT JOIN LEFT JOIN的性能较好,在首次尽管我所知道的.之后我变了,查询的速度 ...