實現注冊表的浏覽和多個子鍵的選擇,可以配合 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;
}
參考資料:徐景洲的三態樹的實現
本文配套源碼