本文介紹如何實作登錄檔瀏覽與多重子機碼選取功能,並可搭配 CRegisterExport 類別 (參考「導入導出登錄檔項目的類別」一文) 將選取的登錄檔項目匯出。
使用 Visual C++ 建立新的對話方塊型應用程式專案。
將 RegisterTreeCtrl.h 與 RegisterTreeCtrl.cpp 加入專案中。
將 STATEBMP.BMP、folderbmp.bmp 加入專案資源,並設定資源 ID:
folderbmp.bmp → IDB_BITMAP_LISTSTATEBMP.BMP → IDB_BITMAP_STATE在對話方塊類別中宣告:
CRegisterTreeCtrl m_tree;
在 OnInitDialog() 中加入:
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();
// 判斷作業系統版本
if (dwVersion < 0x80000000) // Windows NT
{
bWinNT = TRUE;
}
m_tree.DisplayTree(bWinNT);
return TRUE;
}
徐景洲的三態樹實作