Announcement

Collapse
No announcement yet.

Erzeugen von Objekten zur Laufzeit

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • Erzeugen von Objekten zur Laufzeit

    Hallo,

    mit folgendem Quelltext

    TPanel* P = new TPanel(Application);
    P->Left = SpeedButton2->Left + SpeedButton2->Width + 10;
    P->Top = SpeedButton2->Top;
    P->Width = 200;
    P->Height = SpeedButton2->Height;
    P->Parent = Form1;

    TLabel* L = new TLabel(P);
    L->Parent = P;
    L->AutoSize = false;
    L->Width = 30;
    L->Height = P->Height - 6;

    kann ich ein Panel erzeugen und darauf ein Label.
    Sobald ich jedoch die Position des Labels auf dem Panel angeben will

    L->Left = P->Left + 2;
    L->Top = P->Top + 2;

    ist von dem Label nichts mehr zu sehen.
    Woran kann's liegen?

    vielen Dank für alle Tipps

  • #2
    Hallo Martin!

    Das Problem bei diesem Quelltext ist einfach nur ein Denkfehler im Koordinatensystem. Da Dein Label als Owner das Panel hat, wird die Position relativ zu dessen Kanten angegeben. Du hast aber ziemlich große Werte in Top und Left eingetragen, da die entsprechenden Werte für das Panel ja wieder relativ zu Deinem Formular sind.
    Versuch es erst mal mit zwei kleinen Werten für das Label,also z.B.
    L->Left = 2;
    L->Top = 2;
    Mit Deinem Originalquelltext wird das Label ins Nirvana verschoben, also ein paar Pixel außerhalb des Panels.

    Gruß Pete

    Comment


    • #3
      Danke für den Tipp, Peter.
      Marti

      Comment

      Working...
      X