AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Object-Pascal / Delphi-Language Delphi Label zur Laufzeiter erstellen-nicht angezeigt auf Groupbox
Thema durchsuchen
Ansicht
Themen-Optionen

Label zur Laufzeiter erstellen-nicht angezeigt auf Groupbox

Ein Thema von Susanne · begonnen am 4. Dez 2006 · letzter Beitrag vom 4. Dez 2006
 
Susanne

Registriert seit: 21. Mai 2004
Ort: Lage
232 Beiträge
 
Delphi 2005 Professional
 
#3

Re: Label zur Laufzeiter erstellen-nicht angezeigt auf Group

  Alt 4. Dez 2006, 11:16
repaint hilft auch nicht.

In FormCreate erzeuge ich die Labels
Delphi-Quellcode:
SetLength(a_Lbl,i_LblCnt);
  for i := low(a_Lbl) to high(a_Lbl) do
    begin
      a_Lbl[i] := TLabel.Create(Self);
      a_Lbl[i].Font.Size:= 10;
      a_Lbl[i].Parent := Form2;
      a_Lbl[i].Caption := IniFile.ReadString(sl_Lbl[i],'label text','');
      a_Lbl[i].Left := IniFile.ReadInteger(sl_Lbl[i],'x',8);
      a_Lbl[i].Top := IniFile.ReadInteger(sl_Lbl[i],'y',8);
      //hier rufe ich die Funktion auf und setze das Parent
      CheckAndSetLabelParent(a_Lbl[i],a_Gbx);
    end;

In der Funktion setze ich das PArent
Delphi-Quellcode:
procedure TForm2.CheckAndSetLabelParent(var lb_Temp : TLabel; a_GbxTemp : GbxArray);
var
  i_GbX : Integer;
  i_GbY : Integer;
  i_GbH : Integer;
  i_GbB : Integer;
  x : Integer;
  y : Integer;
  i : Integer;
begin
  //alle vorhandenen Groupboxen durch gehen
  for i := low(a_GbxTemp) to high(a_GbxTemp) do
    begin
      i_GbX := a_GbxTemp[i].Left;
      i_GbY := a_GbxTemp[i].Top;
      i_GbH := a_GbxTemp[i].height + i_GbY;
      i_GbB := a_GbxTemp[i].width + i_GbX;
      //prüfen, in welche groupbox das Label gehört
      if (lb_Temp.Left >= i_GbX) and (lb_Temp.Left<= i_GbB) and (lb_Temp.Top >= i_GbY) and (lb_Temp.Top<= i_GbH) then
        begin
          lb_Temp.Left := lb_Temp.Left - a_GbxTemp[i].Left;
          lb_Temp.Top := lb_Temp.Top - a_GbxTemp[i].Top;
          lb_Temp.Parent := a_GbxTemp[i];
          lb_Temp.BringToFront;
        end
      else
        lb_Temp.Parent := Form2;
    end;
end;
Susanne
  Mit Zitat antworten Zitat
 


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 09:25 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz