在列表框中贴图
在列表框中贴图,或者在静态控件上画图的一个方法是采用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);