为什么这段StretchDIBits总是返回的是0???
void printpic::OnPaint()
{
CClientDC dc(this); // device context for painting
BITMAPFILEHEADER bmfHeader;//定义位图文件头结构;
BITMAPINFOHEADER bmhdinfo;//指向位图信息头结构的指针
BITMAPINFO bitmapinfo;
FILE * readstream;
if((readstream=fopen(lpszPathName,"rb"))==NULL){
return;
}
if (fread(&bmfHeader,sizeof(BITMAPFILEHEADER),1,readstream)!=1) {
return;
}
if (fread(&bmhdinfo,sizeof(BITMAPINFOHEADER),1,readstream)!=1) {
return;
}
bitmapinfo.bmiHeader=bmhdinfo;
int ii=StretchDIBits(dc.GetSafeHdc(),0,0,bmhdinfo.biWidth,bmhdinfo.biHeight,0,0,
bmhdinfo.biWidth,bmhdinfo.biHeight,(char *)readstream,&bitmapinfo,DIB_RGB_COLORS,SRCCOPY);
搞了很久了,不知道为什么总是零,在对话框上什么也显示不出来?
多谢了!!~