我想像 XP里的注册表一样 在右侧的list contrl上添加图片
现在 ICON1 代表REG_SZ ICON2 代表 REG_DWORD (这添加图片incon1) abc REG_SZ asdf
(这添加图片incon2) 123 DWORD 0x12451231(123)得这么做啊 谁能帮我写下
现在 ICON1 代表REG_SZ ICON2 代表 REG_DWORD (这添加图片incon1) abc REG_SZ asdf
(这添加图片incon2) 123 DWORD 0x12451231(123)得这么做啊 谁能帮我写下
int pos = 0;
if ( ntype == REG_SZ )
{
pos = m_reglist.InsertItem( m_reglist.GetItemCount(), "abc", incon1 );
m_reglist.SetItemText( pos, 1, "REG_SZ" );
m_reglist.SetItemText( pos, 2, "asdf" );
}
else if ( ntype == REG_DWORD )
{
pos = m_reglist.InsertItem( m_reglist.GetItemCount(), "123", incon2 );
m_reglist.SetItemText( pos, 1, "REG_DWORD" );
m_reglist.SetItemText( pos, 2, "0x12451231(123)" ); //注意要将DWORD类型值转化成字符串型
}
?
我的做法是:
在声明中定义:CImageList m_ImageList;
int m_REG_SZ_icon,m_REG_DWORD_icon;
在可以在初始化时,
m_ImageList.Create(16,16,ILC_COLOR16 | ILC_MASK,0,1);
m_REG_SZ_icon =m_ImageList.Add(AfxGetApp()->LoadIcon(IDI_ICON1 ));
m_REG_DWORD_icon =m_ImageList.Add(AfxGetApp()->LoadIcon(IDI_ICON2 ));
m_reglist.SetImageList(&m_ImageList,LVSIL_SMALL);在以后InsertItem这个方法 里的 最后那个就是m_REG_SZ_icon,或者m_REG_DWORD_icon
可是注册表里 有很多不同了数据类型 按照你的方法写 第一个是REG_SZ时可以显示当第二个数据类型是REG_DWORD的时候就把REG_SZ的图片给覆盖了 然后出错