PDA

Visualizza la versione completa : [DELPHI] TEdit e selezione automatica parziale del testo


lovex
26-09-2005, 08:48
come posso fare per far in modo che quando l'oggetto TEdit prende il
focus, si seleziona in automatico tutto quello che ha come .TEXT?

io ho inserito nell'evento OnEnter del TEdit.
TEdit(Sender).AutoSelect := False;
TEdit(Sender).SelStart := 0;
TEdit(Sender).SelLength := Length(TEdit(Sender).Text);
nell'evento OnEnter ma non succede nulla :/

Ho usato pure la funzione SelectAll ma nulla :/

Grazie.

alka
26-09-2005, 10:25
E' sufficiente lasciare la proprietà AutoSelect impostata al valore True.

lovex
26-09-2005, 11:55
ho provato ma si auto seleziona solo se eseguo un doppio click sul TEdit :confused:

alka
26-09-2005, 12:11
Originariamente inviato da lovex
ho provato ma si auto seleziona solo se eseguo un doppio click sul TEdit :confused:
Se ti sposti con il TAB, il contenuto viene interamente selezionato. Se fai clic direttamente all'interno di campo, ovviamente esprimi il desiderio di posizionarti specificatamente in un determinato punto...forse è questo che ti impedisce di ottenere ciò che chiedi?

lovex
26-09-2005, 12:23
si questo si.
Allora dovrei fare in modo che nel caso in cui il puntatore non sia sopra una cifra del TEdit ma su uno spazio bianco a destra del valore del TEdit si selezioni tutto, altrimenti no.
Ora vedo se riesco ad effettuare ciò oppure se mi conviene mettere un TButton accanto che se premuto seleziona tutto il testo della TEdit.

Grazie.

badaze
27-09-2005, 23:20
Perche non usare l'evento onClick ?

procedure TForm1.Edit2Click(Sender: TObject);
begin
Edit2.SelectAll;
end;

alka
28-09-2005, 00:15
Originariamente inviato da badaze
Perche non usare l'evento onClick ?
In effetti, sembra funzionare egregiamente. :)

E' proprio vero...a volte le soluzioni più semplici... :zizi:

Ciao! :ciauz:

badaze
28-09-2005, 00:25
Originariamente inviato da alka
In effetti, sembra funzionare egregiamente. :)

E' proprio vero...a volte le soluzioni più semplici... :zizi:

Ciao! :ciauz:

Erano 2 anni che non guardavo del codice delphi !!!
:D

lovex
28-09-2005, 12:53
poi ho risolto inserendo nell'evento OnClick del Tedit la seguente
istruzione:


if (Mouse.CursorPos.X > (Form.Left + TEdit(Sender).Left + 100)) then TEdit(Sender).SelectAll;


Cosi' se clicco nella parte destra del controllo mi seleziona tutto..
altrimenti va in "edit"

Grazie a tutti ;)

Loading