Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/asp.net-mvc-3/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Delphi 在条形图前面显示标签_Delphi - Fatal编程技术网

Delphi 在条形图前面显示标签

Delphi 在条形图前面显示标签,delphi,Delphi,我有一个问题,我的“标记”和TChart一起藏在吧台后面…我添加了标记,它在吧台后面画了自己。有办法把它带到前面吗?我希望任何人都能帮助我。谢谢 我不知道图形栏实例化的是哪个类,但我知道TLabel是TGraphic控件的后代。从Tgraphic控件下降的控件没有任何窗口句柄;因此,它们的父对象负责在自己的画布上绘制它们 在窗体上放置标签时,窗体是标签的父级,并将在其自己的画布上绘制标签。如果删除窗口控件(从TWinControl类派生的控件,例如TButton或TProgressBar),它们

我有一个问题,我的“标记”和TChart一起藏在吧台后面…我添加了标记,它在吧台后面画了自己。有办法把它带到前面吗?我希望任何人都能帮助我。谢谢


我不知道图形栏实例化的是哪个类,但我知道TLabel是TGraphic控件的后代。从Tgraphic控件下降的控件没有任何窗口句柄;因此,它们的父对象负责在自己的画布上绘制它们

在窗体上放置标签时,窗体是标签的父级,并将在其自己的画布上绘制标签。如果删除窗口控件(从TWinControl类派生的控件,例如TButton或TProgressBar),它们将在父画布的顶部处理自己的图形。这意味着,TGraphicControl的后代将始终绘制在具有相同父窗口的TWinControl类的后代之后

最简单的解决方案是使用TStaticText,它提供与TLabel相同的功能,但它是TWinControl的后代


也可能有其他解决方案,例如:您可以在表单上放置一个面板,然后将标签添加到面板,然后将面板置于前面,将其显示在图形栏上方。将标签添加到面板时,其父控件将设置为该面板控件,面板将负责绘制标签;或者将图形栏设置为标签的父级;或者派生一个新的graph bar类,并处理其绘制方法以直接在画布上绘制文本。

我不知道图形栏实例化的是哪个类,但我知道TLabel是TGraphicControl的后代。从Tgraphic控件下降的控件没有任何窗口句柄;因此,它们的父对象负责在自己的画布上绘制它们

在窗体上放置标签时,窗体是标签的父级,并将在其自己的画布上绘制标签。如果删除窗口控件(从TWinControl类派生的控件,例如TButton或TProgressBar),它们将在父画布的顶部处理自己的图形。这意味着,TGraphicControl的后代将始终绘制在具有相同父窗口的TWinControl类的后代之后

最简单的解决方案是使用TStaticText,它提供与TLabel相同的功能,但它是TWinControl的后代


也可能有其他解决方案,例如:您可以在表单上放置一个面板,然后将标签添加到面板,然后将面板置于前面,将其显示在图形栏上方。将标签添加到面板时,其父控件将设置为该面板控件,面板将负责绘制标签;或者将图形栏设置为标签的父级;或者派生一个新的graph bar类,并处理它的Paint方法以直接在画布上绘制文本。

好的,现在我知道出了什么问题。您有三个条形图系列,但第三个条形图是在第二个条形图的标记上绘制的。在填充3小节系列后,请尝试:

barseries2.marks.visible:=False;
barseries2.marks.visible:=True;

这应该会重新涂上标记(虽然没有测试)。

好的,现在我知道出了什么问题。您有三个条形图系列,但第三个条形图是在第二个条形图的标记上绘制的。在填充3小节系列后,请尝试:

barseries2.marks.visible:=False;
barseries2.marks.visible:=True;

这应该重新绘制标记(未测试)。

TStaticText是一个真正的TWinControl,可以用来代替TLabel。我想你弄错了,它是TChart附带的“标记”。我加上了标记,它就在栅栏后面画了出来。有没有办法把它放在前面?TStaticText是一个真正的TWinControl,可以用来代替TLabel。我想你搞错了,它是TChart附带的一个“标记”。我加上了标记,它就在栅栏后面画了出来。有没有办法把它放在前面?如果你能让我们知道你在图表中使用了什么组件,那将非常有帮助。如果你能让我们知道你在图表中使用了什么组件,那将非常有帮助。