如题,如上操作后该显示image的地方(在每一行的最左边)成了白色。代码如下:bmp图片全部是256色
m_Bitmap1.LoadBitmap(IDB_BITMAPL1);
m_Bitmap2.LoadBitmap(IDB_BITMAPL2);
m_Bitmap3.LoadBitmap(IDB_BITMAPL3);
m_Bitmap4.LoadBitmap(IDB_BITMAPL4);
m_Bitmap5.LoadBitmap(IDB_BITMAPL5);
m_Bitmap6.LoadBitmap(IDB_BITMAPL6);
m_Bitmap7.LoadBitmap(IDB_BITMAPL7);
if(m_ImageList.Create(30, 30,ILC_COLOR8,7,1))
{
m_ImageList.Add(&m_Bitmap1,RGB(255,255,255));
m_ImageList.Add(&m_Bitmap2,RGB(255,255,255));
m_ImageList.Add(&m_Bitmap3,RGB(255,255,255));
m_ImageList.Add(&m_Bitmap4,RGB(255,255,255));
m_ImageList.Add(&m_Bitmap5,RGB(255,255,255));
m_ImageList.Add(&m_Bitmap6,RGB(255,255,255));
m_ImageList.Add(&m_Bitmap7,RGB(255,255,255));
}
m_ListContent.InsertColumn(0,NULL,LVCFMT_LEFT,238,-1);
m_ListContent.InsertItem(0,L"",0);
m_ListContent.InsertItem(1,L"",1);
m_ListContent.InsertItem(2,L"",2);
m_ListContent.InsertItem(3,L"",3);
m_ListContent.InsertItem(4,L"",4);
m_ListContent.InsertItem(5,L"",5);
m_ListContent.InsertItem(6,L"",6);
m_ListContent.SetExtendedStyle(m_ListContent.GetExtendedStyle()|LVS_EX_FULLROWSELECT);
m_ListContent.SetImageList(&m_ImageList,LVSIL_SMALL);
隐藏显示代码:
ShowWindow(SW_HIDE);
hWnd = FindWindow(主窗口名);SetWindowPos(hWnd,SWP_SHOWWINDOW),
这个的确没有做过
SetWindowPos(hWnd,SWP_SHOWWINDOW) 的时候 是不是可以m_ListContent.showwindow 一下
关于显示我用的都是api,没用过mfc,所以只能重底层帮你分析一下,你的窗口每次隐藏后,再显示,对于windows的消息机制,肯定要调用一次WM_PAINT事件,所以如果你把你的显示过程放在这个事件中,这样每次窗口的任何动作,都会让窗口重绘一次,现在的情况是,你用mfc的那个类,只是把显示过程写在了WM_CREATE的事件中,只有再第一次显示的时候调用,后面都调用不到,这样说应该明白了吧。