Mfc-image-lists
MFC-画像リスト
画像リスト*は、同じサイズの画像のコレクションであり、各画像はゼロベースのインデックスで参照できます。 画像リストは、アイコンまたはビットマップの大きなセットを効率的に管理するために使用されます。 画像リストは CImageListクラス*で表されます。
____CImageListクラスのメソッドのリストです。
Sr.No. | Name & Description |
---|---|
1 |
Add 画像を画像リストに追加します。 |
2 |
Attach 画像リストをCImageListオブジェクトに添付します。 |
3 |
BeginDrag 画像のドラッグを開始します。 |
4 |
Copy CImageListオブジェクト内の画像をコピーします。 |
5 |
Create 画像リストを初期化し、CImageListオブジェクトに添付します。 |
6 |
DeleteImageList 画像リストを削除します。 |
7 |
DeleteTempMap CWinAppアイドル時間ハンドラーによって呼び出され、 FromHandle によって作成されたtemporaryCImageListオブジェクトを削除します。 |
8 |
Detach CImageListオブジェクトから画像リストオブジェクトをデタッチし、画像リストへのハンドルを返します。 |
9 |
DragEnter ドラッグ操作中に更新をロックし、指定した位置にドラッグ画像を表示します。 |
10 |
DragLeave ウィンドウのロックを解除し、ドラッグ画像を非表示にして、ウィンドウを更新できるようにします。 |
11 |
DragMove ドラッグアンドドロップ操作中にドラッグされている画像を移動します。 |
12 |
DragShowNolock ウィンドウをロックせずに、ドラッグ操作中にドラッグ画像を表示または非表示にします。 |
13 |
Draw ドラッグアンドドロップ操作中にドラッグされている画像を描画します。 |
14 |
DrawEx 指定されたデバイスコンテキストに画像リストアイテムを描画します。 この関数は、指定された描画スタイルを使用し、指定された色で画像をブレンドします。 |
15 |
DrawIndirect 画像リストから画像を描画します。 |
16 |
EndDrag ドラッグ操作を終了します。 |
17 |
ExtractIcon 画像リスト内の画像とマスクに基づいてアイコンを作成します。 |
18 |
FromHandle 画像リストへのハンドルが与えられると、CImageListオブジェクトへのポインタを返します。 CImageListオブジェクトがハンドルにアタッチされていない場合、一時的なCImageListオブジェクトが作成されてアタッチされます。 |
19 |
FromHandlePermanent 画像リストへのハンドルが与えられると、CImageListオブジェクトへのポインタを返します。 CImageListオブジェクトがハンドルにアタッチされていない場合、NULLが返されます。 |
20 |
GetBkColor 画像リストの現在の背景色を取得します。 |
21 |
GetDragImage ドラッグに使用される一時的な画像リストを取得します。 |
22 |
GetImageCount 画像リスト内の画像の数を取得します。 |
23 |
GetImageInfo 画像に関する情報を取得します。 |
24 |
GetSafeHandle
|
25 |
Read アーカイブから画像リストを読み取ります。 |
26 |
Remove 画像リストから画像を削除します。 |
27 |
Replace 画像リスト内の画像を新しい画像に置き換えます。 |
28 |
SetBkColor 画像リストの背景色を設定します。 |
29 |
SetDragCursorImage 新しいドラッグ画像を作成します。 |
30 |
SetImageCount 画像リスト内の画像のカウントをリセットします。 |
32 |
SetOverlayImage 画像のゼロベースのインデックスを画像のリストに追加して、オーバーレイマスクとして使用します。 |
33 |
Write イメージリストをアーカイブに書き込みます。 |
次の設定で新しいMFCアプリケーション MFCImageListDemo を作成します。
- ステップ1 *-アプリケーションのリソースとしてbmpファイルを追加します。
- ステップ2 *-CMFCImageListDemoViewクラスのヘッダーファイルに、次の2つの変数を追加します。
CImageList ImageList;
int nImage;
- ステップ3 *-CMFCImageListDemoViewのコンストラクターに次のコードを追加します。
CMFCImageListDemoView::CMFCImageListDemoView() {
//TODO: add construction code here
ImageList.Create(800, 800, ILC_COLOR, 4, 1);
CBitmap bmp;
bmp.LoadBitmap(IDB_BITMAP1);
ImageList.Add(&bmp, RGB(0, 0, 0));
}
- *ステップ4 *-次のようにCImageList
- Draw()メソッドを呼び出します。
void CMFCImageListDemoView::OnDraw(CDC* pDC) {
CMFCImageListDemoDoc* pDoc = GetDocument();
ASSERT_VALID(pDoc);
nImage = 0;
ImageList.Draw(pDC , nImage, CPoint(0,0), ILD_NORMAL);
Invalidate();
if (!pDoc)
return;
//TODO: add draw code for native data here
}
- ステップ5 *-このアプリケーションを実行すると、次の出力が表示されます。