![]() |
On-Click-Event
Tag,das Event On-Click soll nach jedem Klick auf den Button die Zeichenkette, in diesem Falle Teststring an Edit1 übergeben.
Bei meinem Code wird der String nur einmal an Edit1.Text gesendet egal wie oft ich den Button klicke. Hier der Code:
Delphi-Quellcode:
Bitte um Hilfe :mrgreen:
procedure TForm1.Button1Click(Sender: TObject);
begin Edit1.Text := 'Teststring'; end; (PS: Hab die selbe Frage auch im Delphi-Forum gestellt) Mit freundlichen Grüßen Major |
Re: On-Click-Event
Klar, Du berücksichtigst ja auch nicht, was bereits im Edit steht. Häng den neuen Text einfach mit + hintendran.
Delphi-Quellcode:
Edit1.Text := Edit1.Text + 'nächster String';
|
Re: On-Click-Event
was ein simpler Fehler, dennoch nicht wirklich die Lösung.
Der Faktor wie oft man Button 1 klickt ist ja unbekannt und es soll immer der selbe String sein ;) EDIT: OHH.. FUNKTONIERT DOCH, MERCI DEDDYH |
Re: On-Click-Event
Ich hab mich anscheinend unklar ausgedrückt.
Delphi-Quellcode:
Pro Klick sollte da jetzt ein "Teststring" mehr im Edit erscheinen.
procedure TForm1.Button1Click(Sender: TObject);
begin Edit1.Text := Edit1.Text + 'Teststring'; end; |
Re: On-Click-Event
(DeddyH, hoffe du hast das EDIT gelesen)
Wenn es aber jetzt vorkommt das man zu oft auf Button1 geklickt hat, möchte ich auch das man den letzten String mit einem anderen Button löscht, ist das machbar?
Delphi-Quellcode:
procedure TForm1.Button2Click(Sender: TObject);
begin Edit1.Text := // Edit1.Text - (Minus) 'Testring' abziehen end; Wie kann man das denn bitteschön verwirklichen? :stupid: |
Re: On-Click-Event
Über einen kleinen Umweg geht auch das.
Delphi-Quellcode:
Ungetestet.
var s: string;
... s := Copy(Edit1.Text, 1, Length(Edit1.Text) - Length('Teststring')); Edit1.Text := s; |
Re: On-Click-Event
Getestet, klappt wunderbar. Vielen Dank, bist echt ein schlauer Kerl ;-)
Wobei die Variable doch unötig ist? :) |
Re: On-Click-Event
Versuch es mal ohne die Variable ;)
Quatsch, Du hast Recht, ich hatte das vorher mit Delete geschrieben statt mit Copy, das geht nicht ohne die Variable und anschließende Neuzuweisung. |
Re: On-Click-Event
ob nun mit oder ohne die Variable ist nahezu egal (dank der Referenzzählung)
und Delphi legt eh eine temporäre Variable an, welche es als RückgabeWert (Result) der Funktionen Copy und auch .GetText aka .Text verwendet. |
Re: On-Click-Event
Liste der Anhänge anzeigen (Anzahl: 1)
Hey, es gibt doch noch ein Problem der Cursor im Editfeld bewegt sich nicht an die letzte Stelle,
obwohl er den String immer hinten dran hängt. Zur verdeutlichung habe ich ein Bild im Anhang. EDIT: Auf dem Bild sieht man doch nicht den Cursor so gut -.- |
Re: On-Click-Event
Dann setz mal SelStart entsprechend.
|
Re: On-Click-Event
Delphi-Quellcode:
so etwa? :-)
Edit1.SelStart := Length(Edit1.Text);
|
Re: On-Click-Event
Zitat:
Delphi-Quellcode:
(bekommt man aber nur mit, wenn man die WinAPI dahinter etwas kennt :stupid:
Edit1.SelStart := -1;
|
Re: On-Click-Event
der Cursor bleibt immer noch am Anfang -.-
EDIT: Muss man noch etwas bei uses einfügn? |
Re: On-Click-Event
Oder gibt es auch eine Möglichkeit es ganz auszublenden? ^^
|
Re: On-Click-Event
Wie/Wo setzt du denn den Cursor?
Wenn du es über einen Button machst und danach erst dem Edit den Fokus zurückgibst, dann wird dieser oftmals (in OnEnter sozusagen) neu gesetzt. Also erst Fokus zurückgeben und dann Cursor setzen. |
Re: On-Click-Event
nach deiner Beschreibung etwa so:
VirtKeyBoardEdit.SetFocus; virtKeyboardEdit.SelStart := -1; klappt aber nicht :P Hier springt er zwar ans Ende aber zuerst wieder an den Anfang -.- VirtKeyBoardEdit.SetFocus; VirtKeyboardEdit.SelStart := Length(VirtKeyBoardEdit.Text); |
Alle Zeitangaben in WEZ +1. Es ist jetzt 00:20 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