+ -
当前位置:首页 → 问答吧 → ListCtrl 的图标错误(report风格)

ListCtrl 的图标错误(report风格)

时间:2011-12-07

来源:互联网

m_ImageList.Create(32,32,ILC_COLOR24|ILC_MASK,1,0);
m_ImageList.Add(LoadIcon(AfxGetResourceHandle(),MAKEINTRESOURCE(IDI_HAND256)));//0号
m_ImageList.Add(LoadIcon(AfxGetResourceHandle(),MAKEINTRESOURCE(IDI_EXIT_ICON)));//1号


m_ListCtrl.SetImageList(&m_ImageList,LVSIL_NORMAL);

//设置风格
SetWindowLong(m_ListCtrl.m_hWnd ,GWL_EXSTYLE,WS_EX_CLIENTEDGE);
m_ListCtrl.SetExtendedStyle(LVS_EX_GRIDLINES); //设置扩展风格为网格
::SendMessage(m_ListCtrl.m_hWnd, LVM_SETEXTENDEDLISTVIEWSTYLE,
LVS_EX_FULLROWSELECT, LVS_EX_FULLROWSELECT);

.......................................................................

for(m=0;m<strUmLoginTableResult.size();m++) // 把所有记录添加到ListCtrl中,添加顺序为:用户名、登录时间、离开时间、登录IP
{
if(m%2==0)
m_ListCtrl.InsertItem(m,strUmLoginTableResult[m][0],0); //0号图标
else
m_ListCtrl.InsertItem(m,strUmLoginTableResult[m][0],1); //1号图标

m_ListCtrl.SetItemText(m,1,strUmLoginTableResult[m][1]);
m_ListCtrl.SetItemText(m,2,strUmLoginTableResult[m][2]);
m_ListCtrl.SetItemText(m,3,strUmLoginTableResult[m][3]);
}


结果看不到图标!!!!!!!

是report风格。。。。。



第二个问题:

(1)对于Edit的边框自绘!!!!! 我是写了一个Edit类,然后override了它的OnNcPaint函数。。。。。

然后提供一个接口函数给 对话框类,传 RGB颜色给Edit。。。。。。

(2) 在OnChar函数中,调用 OnNcPaint,只要输入,那么边框就变成红色。。。。 失去KillFocus焦点的时候又恢复成 蓝色。。。。

我发现 有个很奇怪的问题: 当对话框弹出来的时候, 文本框的颜色 是老样子,压根没有改变,只有输入的时候,才会显示红色。。。。而失去焦点会变成 蓝色。。。。。 我是希望对话框弹出来的时候, 文本就成为蓝色。。。

如何解决??? 对话框弹出来,文本匡必须是某种蓝色!!!!! 前提:不能用对话框的OnPaint来改变, 那样的话,我写Edit类,失去了意义了。。。。 


两个问题,大神相救。。。


作者: caddor2011   发布时间: 2011-12-07

ListCtrl report风格的 无法加icon 是怎么回事???


作者: caddor2011   发布时间: 2011-12-07