Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi Eingabezeichen in TEdit (https://www.delphipraxis.net/119477-eingabezeichen-tedit.html)

Thomm 27. Aug 2008 06:45


Eingabezeichen in TEdit
 
Kann mir jemand sagen, wie man das Eingabe-Zeichen, nicht den Focus,

in ein TEdit setzt, sodass man ohne darauf zu klicken , was reinschreiben kann. 8)

mkinzler 27. Aug 2008 06:51

Re: Eingabezeichen in TEdit
 
Sollte doch durch Fokusieren geschehen, oder was meinst du?

taaktaak 27. Aug 2008 06:54

Re: Eingabezeichen in TEdit
 
Abgesehen davon, dass m.E. das Edit immer den Focus erhält, wenn du etwas mittels der Tastatur eingibts - welchen Sinn sollte das haben?

Thomm 27. Aug 2008 07:02

Re: Eingabezeichen in TEdit
 
Ich muß erst mit der Maus in das Edit1 klicken, damit ich was reinschreiben kann.

Mit Edit1.SetFocus ändert sich auch nichts

mkinzler 27. Aug 2008 07:04

Re: Eingabezeichen in TEdit
 
Versuch es mal mit
Delphi-Quellcode:
Edit1.Selstart := 0;

haentschman 27. Aug 2008 07:06

Re: Eingabezeichen in TEdit
 
Guten Morgen...

wenn das Edit den Focus hat (Edit.Setfocus) dann kannst du auch direkt reinschreiben.

:gruebel: da läuft irgend etwas anderes schief. Wieviel Code ist es denn ?

Jeff93 27. Aug 2008 07:11

Re: Eingabezeichen in TEdit
 
Meinst du sowas?
Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
var
  PositionDesZeichens : Integer;
begin
  PositionDesZeichens := 0; //vor erstem Zeichen
  Edit1.SetFocus;
  Edit1.SelStart := PositionDesZeichens;
end;
Mfg, Jeff93

Sherlock 27. Aug 2008 07:13

Re: Eingabezeichen in TEdit
 
Per Tab kommt man auch in ein Edit, vorausgesetzt es ist in der Tabreihenfolge.

Sherlock

Thomm 27. Aug 2008 07:17

Re: Eingabezeichen in TEdit
 
Das Formular Form3 mit dem Edit1 wird erst über Menü aufgerufen,

nach dem Öffnen soll man in das Feld Edit1 was reinschreiben können.

Mit Form3.Edit1.SetFocus ändert sich nichts, man muß erst mit der Maus in das Feld klicken,

damit man was reinschreiben kann.

Sherlock 27. Aug 2008 07:19

Re: Eingabezeichen in TEdit
 
Dann setz es in der Tabreihenfolge an erster Stelle, das sollte schon ausreichen.
Edit: Und SetFocus noch dazu...genauso funktioniert es in einigen meiner Anwendungen.

Sherlock

DeddyH 27. Aug 2008 07:20

Re: Eingabezeichen in TEdit
 
Zeig doch mal Deinen Code.

taaktaak 27. Aug 2008 07:20

Re: Eingabezeichen in TEdit
 
Aha, also der zusätzliche Mausklick soll gespart werden! Das ist ein Argument. Frage ist nun: Wie ist der Aufbau / die Logik deines Formulars. Erfolgen vor der Eingabe in das Edit irgendwelche standardmäßigen Abläufe oder Eingaben? Wenn ja, kannst du als letzten Befehl der vorhergehenden Aktion den Focus wie z.B. von Jeff beschrieben auf das Edit setzen.

// edit: dann im OnShow() den Focus setzen

Jeff93 27. Aug 2008 07:23

Re: Eingabezeichen in TEdit
 
Versuch mal alternativ mit Tabs. Mach ein Rechtsklick aufs Formular und sieh dir Tabulatorreihenfolge an. dann kann der Nutzer sich mit der der Tab-TAste durch dein Formular weiterarbeiten.

Bei mehreren aufrufen der Form mit Show oder ShowModal musst du glaube ich zumindest den Focus wieder ins erste Feld setzen.

haentschman 27. Aug 2008 07:28

Re: Eingabezeichen in TEdit
 
Zitat:

Das Formular Form3 mit dem Edit1 wird erst über Menü aufgerufen,

nach dem Öffnen soll man in das Feld Edit1 was reinschreiben können.

Mit Form3.Edit1.SetFocus ändert sich nichts, man muß erst mit der Maus in das Feld klicken,

damit man was reinschreiben kann.
... setze einfach Edit1.SetFocus im OnShow von Form3. Aus Form1 heraus z.B. kannst du den Focus nicht dahin setzen.

Thomm 27. Aug 2008 07:29

Re: Eingabezeichen in TEdit
 
Liegt vielleicht daran, dass das Edit1 auf einem Panel1 ist.

Nur wegen der Optik 8)

DeddyH 27. Aug 2008 07:30

Re: Eingabezeichen in TEdit
 
Mach es mal so, wie haentschman geschrieben hat, das muss eigentlich gehen.

taaktaak 27. Aug 2008 07:31

Re: Eingabezeichen in TEdit
 
Nee, muss trotzdem funktionieren

haentschman 27. Aug 2008 07:31

Re: Eingabezeichen in TEdit
 
Zitat:

Liegt vielleicht daran, dass das Edit1 auf einem Panel1 ist.
...ist schnuppe. 8)

Thomm 27. Aug 2008 07:45

Re: Eingabezeichen in TEdit
 
Zitat:

Zitat von DeddyH
Mach es mal so, wie haentschman geschrieben hat, das muss eigentlich gehen.

Delphi-Quellcode:
procedure TForm3.FormShow(Sender: TObject);
begin
  Edit1.SetFocus;
end;
Geht nicht, es sollte das Eingabezeichen im Edit1 blinken, damit man was reinschreiben kann

taaktaak 27. Aug 2008 07:50

Re: Eingabezeichen in TEdit
 
Das muss eine andere Ursache haben, das MUSS eigentlich funktionieren.

Jeff93 27. Aug 2008 07:52

Re: Eingabezeichen in TEdit
 
Zeig mal die Unit ganz so kommt's nichts voran

Edit: So kann man was reinschreiben ohne dass gleich der ganze Text im Edit selektiert ist
Delphi-Quellcode:
procedure TForm2.EditEnter(Sender: TObject);
begin
  //gemeinsame Rountine für die Edit-Komponenten auf dem Formular
  TEdit(Sender).SelStart := 0;
end;

procedure TForm2.FormShow(Sender: TObject);
begin
  Edit1.SetFocus;
end;

Thomm 27. Aug 2008 07:56

Re: Eingabezeichen in TEdit
 
ICH HABS
Delphi-Quellcode:
Procedure TForm3.FormShow(Sender:TObject);
begin
application.ProcessMessages;
 Edit1.SetFocus;
end;
application.ProcessMessages;

Jetzt gehts

taaktaak 27. Aug 2008 08:02

Re: Eingabezeichen in TEdit
 
Seltsam, normalerweise ist das nicht erforderlich :roll:

haentschman 27. Aug 2008 08:04

Re: Eingabezeichen in TEdit
 
Zitat:

application.ProcessMessages;
:gruebel: kann es sein, daß auch ohne Application.ProcessMessages das EditFeld den Focus hat und du schreiben könntest aber der Cursor nicht sichtbar ist ?
...ich habe diesen Effekt auch manchmal und kann das nicht erklären.

Thomm 27. Aug 2008 08:07

Re: Eingabezeichen in TEdit
 
Zitat:

Zitat von haentschman
Zitat:

application.ProcessMessages;
:gruebel: kann es sein, daß auch ohne Application.ProcessMessages das EditFeld den Focus hat und du schreiben könntest aber der Cursor nicht sichtbar ist ?
...ich habe diesen Effekt auch manchmal und kann das nicht erklären.


Stimmt

Ist bei mir genauso

Ich hab was reingeschrieben , ohne dass man den Cursor sieht

Vielleicht noch ein Tip ,wie kann ich das Form3 genau in die Mitte des Bildschirms setzen ?

DeddyH 27. Aug 2008 08:08

Re: Eingabezeichen in TEdit
 
Delphi-Quellcode:
Position := poScreenCenter;

haentschman 27. Aug 2008 08:16

Re: Eingabezeichen in TEdit
 
Zitat:

...ich habe diesen Effekt auch manchmal und kann das nicht erklären.
... ich hatte "damals" mit diversen Varianten probiert den Cursor "sichtbar" zu machen, ohne Erfolg.
... vieleicht sollte ich mal Deine Variante mit Application.ProcessMessages probieren :gruebel:

bis bald...

Thomm 27. Aug 2008 08:29

Re: Eingabezeichen in TEdit
 
Zitat:

Zitat von taaktaak
Seltsam, normalerweise ist das nicht erforderlich :roll:

Kommt auf die Hardware an :?

Wenn du einen großen Arbeitsspeicher hast, dann ist es nicht erforderlich

DeddyH 27. Aug 2008 08:35

Re: Eingabezeichen in TEdit
 
Wieviel Speicher brauche ich denn, um einen Cursor anzuzeigen? :cyclops:

Thomm 27. Aug 2008 08:40

Re: Eingabezeichen in TEdit
 
Zitat:

Zitat von DeddyH
Wieviel Speicher brauche ich denn, um einen Cursor anzuzeigen? :cyclops:

Dann weiß ich auch nicht woran das liegt ! :roll:


Alle Zeitangaben in WEZ +1. Es ist jetzt 06: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