请问一下关于list control网格显示不刷新的有关问题
请教一下关于list control网格显示不刷新的问题
我的list control设置如下,当list control有滚动条时,我使用滚动条的上下按键时会出现网格没有画出来的情况,我在BeginScroll里面使用m_list.RedrawItems(-1, m_list.GetItemCount());可以解决这个问题,但是会刷新的厉害,请教一下大家有没有遇到这样的问题,谢谢了
我在网上找到同样问这个问题的帖子,一样没有答案
http://bbs.****.net/topics/100141104
------解决方案--------------------
真没遇到过这种问题,如果通过刷新可以消除这种现象,那你就在DrawItem()函数中自己绘制,通过双缓冲避免闪屏。
我的list control设置如下,当list control有滚动条时,我使用滚动条的上下按键时会出现网格没有画出来的情况,我在BeginScroll里面使用m_list.RedrawItems(-1, m_list.GetItemCount());可以解决这个问题,但是会刷新的厉害,请教一下大家有没有遇到这样的问题,谢谢了
LONG lStyle;
lStyle = GetWindowLong(m_list.m_hWnd, GWL_STYLE);//获取当前窗口style
lStyle &= ~LVS_TYPEMASK; //清除显示方式位
lStyle |= LVS_REPORT; //设置style
SetWindowLong(m_list.m_hWnd, GWL_STYLE, lStyle);//设置style
m_list.SetExtendedStyle(LVS_EX_FULLROWSELECT|
LVS_EX_HEADERDRAGDROP|LVS_EX_GRIDLINES|LVS_EX_FLATSB);
void MemberManagerDlg::OnLvnBeginScrollList1(NMHDR *pNMHDR, LRESULT *pResult)
{
// 此功能要求 Internet Explorer 5.5 或更高版本。
// 符号 _WIN32_IE 必须是 >= 0x0560。
LPNMLVSCROLL pStateChanged = reinterpret_cast<LPNMLVSCROLL>(pNMHDR);
// TODO: 在此添加控件通知处理程序代码
m_list.RedrawItems(-1, m_list.GetItemCount());
*pResult = 0;
}
我在网上找到同样问这个问题的帖子,一样没有答案
http://bbs.****.net/topics/100141104
------解决方案--------------------
真没遇到过这种问题,如果通过刷新可以消除这种现象,那你就在DrawItem()函数中自己绘制,通过双缓冲避免闪屏。