Mfc-image-lists

提供:Dev Guides
移動先:案内検索

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

  • m_hImageList* を取得します。
25

Read

アーカイブから画像リストを読み取ります。

26

Remove

画像リストから画像を削除します。

27

Replace

画像リスト内の画像を新しい画像に置き換えます。

28

SetBkColor

画像リストの背景色を設定します。

29

SetDragCursorImage

新しいドラッグ画像を作成します。

30

SetImageCount

画像リスト内の画像のカウントをリセットします。

32

SetOverlayImage

画像のゼロベースのインデックスを画像のリストに追加して、オーバーレイマスクとして使用します。

33

Write

イメージリストをアーカイブに書き込みます。

次の設定で新しいMFCアプリケーション MFCImageListDemo を作成します。

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 *-このアプリケーションを実行すると、次の出力が表示されます。

画像リスト