AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

TLabel zur Laufzeit

Ein Thema von MadMason · begonnen am 11. Jan 2003 · letzter Beitrag vom 12. Jan 2003
Antwort Antwort
MadMason

Registriert seit: 9. Nov 2002
Ort: Altenburg
126 Beiträge
 
Delphi 2005 Architect
 
#1

TLabel zur Laufzeit

  Alt 11. Jan 2003, 14:01
Ich habe ein Form mit einer PageControl
auf einem Tabsheet ist eine GroupBox

Ich möchte nun zur Laufzeit ein Label in der GroupBox erzeugen.

wenn ich mit
Code:
 var lab: TLabel;

 lab:= TLabel.Create(GroupBox1);
 lab.Top:= 8;
 lab.Left:= 8;
 lab.Caption:= 'Test';
ein label erzeuge ist das aber nirgendwo zu sehen

was mach ich falsch?
Einstein ist tot
Newton ist tot
und mir ist auch schon ganz schlecht
  Mit Zitat antworten Zitat
CalganX

Registriert seit: 21. Jul 2002
Ort: Bonn
5.403 Beiträge
 
Turbo Delphi für Win32
 
#2
  Alt 11. Jan 2003, 14:18
Ersteinmal ein Tipp: formatiere deine Sources doch bitte mit den Delphi-Tags ( [ delphi ] ... [ /delphi ] (nur ohne Leerzeichen))...

Also, zu deinem Problem: Du musst ersteinmal das Label auf Visible stellen:
Delphi-Quellcode:
Lab.Visible := true;
Lab.Parent := GroupBox1; // ist auch noch zu empfehlen
Chris
  Mit Zitat antworten Zitat
Christian Seehase
(Co-Admin)

Registriert seit: 29. Mai 2002
Ort: Hamburg
11.116 Beiträge
 
Delphi 11 Alexandria
 
#3
  Alt 11. Jan 2003, 14:51
Moin Chris,

das visible ist bei einem Label nicht erforderlich, da dies standardmässig auf true steht.
Tschüss Chris
Die drei Feinde des Programmierers: Sonne, Frischluft und dieses unerträgliche Gebrüll der Vögel.
Der Klügere gibt solange nach bis er der Dumme ist
  Mit Zitat antworten Zitat
CalganX

Registriert seit: 21. Jul 2002
Ort: Bonn
5.403 Beiträge
 
Turbo Delphi für Win32
 
#4
  Alt 11. Jan 2003, 15:04
Also, ich habe die Erfahrung gemacht, dass Visible bei dynamisch erstellten Komponenten immer auf false steht...

Chris
  Mit Zitat antworten Zitat
Christian Seehase
(Co-Admin)

Registriert seit: 29. Mai 2002
Ort: Hamburg
11.116 Beiträge
 
Delphi 11 Alexandria
 
#5
  Alt 11. Jan 2003, 15:11
Moin Chris,

das könnte dann heissen, dass es entweder (Delphi)Versionsabhängig ist, was ich allerdings für eher unwahrscheinlich halte, oder von der Kompo abhängt.
Deshalb hatte ich auch explizit geschrieben, dass es bei TLabel nicht notwendig ist.
Schaden kann es natürlich trotzdem nicht.
Tschüss Chris
Die drei Feinde des Programmierers: Sonne, Frischluft und dieses unerträgliche Gebrüll der Vögel.
Der Klügere gibt solange nach bis er der Dumme ist
  Mit Zitat antworten Zitat
Benutzerbild von eddy
eddy

Registriert seit: 4. Jan 2003
Ort: Sachsen
573 Beiträge
 
Delphi 5 Professional
 
#6
  Alt 11. Jan 2003, 20:12
Hallo MadManson,

ich hatte das gleiche Problem. Nachdem ich Parent einen Wert zuwies, erschienen die Labels auf dem Bildschirm.

Anbei noch ein Programmstückchen:

Delphi-Quellcode:
      with TLabel.Create(gbGruppen) do begin
        Parent := gbGruppen;
        name := 'lbl' + s;
        Left := vleft + colofs * (vwidth + colds);
        Top := vtop + rowofs * (lblheight + lblds + vheight + rowds );
        Height := lblheight;
        Caption := s;
// visible := true;
      end;
Wie Du siehst, hatte ich es auch zuerst mit Visible probiert. gbGruppen ist der Name der GroupBox. Left und Top werden berechnet (sind hier nicht von Bedeutung).

mfg
eddy
  Mit Zitat antworten Zitat
Benutzerbild von nailor
nailor

Registriert seit: 12. Dez 2002
Ort: Karlsruhe
1.989 Beiträge
 
#7
  Alt 11. Jan 2003, 21:04
Man kann auch InsertControl nehmen, anstatt ein Parent zuzuweisen. Funktioniert gleich, ist wahrscheinlich Geschmackssache.
Michael N.
http://nailor.devzero.de/code/sharpmath/testing/ --- Tests, Feedback, Anregungen, ... aller Art sehr willkommen!
::: don't try so hard - it'll happen for a reason :::
  Mit Zitat antworten Zitat
Christian Seehase
(Co-Admin)

Registriert seit: 29. Mai 2002
Ort: Hamburg
11.116 Beiträge
 
Delphi 11 Alexandria
 
#8
  Alt 11. Jan 2003, 22:53
Moin Nailor,

Zitat von Delphi Hilfe: InsertControl:
InsertControl sollte in einer Anwendung nicht direkt aufgerufen werden. ... Zur Laufzeit können Sie ein Steuerelement mit Hilfe seiner Eigenschaft Parent in das Array Controls einfügen.
Ein Unterschied, der natürlich bei dynamisch erzeugten Controls unwichtig ist, ist der, das bei der Zuweisung von Parent dafür gesorgt wird, dass das Control aus seinem bisherigen Container entfernt wird.
Tschüss Chris
Die drei Feinde des Programmierers: Sonne, Frischluft und dieses unerträgliche Gebrüll der Vögel.
Der Klügere gibt solange nach bis er der Dumme ist
  Mit Zitat antworten Zitat
MadMason

Registriert seit: 9. Nov 2002
Ort: Altenburg
126 Beiträge
 
Delphi 2005 Architect
 
#9
  Alt 12. Jan 2003, 11:46
thx an alle

habs jetzt hibekommen
Einstein ist tot
Newton ist tot
und mir ist auch schon ganz schlecht
  Mit Zitat antworten Zitat
Antwort Antwort


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 23:18 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz