分类: C/C++
2008-04-23 21:42:13
使用三态树实现多个注册表子键的选择
作者:
实现注册表的浏览和多个子键的选择,可以配合 CRegisterExport 类(参见“导入导出注册表项的类”一文),将选择的注册表项导出。
以下是将 CRegisterTreeCtrl 类添加到工程中的步骤:
1、生成一个新的对话框工程;
2、将 RegisterTreeCtrl.h,RegisterTreeCtrl.cpp 文件添加到工程中;
3、将STATEBMP.BMP,folderbmp.bmp文件添加到工程资源中,并设定资源ID。这里设置如下:folderbmp.bmp -> IDB_BITMAP_LIST,STATEBMP.BMP -> IDB_BITMAP_STATE;
4、定义CTreeCtrl控件为我们的类型CRegisterTreeCtrl m_tree;
5、在对话框类中添加代码:
BOOL CMultiFolderDlg::OnInitDialog() { CDialog::OnInitDialog(); ...... m_imgState.Create(IDB_BITMAP_STATE,13, 1, RGB(255,255,255)); m_imgList.Create(IDB_BITMAP_LIST,16, 1, RGB(255,255,255)); m_tree.SetImageList(&m_imgList,TVSIL_NORMAL); m_tree.SetImageList(&m_imgState,TVSIL_STATE); DWORD dwVersion; BOOL bWinNT = FALSE; dwVersion = GetVersion(); // Get build numbers for Windows NT or Win32s if (dwVersion < 0x80000000) // Windows NT { bWinNT = TRUE; } m_tree.DisplayTree(bWinNT); return TRUE; }
参考资料:徐景洲的三态树的实现