如何附加一个"复选框"使用pywin32进入对话框

时间:2014-08-18 01:24:33

标签: python pywin32

我在这里遇到了一个问题 我可以成功创建一个对话框并按下面的代码添加一个按钮,
因为我知道常数" 128"是控制"按钮"通过例子来说明 但我不知道哪一个可用于"复选框"或" radiobutton"?


import win32ui
import win32api
import win32con
from pywin.mfc import dialog

# Window frame and title
dlg = [ [title, (0, 0, 300, 392), style, None, (8, "MS Sans Serif")], ]
dlg.append([128, u"Output", IDC_BTN_OUTPUT, (142,56,50,14), win32con.BS_DEFPUSHBUTTON])

1 个答案:

答案 0 :(得分:0)

根据源代码和文档,此处的对话框模板是一个列表,其第一项是PyDLGTEMPLATE实例,后跟一系列PyDLGITEMTEMPLATE个实例。

文档说明了PyDLGITEMTEMPALTE结构的第一个成员:

  

[0] string / int:windowClass

     

窗口类。如果不是字符串,则它必须是整数,用于定义其中一个内置Windows控件。如果是字符串,则必须是预先注册的Windows类名,内置类或OLE控件的CLSID。内置类包括:

Control Type    String Class Name
Check Box       Button
Combo Box       ComboBox
Command Button  Button
Header          SysHeader32
Label           Static
List Box        ListBox
                SysListView32
Option Button   Button
Tab             SysTabControl32
Text Box        Edit
                RICHEDIT
Tool Bar        ToolbarWindow32
Tool Tips       tooltips_class32
                tooltips_class
Tree View       SysTreeView32
     

内置的Windows控件是:

Integer Value    Window Type
0x0080           Button
0x0081           Edit
0x0082           Static
0x0083           List box
0x0084           Scroll bar
0x0085           Combo box

因此,当你可以使用整数常量0x85(或十进制133)时,我强烈建议你使用字符串类名'ComboBox'代替。不出所料,这些字符串名称与内置Windows类名documented on MSDN相同。