Spaces:
Sleeping
Sleeping
# (sort-of) Registry editor | |
import commctrl | |
import dialog | |
import win32con | |
import win32ui | |
class RegistryControl: | |
def __init__(self, key): | |
self.key = key | |
class RegEditPropertyPage(dialog.PropertyPage): | |
IDC_LISTVIEW = 1000 | |
def GetTemplate(self): | |
"Return the template used to create this dialog" | |
w = 152 # Dialog width | |
h = 122 # Dialog height | |
SS_STD = win32con.WS_CHILD | win32con.WS_VISIBLE | |
FRAMEDLG_STD = win32con.WS_CAPTION | win32con.WS_SYSMENU | |
style = ( | |
FRAMEDLG_STD | |
| win32con.WS_VISIBLE | |
| win32con.DS_SETFONT | |
| win32con.WS_MINIMIZEBOX | |
) | |
template = [ | |
[self.caption, (0, 0, w, h), style, None, (8, "Helv")], | |
] | |
lvStyle = ( | |
SS_STD | |
| commctrl.LVS_EDITLABELS | |
| commctrl.LVS_REPORT | |
| commctrl.LVS_AUTOARRANGE | |
| commctrl.LVS_ALIGNLEFT | |
| win32con.WS_BORDER | |
| win32con.WS_TABSTOP | |
) | |
template.append( | |
["SysListView32", "", self.IDC_LISTVIEW, (10, 10, 185, 100), lvStyle] | |
) | |
return template | |
class RegistryPage(RegEditPropertyPage): | |
def __init__(self): | |
self.caption = "Path" | |
RegEditPropertyPage.__init__(self, self.GetTemplate()) | |
def OnInitDialog(self): | |
self.listview = self.GetDlgItem(self.IDC_LISTVIEW) | |
RegEditPropertyPage.OnInitDialog(self) | |
# Setup the listview columns | |
itemDetails = (commctrl.LVCFMT_LEFT, 100, "App", 0) | |
self.listview.InsertColumn(0, itemDetails) | |
itemDetails = (commctrl.LVCFMT_LEFT, 1024, "Paths", 0) | |
self.listview.InsertColumn(1, itemDetails) | |
index = self.listview.InsertItem(0, "App") | |
self.listview.SetItemText(index, 1, "Path") | |
class RegistrySheet(dialog.PropertySheet): | |
def __init__(self, title): | |
dialog.PropertySheet.__init__(self, title) | |
self.HookMessage(self.OnActivate, win32con.WM_ACTIVATE) | |
def OnActivate(self, msg): | |
print("OnAcivate") | |
def t(): | |
ps = RegistrySheet("Registry Settings") | |
ps.AddPage(RegistryPage()) | |
ps.DoModal() | |
if __name__ == "__main__": | |
t() | |