Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   GUI-Design mit VCL / FireMonkey / Common Controls (https://www.delphipraxis.net/18-gui-design-mit-vcl-firemonkey-common-controls/)
-   -   Delphi TLabel in TEdit "konvertieren"? (https://www.delphipraxis.net/57448-tlabel-tedit-konvertieren.html)

Angel4585 21. Nov 2005 14:56


TLabel in TEdit "konvertieren"?
 
Hallo zusammen.

Ich mach gerade eine kleine Benutzerverwaltung, in der ich die Daten(Vorname,Nachname usw.) in Labels anzeigen lasse.

Wenn ich jetzt auf "Neuer Benutzer" oder "Benutzer bearbeiten" klicke, muss ich jetzt die Daten eingeben, da das bei Labels nich so toll funzt, brauch ich also TEdits. Ich könnt jetzt ganz einfach hingehen und Edits auf die Form setzen und mit Visible rumspielen, allerdings ging mir gerade die Frage duch den Kopf, ob man nicht eine Komponente von TLabel in TEdit "konvertieren" kann.

Weis jemand ob/wie das geht?

Mfg Angel4585 :angel:

Zacherl 21. Nov 2005 14:58

Re: TLabel in TEdit "konvertieren"?
 
Zum Anzeigen von Texten, die niht bearbeitet werden sollen einfach ReadOnly des Edits auf true stellen.

Florian

dahead 21. Nov 2005 15:01

Re: TLabel in TEdit "konvertieren"?
 
also das problem verstehe ich jetzt nicht ganz.

edits sind zum bearbeiten, labels zum anzeigen.
wenn du nicht willst, dass man im edit was ändert, würde ich es auf readonly = true setzen.
da du die daten ja irgendwo hinterlegst, kannst du ja auch ein Edit1.Text := Label1.Caption verwenden.

Oder versteh ich da was falsch?

edit: leicht zu spät, kein kasten.

Angel4585 21. Nov 2005 15:12

Re: TLabel in TEdit "konvertieren"?
 
Sorry, vielleicht war die Fragestellung falsch. Ich möcht keine Lösung für mein spezielles Problem, ich möcht ja nur wissen ob das theoretisch geht.

dahead 21. Nov 2005 15:13

Re: TLabel in TEdit "konvertieren"?
 
wozu?

und zur frage: per befehl sicherlich nicht. du könntest dir einen zwitter basteln, aber da kommen wir wieder zu "wozu?".

noidic 21. Nov 2005 15:23

Re: TLabel in TEdit "konvertieren"?
 
Mit den Einstellungen von Bevels, Border und Color vom TEdit kannst dus aussehen lassen wie ein Label. Im Edit-Mode dann die Einstellung wieder auf die Standardwerte setzen. Aber ob das so dolles GUI-Design ist...

Angel4585 22. Nov 2005 07:08

Re: TLabel in TEdit "konvertieren"?
 
Naja is eigentlich au egal. Habs jetzt mit Edits gemacht.
Danke trotzdem.

ManuMF 22. Nov 2005 07:23

Re: TLabel in TEdit "konvertieren"?
 
Beim Edit BorderStyle auf bsNone setzen und Color auf ClBtnFace => dann sieht es aus wie ein Label.

Gruß,
ManuMF

Captnemo 22. Nov 2005 09:03

Re: TLabel in TEdit "konvertieren"?
 
Oder man könnte sicherlich auch zur Laufzeit ein TEdit erstellen und den Text aus der Caption des Labels erstellen.

Delphi-Quellcode:
procedure TForm1.Bearbeiten;
var
 ed: TEdit;
begin
 ed:=TEdit.create(self);
 with ed do
  parent:=Form1;            //kann natürlich auch ein Panel oder sonstwas sein.
  text:=label1.caption;     //holen wir uns mal den Text
  ed.top:=label1.top;
  ed.left:=label1.left;     //Position und Länge des TEdit festlegen
  ed.width:=150;
  OnExit:=schreibelabel;    //Eine Ereignisprozedure wäre auch nicht schlecht ;-)
  tag:=label1.tag;          //So können wir vielleicht user Label wiederfinden
  bringtofront;             //Es soll natürlich über dem Label liegen
  selectall;                //Bei bedarf den gesamten Inhalt markieren
  setfocus;                 //Und natürlich auch den aktuellen Focus geben
 end;
end;

procedure TForm1.schreibelabel(Sender: TObject);
var
 i: Integer;
begin
 for i:=0 to components.count-1 do      //Einfach mal alle Komponente abgrasen
  if components[i] is TLabel then       //und wenn's ein TLabel ist
   if (components[i] as TLabel).Tag=(Sender as TEdit).Tag then begin  
                                        //Und wir über TAG unser Label finden
     (components[i] as TLabel).Caption:=ed.text;        //Den neuen Wert zurückschreiben
     ed.free;                                           //und das TEdit wieder freigeben
   end;
end;
Das hab ich jetzt mal aus dem Kopf zusammengeschrieben. :roll: Könnte funktionieren. Einfach mal ausprobieren. Aber so würde ich es machen, weil es mir viel zu viel arbeite wäre, ständig irgendwelche Edits mit anderem Border und anderer Farbe zu versehen.
Und wenn man sich darüber noch ein bischen Gedanken macht, dann kann man (zumindest für sich als Programmierer) noch mehr Arbeit sparen, für den Fall, das die Label's auf der Form, die auf diese Weise bearbeitet werden sollen, noch nicht feststehen und im Laufe der zeit welche dazu kommen.

Hoffe das hilft dir weiter ;-)
Und, sollten noch fehler drin sein, bitte um Nachsicht...das hab ich mir grad aus meinem kleinen Kopf gequetscht :mrgreen:

Angel4585 22. Nov 2005 09:56

Re: TLabel in TEdit "konvertieren"?
 
@ CaptNemmo: danke für die Mühe, aber das ist mir dann doch bissl zu umständlich.
@ ManuMF: Wenn ich den Borderstyle auf bsnone setze verschiebt sich aber der Text etwas nch oben, was ziemlich besch... aussieht. Kann man das irgendwie beheben?


Alle Zeitangaben in WEZ +1. Es ist jetzt 01:52 Uhr.
Seite 1 von 2  1 2      

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