我在这里遇到了一个问题
我可以成功创建一个对话框并按下面的代码添加一个按钮,
因为我知道常数" 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])
答案 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相同。