mfc picture control怎么只显示图片的一部分

JoyTesting 2014-02-28 11:50:46
相用vc里的Picture control显示bmp图片,但是用以下代码只能显示全部图片,我想请问是不是由函数支持能显示图片的一部分,例如显示左边一半图片
CStatic* pWnd = (CStatic*)GetDlgItem(IDC_PIC); // 得到 Picture Control 句柄
pWnd->ModifyStyle(0, SS_BITMAP); // 修改它的属性为位图
pWnd->SetBitmap((HBITMAP)::LoadImage(NULL, _T("Bmp.bmp"),
IMAGE_BITMAP,
800,
480,
LR_CREATEDIBSECTION | LR_DEFAULTSIZE | LR_LOADFROMFILE));

}
...全文
512 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
chinacoding 2014-03-27
  • 打赏
  • 举报
回复
引用 3 楼 dawei2047218 的回复:
[quote=引用 1 楼 chinacoding 的回复:] 图片的size超过了控件本身的size,所以只显示了一部分。 最好的办法就是重载onpaint事件。 GetClientRect 根据RECT 直接bltbit图片就可以了。 好处就是控件怎么改不会影响显示。
我想实现的是只画出一个图片的局部,用bitblt可以实现图片区域的选取,但是,我想用标准控件来实现.不知道怎么把bitblt和pictcontrol结合起来[/quote] 重载控件的onpaint事件就可以了
JoyTesting 2014-03-06
  • 打赏
  • 举报
回复
引用 1 楼 chinacoding 的回复:
图片的size超过了控件本身的size,所以只显示了一部分。 最好的办法就是重载onpaint事件。 GetClientRect 根据RECT 直接bltbit图片就可以了。 好处就是控件怎么改不会影响显示。
我想实现的是只画出一个图片的局部,用bitblt可以实现图片区域的选取,但是,我想用标准控件来实现.不知道怎么把bitblt和pictcontrol结合起来
chinacoding 2014-03-01
  • 打赏
  • 举报
回复
图片的size超过了控件本身的size,所以只显示了一部分。 最好的办法就是重载onpaint事件。 GetClientRect 根据RECT 直接bltbit图片就可以了。 好处就是控件怎么改不会影响显示。

7,540

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 VC.NET
社区管理员
  • VC.NET社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧