在列表框中贴图

 

在列表框中贴图,或者在静态控件上画图的一个方法是采用CPaintDC来构建DC,这样可以很方便的使用。如下面的程序段:


  CBitmap bitmap;
  bitmap.LoadBitmap(IDB_BITMAP);
  CPaintDC dc(GetDlgItem(IDC_LIST));
  CRect rect;
  GetDlgItem(IDC_LIST)->GetWindowRect(&rect);
        CDC dcCompatibleDC;
  dcCompatibleDC.CreateCompatibleDC(&dc);
  dcCompatibleDC.SelectObject(&bitmap);
  dc.BitBlt(0,0,rect.Width(),rect.Height(),&dcCompatibleDC,0,0,SRCCOPY);
  其中IDC_BITMAP是要显示的位图资源,IDC_LIST是列表框的ID号

GetWindowRect是用来获得列表框大小的。

加入下面的语句,可以将整幅图片显示出来。

BITMAP bm;
  bitmap.GetBitmap(&bm);

 dc.StretchBlt(0,0,rect.Width(),rect.Height(),&dcCompatibleDC,0,0,bm.bmWidth,bm.bmHeight,SRCCOPY);

posted @ 2006-12-06 20:44  巨巨  阅读(119)  评论(0编辑  收藏  举报