單文檔:利用畫刷填充矩形,很簡單
CRect rc(10,10,20,200);
CBrush bru;
    bru.CreateHatchBrush (HS_BDIAGONAL   ,RGB(0,0,255));
pDC->SelectObject (&bru);
pDC->Rectangle (&rc);
pDC->SelectObject (&bru);
bru.DeleteObject ();
這是二維的,下面是三維的
三維的直方圖,只是照我們手畫圓柱體,在二維的基礎上在上面和側面加了平行四邊
CRect rc(50,50,100,200);
CBrush bru;
    CPoint r[4];
    bru.CreateHatchBrush (HS_BDIAGONAL   ,RGB(0,0,255));
pDC->SelectObject (&bru);
pDC->Rectangle(&rc);
//頂部四邊形
    r[0].x=50;r[0].y=50;
r[1].x =100;r[1].y=0;
r[2].x=150;r[2].y=0;
r[3].x=100;r[3].y=50;
pDC->Polygon (r,4);
    r[0].x=100;r[0].y=200;
r[1].x =150;r[1].y=150;
r[2].x=150;r[2].y=0;
r[3].x=100;r[3].y=50;
    pDC->Polygon (r,4);
pDC->SelectObject (&bru);
bru.DeleteObject ();