文章 "研究CCanvas类如何绘制透明的图形对象" - 页 2

 
denkir:

问题是这样的。在图形中移动画布的最佳实现方法是什么?类似方法:

"canvas" - 创建标准的 OBJ_BITMAP_LABEL 或 OBJ_BITMAP。帮助中有如何将它们放置在图表上的函数

 //+------------------------------------------------------------------+
//|| 移动 "图形标签 "对象
//+------------------------------------------------------------------+
bool BitmapLabelMove(const long   chart_ID=0,      // 图表 ID
                     const string name="BmpLabel", // 标签名称
                     const int    x=0,             // X 轴坐标
                     const int    y=0)             // Y 轴坐标
  {
//-- 重置错误值
   ResetLastError();
//--- 移动对象
   if(!ObjectSetInteger(chart_ID,name,OBJPROP_XDISTANCE,x))
     {
      Print(__FUNCTION__,
            ":移动对象的 X 坐标失败!错误代码 = ",GetLastError());
      return(false);
     }
   if(!ObjectSetInteger(chart_ID,name,OBJPROP_YDISTANCE,y))
     {
      Print(__FUNCTION__,
            ":移动对象的 Y 坐标失败!错误代码 = ",GetLastError());
      return(false);
     }
//--- 成功执行
   return(true);
  }

我一下子没注意到上面的讨论:)- 实际上与 ZORDER 相同,只是 X 和 Y 不同

 
MigVRN:

"canvas" - 创建标准的 OBJ_BITMAP_LABEL 或 OBJ_BITMAP。帮助中有将它们放到图表上的函数

我一下子没注意到上面的讨论:)- 实际上与 ZORDER 相同,只是 X 和 Y 不同

啊哈,谢谢,成功了...我自己也试过使用 ObjectMove...

我正在使用 kanvas.... 创建一个面板我需要在图表上尽可能地移动它....
 
denkir:

是的,谢谢,成功了我自己也试过使用 ObjectMove...

我在 kanvas 的帮助下创建了一个面板...我需要在图表上尽可能地移动它...
如果面板是在标准对话框的基础上创建的?那么在对话框中创建并添加到对话框中的所有元素都将与对话框一起拖动。
 
barabashkakvn:
如果面板是在标准对话框的基础上创建的呢?那么在对话中创建并添加到对话中的所有元素都将与对话一起拖动。
是的,这是个很方便的功能,我同意...我一直都是这么做的...但有一个问题是,如何在 panel.... 中添加自定义图形?一般来说,有必要制作一个类似 kanvas 的控件:public CWndObj。现在我正在思考这个问题...
 
denkir:
是的,这是个很方便的功能,我同意.....。我一直都是这么做的...但有一个问题是如何在面板上添加自定义图形....一般来说,有必要制作一个类似 kanvas 的控件:public CWndObj。现在我正在思考这个问题...

观看帖子 中的视频。

3 月 15 日后将在源代码中

 
denkir:
是的,这是个很方便的功能,我同意.....。我一直都是这么做的...但有一个问题是如何在面板上添加自定义图形.... 一般来说,有必要制作一个类似 kanvas 的控件:public CWndObj。现在我正在思考这个问题...

自定义图形"是什么意思?

  • 我的意思是你作为程序员绘制的图形吗?
  • 我是说从程序用户那里获取图片,然后将图片显示在画布上?
 
barabashkakvn:

什么叫 "自定义图形"?

  • 是指你作为程序员绘制的图形吗?
  • 我的意思是,它从程序用户那里获取一张图片,然后将这张图片显示在画布上?
是的,我含糊其辞.....我指的是通过 CCanvas类的方法 动态创建不同图形的能力...
 

弗拉基米尔,我还想问你一件事。

有一个CAppDialog 类型的面板。其中一个元素是 CBmpButton类型的图形标签 。我们的目标是创建一个具有自定义图形功能的可控面板元素......?

谢谢。

 
denkir:

弗拉基米尔,我还想问你一件事。

有一个CAppDialog 类型的面板。其中一个元素是 CBmpButton类型的图形标签 。我们的目标是创建一个具有自定义图形功能的可控面板元素......?

谢谢...

您可以通过Create(创建)方法创建画布(即多个画布),而无需链接到图形对象,然后将这些资源分配给 BmpButton。您甚至可以尝试制作动画。顺便说一句,我还想考虑制作动画很久呢。
 

弗拉基米尔,谢谢你的建议,一切都很顺利!

是的,画布非常强大 :-)

我们期待着您的有趣文章!