已知bitmap句柄如何显示出来

SonicX 2006-04-17 12:12:40
想用BitBlt来复制到别的窗体上,但BitBlt需要HDC,不知bitmap句柄如何转换到HDC
请高手指点
...全文
189 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
gooddancer 2007-04-11
  • 打赏
  • 举报
回复
这样才是好孩子嘛
gooddancer 2007-04-09
  • 打赏
  • 举报
回复
哥们,解决了,也把你怎么解决的步骤方法贴出来
SonicX 2007-04-09
  • 打赏
  • 举报
回复
var
dc,dcTmp:HDC;
begin
...
dc:=GetDC(0);
dcTmp:=CreateCompatibleDC(dc);
SelectObject(dcTmp,nHBITMAP);
BitBlt(dc,0,0,16,16,dcTmp,0,0,SRCCOPY);
ReleaseDC(0,dc);
DeleteDC(dcTmp);
...
end;
SonicX 2006-04-18
  • 打赏
  • 举报
回复
to:keiy()
我复制了2次,2个坐标位置
第1个BitBlt是按你说的用bitmap的handle,没显示
第2个BitBlt用的是Canvas的句柄
SonicX 2006-04-18
  • 打赏
  • 举报
回复
解决了,感谢大家参与,散分
柯本 2006-04-17
  • 打赏
  • 举报
回复
bitmap的handle就是HDC,可直接用于bitblt
GARNETT2183 2006-04-17
  • 打赏
  • 举报
回复
用GETDC
var
han: HWND;
dc: HDC;
begin
han := form1.handle;
dc := GetDC(han); //dc这就是窗体的HDC了...如果GetDc(0),返回的就是桌面的HDC。。
end;
柯本 2006-04-17
  • 打赏
  • 举报
回复
bitmap当然是1个图
SonicX 2006-04-17
  • 打赏
  • 举报
回复
to
GARNETT2183(KingWolves (http://kevin-lu.blogspot.com))
我想得到的是bitmap的HDC
GETDC(bmp.Handle) 返回是0

to
keiy()
好像不是吧
var
bmp:Tbitmap;
begin
bmp:=Tbitmap.Create;
bmp.LoadFromResourceName(HInstance,'BBALL');

BitBlt(self.Canvas.Handle,0,0,16,16,bmp.Handle,0,0,SRCCOPY);
BitBlt(self.Canvas.Handle,0,16,16,16,bmp.Canvas.Handle,0,0,SRCCOPY);

bmp.Free;
end;
只显示1个图

1,183

社区成员

发帖
与我相关
我的任务
社区描述
Delphi Windows SDK/API
社区管理员
  • Windows SDK/API社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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