Chinaunix首页 | 论坛 | 博客
  • 博客访问: 9599018
  • 博文数量: 1227
  • 博客积分: 10026
  • 博客等级: 上将
  • 技术积分: 20273
  • 用 户 组: 普通用户
  • 注册时间: 2008-01-16 12:40
文章分类

全部博文(1227)

文章存档

2010年(1)

2008年(1226)

我的朋友

分类: 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;

}     

参考资料:徐景洲的三态树的实现

阅读(281) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~