次の方法で共有


淡色表示 (灰色) ビットマップ関数とディザリングされたビットマップ関数

淡色表示 (灰色) ビットマップ関数

MFC には、ビットマップのコントロールが無効になっていることを示すための 2 つの関数が用意されています。

灰色と元のアイコンのバージョンの比較。

名前 説明
AfxDrawGrayBitmap 灰色のバージョンのビットマップを描画します。
AfxGetGrayBitmap 灰色のバージョンのビットマップをコピーします。

淡色表示 (灰色) ビットマップ関数

MFC には、ビットマップの背景をディザリングされたパターンに置き換える 2 つの関数も用意されています。

ディザリングされたアイコンバージョンと元のアイコンバージョンの比較。

名前 説明
AfxDrawDitheredBitmap 背景がディザリングされたビットマップを描画します。
AfxGetDitheredBitmap 背景がディザリングされたビットマップをコピーします。

AfxDrawGrayBitmap

灰色のバージョンのビットマップを描画します。

void AFXAPI AfxDrawGrayBitmap(
    CDC* pDC,
    int x,
    int y,
    const CBitmap& rSrc,
    COLORREF crBackground);

パラメーター

pDC
宛先 DC を示します。

x
宛先の x 座標。

y
宛先の y 座標。

rSrc
元のビットマップ。

crBackground
新しい背景色 (通常は COLOR_MENU などの灰色)。

解説

AfxDrawGrayBitmap で描画されるビットマップの外観は、無効なコントロールになります。

灰色と元のアイコンのバージョンの比較。

void CDCView::DrawGrayBitmap(CDC* pDC)
{
   CBitmap bm;
   bm.LoadBitmap(IDB_BITMAP1);
   AfxDrawGrayBitmap(pDC, 10, 50, bm, GetSysColor(COLOR_MENU));
}

要件

ヘッダー: afxwin.h

AfxGetGrayBitmap

灰色のバージョンのビットマップをコピーします。

void AFXAPI AfxGetGrayBitmap(
    const CBitmap& rSrc,
    CBitmap* pDest,
    COLORREF crBackground);

パラメーター

rSrc
元のビットマップ。

pDest
コピー先のビットマップ。

crBackground
新しい背景色 (通常は COLOR_MENU などの灰色)。

解説

AfxGetGrayBitmap でコピーされるビットマップの外観は、無効なコントロールのようになります。

灰色と元のアイコンのバージョンの比較。

CBitmap bm;
bm.LoadBitmap(IDB_BITMAP1);
CBitmap bmGray;
AfxGetGrayBitmap(bm, &bmGray, GetSysColor(COLOR_MENU));

要件

ヘッダー: afxwin.h

AfxDrawDitheredBitmap

ビットマップを描画し、背景をディザリング (チェッカー) パターンに置き換えます。

void AFXAPI AfxDrawDitheredBitmap(
    CDC* pDC,
    int x,
    int y,
    const CBitmap& rSrc,
    COLORREF cr1  ,
    COLORREF cr2);

パラメーター

pDC
宛先 DC を示します。

x
宛先の x 座標。

y
宛先の y 座標。

rSrc
元のビットマップ。

cr1
2 つのディザ カラーの 1 つ (通常は白)。

cr2
もう 1 つのディザ カラー (通常は薄い灰色 (COLOR_MENU)。

解説

ソース ビットマップは、ビットマップの背景を置き換える 2 色 (cr1cr2) のチェッカー パターンを使用して、コピー先 DC に描画されます。 ソース ビットマップの背景は、その白いピクセルと、ビットマップの左上隅のピクセルの色に一致するすべてのピクセルとして定義されます。

ディザリングされたアイコンバージョンと元のアイコンバージョンの比較。

void CDCView::DrawDitheredBitmap(CDC* pDC)
{
   CBitmap bm;
   bm.LoadBitmap(IDB_BITMAP1);
   AfxDrawDitheredBitmap(pDC, 10, 50, bm, RGB(255, 255, 255),
      GetSysColor(COLOR_BTNFACE));
}

要件

ヘッダー: afxwin.h

AfxGetDitheredBitmap

ビットマップをコピーし、背景をディザリング (チェッカー) パターンに置き換えます。

void AFXAPI AfxGetDitheredBitmap(
    const CBitmap& rSrc,
    CBitmap* pDest,
    COLORREF cr1  ,
    COLORREF cr2);

パラメーター

rSrc
元のビットマップ。

pDest
コピー先のビットマップ。

cr1
2 つのディザ カラーの 1 つ (通常は白)。

cr2
もう 1 つのディザ カラー (通常は薄い灰色 (COLOR_MENU)。

解説

ソース ビットマップは、ソース ビットマップの背景を置き換える 2 色 (cr1cr2) チェッカー パターンを使用してコピー先ビットマップにコピーされます。 ソース ビットマップの背景は、その白いピクセルと、ビットマップの左上隅のピクセルの色に一致するすべてのピクセルとして定義されます。

ディザリングされたアイコンバージョンと元のアイコンバージョンの比較。

CBitmap bm;
bm.LoadBitmap(IDB_BITMAP1);
CBitmap bmDith;
AfxGetDitheredBitmap(bm, &bmDith, RGB(255, 255, 255),
   GetSysColor(COLOR_BTNFACE));

要件

ヘッダー: afxwin.h

関連項目

マクロとグローバル