导航
  • 主页
  • VC/MVC基础类
  • .NET 技术
  • VC/MFC界面
  • VC/MFC 进程
  • VC/MFC 数据库
  • VC/MFC&Web
  • Doc/View

关于在CStatic(Picture)中控件缩放显示整张图片??

zslwp 2002-07-29 02:56:19
我做了一个基于对话框的程序,在CDialog中放了一个CStatic(Picture)控件,在CDialog的OnInitDialog中加入以下代码
     {
static HBITMAP hBitMap;
hBitMap=LoadBitmap(AfxGetApp()->m_hInstance,MAKEINTRESOURCE(IDB_PicBack));
m_CPicBack.SetBitmap(hBitMap);
程序运行时即可显示该图片,但不能显示全部,我想在固定大小的CStatic中显示整张图怎办????
...全文
343 点赞 收藏 6
写回复
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
zslwp 2002-07-29
实践证明:用StretchBlt是可以实现,但会失真,用"Romanticist"这位仁兄的代码可以实现,
最后得分“studentforever”+10分,“romanticist”+40分。
回复
studentforever 2002-07-29
说错了,函数应该是BOOL StretchBlt( int x, int y, int nWidth, int nHeight, CDC* pSrcDC, int xSrc, int ySrc, int nSrcWidth, int nSrcHeight, DWORD dwRop );
回复
romanticist 2002-07-29
CRect rect;
m_CPicBack.GetClientRect(&rect);
bitmap=(HBITMAP)LoadImage(AfxGetInstanceHandleMAKEINTRESOURCE(IDB_PicBack))IMAGE_BITMAP,rect.Width(),rect.Height(),LR_CREATEDIBSECTION);
m_CPicBack.SetBitmap(hBitMap);
回复
studentforever 2002-07-29
使用BOOL BitBlt( int x, int y, int nWidth, int nHeight, CDC* pSrcDC, int xSrc, int ySrc, DWORD dwRop );
将图片的新大小指定为static控件的大小。
回复
zslwp 2002-07-29
updd
回复
zslwp 2002-07-29
高手请教!!
回复
发动态
发帖子
VC/MFC
创建于2007-09-28

1.5w+

社区成员

VC/MFC相关问题讨论
申请成为版主
社区公告
暂无公告