Autor Beitrag
HoPPeL
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 51



BeitragVerfasst: Mi 04.05.11 11:14 
Hallo,

Um eine Temperaturanzeige zu beschriften erzeuge ich labels auf diese Weise:

ausblenden C#-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
for (int i = 0; i < 8; i++)
            {
             
                vtkTextActor LabelActor = new vtkTextActor();
        
                LabelActor.GetTextProperty().SetFontSize(12);
                LabelActor.GetTextProperty().BoldOn();

                LabelActor.SetPosition(ScalarBar.GetWidth() * size[0] + 10, (((1 - ScalarBar.GetHeight()) / 2) * size[1] * 0.96) * (i + 1));
                LabelActor.SetInput(string.Format("{0:F2}" + "°C", Tempmin + temp * i));
                LabelActor.GetTextProperty().SetColor(1.00.00.0);

                Ren1.AddActor2D(LabelActor);
            }


danach habe ich ja dann 8 labels, die alle gleich heißen, aber ich denke mal, dass man das so normalerweise nicht macht?!
vorallem wenn ich die löschen will, bekomm ich irgendwie probleme, da immer nur einer gelöscht wird...

kann mir da jemand weiterhelfen?

mfg
Dr. Hallo
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 110
Erhaltene Danke: 13

XP
C/C++/C#
BeitragVerfasst: Mi 04.05.11 12:43 
du willst irgendwas vertikales beschriften? ich würde es nicht mit lauter labels tun. insbesondere wenn du sehr viele davon hast könnte sich das negativ auf die performance auswirken. stattdessen zeichne deine beschriftung im paint ereignis mit der DrawString funktion.

ausblenden C#-Quelltext
1:
2:
3:
4:
deineLeinwand_Paint(object sender, PaintEventArgs e)
{
    e.Graphics.DrawString(...);
}