VC里怎么改变客户区窗口大小?

我建了个单文档程序,想从电脑上动态读入任意位图,但是位图读入后,老是不是太大就是太小,怎么设置让图读入时客户区能根据其大小自动调节大小?设置窗口大小的函数是什么?怎么用?... 我建了个单文档程序,想从电脑上动态读入任意位图,但是位图读入后,老是不是太大就是太小,怎么设置让图读入时客户区能根据其大小自动调节大小?设置窗口大小的函数是什么?怎么用??
我的英文很差的...那上面术语太多,看不懂,能不能举个简单的例子....

晕,我是想客户区的大小是根据图像来调节的,而不是图像根据窗口大小来调节自己.....
展开
 我来答
guantong_GT
2007-08-23
知道答主
回答量:10
采纳率:0%
帮助的人:17.7万
展开全部
首先通过类项导添加一个虚函数OnEraseBkgnd(CDC* pDC)
然后添加如下代码:
CDC dcComp;
dcComp.CreateCompatibleDC(pDC);

CBitmap bmp;
bmp.LoadBitmap(IDB_BITMAP1);

CRect rc;
GetClientRect(&rc);
BITMAP bitmap;
bmp.GetBitmap(&bitmap);

CBitmap *pOldbmp = dcComp.SelectObject(&bmp);
pDC->BitBlt(0,0,bitmap.bmWidth,bitmap.bmHeight,&dcComp,0,0,SRCCOPY);

// pDC->StretchBlt(0,0,rc.Width(),rc.Height(),&dcComp,0,0,bitmap.bmWidth,bitmap.bmHeight,SRCCOPY);
dcComp.SelectObject(pOldbmp);
return TRUE;
// return CView::OnEraseBkgnd(pDC);
注:pDC->BitBlt(...)不压缩图片---窗口比图源橡片小则显示图片的颤裂茄一部分
pDC->StretchBlt(...)压缩图片---窗口多茄察大图片就多大(但图片的显示质量不太好)

==================================================
那你就
BITMAP bitmap;
bmp.GetBitmap(&bitmap);
得到图片的大小后再SetWindoPos(...)设置窗口大小呗
retty85
2007-08-21 · TA获得超过111个赞
知道小有建树答主
回答量:159
采纳率:0%
帮助的人:0
展开全部
api函数为 SetWindowPos

你可以查查MSDN
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式