こんにちは、一日に何度もすみません。
CImageList::Createの初期設定の色を変える方法はあるでしょうか?
// イメージリスト設定
if( m_PhotoImgList.m_hImageList ) m_PhotoImgList.DeleteImageList( );
m_PhotoImgList.Create( WIDTH, HEIGHT, ILC_COLOR24, 0, 1 );
int nCount = pDoc->GetPhotoData()->GetPhotoDataNum(); <---------------(
1 )
m_PhotoImgList.SetImageCount( nCount ); <---------------(
2 )
wndList.SetIconSpacing( WIDTH+20, HEIGHT+30 );
wndList.SetImageList( &m_PhotoImgList, LVSIL_NORMAL );
で表示してスレッドを走らせて Replace しています。
このとき初期設定の色は黒です、これを任意の色に変えることは可能でしょうか?
派生クラスを作るのかと思ったのですが、Create内でImageList_Createを呼んでいるので
どうしていいかわかりません。
最初は( 1 )、( 2 )では無なく下記のソースでした
CBitmap bitmap; bitmap.LoadBitmap( IDB_BACK );
int nSize = pDoc->GetPhotoData()->GetPhotoDataNum() + 1;
for( int j = 0; j < nSize; j++ ) m_PhotoImgList.Add( &bitmap, BLACK );
この場合、nSizeが大きいと処理がスムーズに走りませんでした。
(IDB_BACKは白のBITMAPです)
でSetImageCountして表示する数だけ指定する方法にしました
WIN2000 SP2
VC6.0 SP5
MFC使用
一日に何度もすみません。
よろしくお願いします。
解決しました。
細長いビットマップを作ってイメージリストに追加することで、実現しました。