用FillRect在客户区的对话框中画出位图想把它变成按钮的,可是位图不能设置位置求大神指导。

坏蛋你好 2014-11-26 05:49:22
现在我想把一张位图画在对话框的客户区中的固定位置,rcClient.left = rcClient.left + 10; 这句代码添加以后,位图变成这样的:
一下代码确实可以画出一张位图,rcClient.left = rcClient.left + 10; 如果是10 ,则位图前侧10的位置会跑到位图的最后,我现在想通过一种方法,让位图移动到对话框的中心位置,或者其他位置都可以只要能够自己移动就行,求解。

FillRect();函数查了一下,说是第一个参数的的CRECT的顶点坐标貌似是必须要为(0,0),怎么才能可以随便移动呢?

CRect rcClient;
GetClientRect(&rcClient);

rcClient.left = rcClient.left + 10;
rcClient.right = rcClient.left + 99;
rcClient.bottom = rcClient.top + 45;
CBitmap bitmap1,bitmap2,bitmap3;
bitmap1.LoadBitmap(IDB_CardU);//其中IDB_BITMAP是位图名称
CBrush brush1(&bitmap1);
CClientDC dc1(this);
dc1.FillRect(&rcClient,&brush1);
...全文
278 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
坏蛋你好 2014-11-26
  • 打赏
  • 举报
回复
引用 2 楼 u012221383 的回复:
[quote=引用 1 楼 hnzlk 的回复:] 把CBrush设置成平铺模式呢。
可以说的详细一点吗?[/quote] BitBlt这个的就可以,GDI+有点恶心
坏蛋你好 2014-11-26
  • 打赏
  • 举报
回复
引用 3 楼 hnzlk 的回复:
用BitBlt来画,或者用gdi+
我去的,貌似就是这样的,可以给一份代码吗?急需!谢谢!
hnzlk 2014-11-26
  • 打赏
  • 举报
回复
用BitBlt来画,或者用gdi+
坏蛋你好 2014-11-26
  • 打赏
  • 举报
回复
引用 1 楼 hnzlk 的回复:
把CBrush设置成平铺模式呢。
可以说的详细一点吗?
hnzlk 2014-11-26
  • 打赏
  • 举报
回复
把CBrush设置成平铺模式呢。

15,979

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 界面
社区管理员
  • 界面
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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