CImageList::Createの初期設定の色を変える方法はあるでしょうか? – プログラミング – Home

通知
すべてクリア

[解決済] CImageList::Createの初期設定の色を変える方法はあるでしょうか?


ナオーバ
 ナオーバ
(@ナオーバ)
ゲスト
結合: 23年前
投稿: 187
Topic starter  

こんにちは、一日に何度もすみません。

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使用

一日に何度もすみません。
よろしくお願いします。


引用未解決
トピックタグ
ナオーバ
 ナオーバ
(@ナオーバ)
ゲスト
結合: 23年前
投稿: 187
Topic starter  

解決しました。

細長いビットマップを作ってイメージリストに追加することで、実現しました。


返信引用

返信する

投稿者名

投稿者メールアドレス

タイトル *

プレビュー 0リビジョン 保存しました
共有:
タイトルとURLをコピーしました