为什么预览和打印不一至?
sunqi 2001-03-08 05:29:00 我的程序要打印位图及文字,表格,预览正常,打印时位图不见了。反复研究,实在搞不懂,请大家帮忙。
我做了个测试,用APPWIZARD产生一标准SDI窗口,
在OnPrint写以下代码
CView::OnPrint(pDC, pInfo);
CBitmap icon;
icon.LoadBitmap(IDB_BITMAP1);
CDC dc;
dc.CreateCompatibleDC(NULL);
dc.SelectObject(&icon);
pDC->BitBlt( 0, 0, 100,100,&dc,0,0,SRCCOPY);
结果程序正常打印位图(我的位图小于100*100)位于最左上角
继续我写成
CView::OnPrint(pDC, pInfo);
CBitmap icon;
icon.LoadBitmap(IDB_BITMAPFAX);
CDC dc;
dc.CreateCompatibleDC(NULL);
dc.SelectObject(&icon);
pDC->BitBlt( 0, 0, 100,100,&dc,0,0,SRCCOPY);
pDC->BitBlt( 500, 0, 100,100,&dc,0,0,SRCCOPY);
pDC->BitBlt( 0, 500, 100,100,&dc,0,0,SRCCOPY);
pDC->BitBlt(-500, 0, 100,100,&dc,0,0,SRCCOPY);
pDC->BitBlt( 0,-500, 100,100,&dc,0,0,SRCCOPY);
打印一个五个图标,应该十字排开,我希望能打印出三个,结果预览与我想象一致
而打印出的只有两个,上下排列,坐标分别为(0,0),(0,500);
当时(500,0)的为什么打印不出呢?
再增加代码
pDC->BitBlt( 500, 500, 100,100,&dc,0,0,SRCCOPY);
也只能预览。
help me !