AGB  ·  Datenschutz  ·  Impressum  







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

Löschen Button nur einmal implementieren

Ein Thema von delphicoder123 · begonnen am 6. Mär 2019 · letzter Beitrag vom 8. Mär 2019
Antwort Antwort
Benutzerbild von haentschman
haentschman

Registriert seit: 24. Okt 2006
Ort: Seifhennersdorf / Sachsen
5.444 Beiträge
 
Delphi 12 Athens
 
#1

AW: Löschen Button nur einmal implementieren

  Alt 7. Mär 2019, 08:06
Zitat:
nicht so verhält, wie beabsichtigt - und das will ich in der Regel wissen
  Mit Zitat antworten Zitat
Dennis07

Registriert seit: 19. Sep 2011
Ort: Deutschland
492 Beiträge
 
Delphi 11 Alexandria
 
#2

AW: Löschen Button nur einmal implementieren

  Alt 7. Mär 2019, 11:21
Beim erstellen der Komponente (mglw. im FormCreate-Event):

Delphi-Quellcode:
Edit1.Tag := Integer(Button1);
Edit2.Tag := Integer(Button2);
Edit3.Tag := Integer(Button3);
Dann die Löschbuttons im OnClick alle hiermit verknüpfen:

Delphi-Quellcode:
procedure TForm1.AllButtonedEditsRightButtonClick(Sender: TObject);
begin
  TEdit((Sender as TButton).Tag).Clear;
end;
Auch nicht die beste Lösung, aber eine. Das beste und einzig saubere wäre aber, entweder 3 Events (so würd ich es meistens machen), oder ein von TButton abgeleitetes Control, das selber eine "Edit"-Property besitzt und diese dann leert.
Auch wäre eine TObjectDictionary<TButton, TEdit> denkbar.
Dennis
  Mit Zitat antworten Zitat
Jumpy

Registriert seit: 9. Dez 2010
Ort: Mönchengladbach
1.740 Beiträge
 
Delphi 6 Enterprise
 
#3

AW: Löschen Button nur einmal implementieren

  Alt 7. Mär 2019, 11:28
Das passt aber irgendwie nicht, müsste das nicht umgekehrt sein:

Button1.Tag := Integer(Edit1);
usw.
Ralph
  Mit Zitat antworten Zitat
Schokohase
(Gast)

n/a Beiträge
 
#4

AW: Löschen Button nur einmal implementieren

  Alt 7. Mär 2019, 11:41
Wenn die Frames in Delphi nicht so seltsam wären, würde ich ein Frame vorschlagen mit einem Edit und einem Button und davon dann einfach so viele wie gewünscht auf die Form legen.

Die Verdrahtung zwischen Button und Edit erfolgt einmalig im Frame.
  Mit Zitat antworten Zitat
freimatz

Registriert seit: 20. Mai 2010
1.495 Beiträge
 
Delphi 11 Alexandria
 
#5

AW: Löschen Button nur einmal implementieren

  Alt 7. Mär 2019, 16:03
Wenn die Frames in Delphi nicht so seltsam wären, ...
Was ist daran seltsam?
  Mit Zitat antworten Zitat
Schokohase
(Gast)

n/a Beiträge
 
#6

AW: Löschen Button nur einmal implementieren

  Alt 7. Mär 2019, 16:13
Wenn die Frames in Delphi nicht so seltsam wären, ...
Was ist daran seltsam?
Leg mal ein Edit und ein Button in eine Frame. Der Button rechtsbündig und der Edit nimmt den Rest der Framefläche.

Jetzt lege dir davon ein paar auf ein Form und verschiebe die Frames mit der Maus.

Genau, sehr leicht hat man nicht das Frame, sondern das Edit-Control in dem Frame verschoben.
  Mit Zitat antworten Zitat
peterbelow

Registriert seit: 12. Jan 2019
Ort: Hessen
721 Beiträge
 
Delphi 12 Athens
 
#7

AW: Löschen Button nur einmal implementieren

  Alt 8. Mär 2019, 10:26
Wenn die Frames in Delphi nicht so seltsam wären, ...
Was ist daran seltsam?
Leg mal ein Edit und ein Button in eine Frame. Der Button rechtsbündig und der Edit nimmt den Rest der Framefläche.

Jetzt lege dir davon ein paar auf ein Form und verschiebe die Frames mit der Maus.

Genau, sehr leicht hat man nicht das Frame, sondern das Edit-Control in dem Frame verschoben.
Das Problem hat man auch mit anderen Container-Controls, wenn man sie ganz mit controls zupflastert. Ein Bißchen Platz zwischen den Controls sieht eh besser aus, also verwende (in deinem Beispiel) AlignWithMargin = true für eine der beiden, z. B. für den Button mit Margin.left = 6 und allen anderen = 0.

Außerdem: Klick auf das Edit, dann ESC, damit hat das Frame die drag handles.
Peter Below
  Mit Zitat antworten Zitat
Dennis07

Registriert seit: 19. Sep 2011
Ort: Deutschland
492 Beiträge
 
Delphi 11 Alexandria
 
#8

AW: Löschen Button nur einmal implementieren

  Alt 7. Mär 2019, 11:53
Das passt aber irgendwie nicht, müsste das nicht umgekehrt sein:

Button1.Tag := Integer(Edit1);
usw.
Jo, hast recht!
Dennis
  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 18:42 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