请问如何在 Panel 上使用 Canvas ???

sadshadow 2002-01-21 09:12:14
请问如何在 Panel 上使用 Canvas ???
...全文
209 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
shinesi 2002-01-22
  • 打赏
  • 举报
回复
楼上很对
sfemil 2002-01-22
  • 打赏
  • 举报
回复
有高手刚指点我,与你分享!
TCanvas *pCanvas = new TCanvas();
pCanvas->Handle = GetDC(Panel1->Handle);
pCanvas->Brush->Color = clRed;
pCanvas->FillRect(Panel1->CliectRect)
sfemil 2002-01-22
  • 打赏
  • 举报
回复
Panel的Canvas对象我也不知道怎么访问,但想在Panel上绘制图形,可以使用API函数
首先得到Panel的句柄 然后再得到Panel的hdc对象 现在就可以调用其他的API绘图了!
比如:
Point CurPos;
GetCursorPos(&CurPos);
HWND hWnd = WindowFromPoint(CurPos);
HDC hDc = GetWindowDC(hWnd);
...开始绘制

注释:当鼠标移动到Panel上时触发事件执行以上代码,便可绘制!
当然 你也可以通过其他方式得到Panel的句柄!
我的一点体会:TCanvas对象并不是十全十美!它也有自己的不足!在特定条件下,它是会出错的!但愿你不要遇见这样的尴尬!

whitehare 2002-01-21
  • 打赏
  • 举报
回复
:)
whitehare 2002-01-21
  • 打赏
  • 举报
回复
C++ Builder?
whitehare 2002-01-21
  • 打赏
  • 举报
回复
panel.Canvas.xxx

13,825

社区成员

发帖
与我相关
我的任务
社区描述
C++ Builder相关内容讨论区
社区管理员
  • 基础类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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