Newsgroup: it.comp.lang.delphi
Titolo: TEdit - OnKeyDown

ragazzi scusate per il post vuoto ho toppato con qlc tasto!!! :)
...
nell'evento OnKeyDown del TEdit ho messo questo :
  if ( Key in [ord(VK_BACK)] )
  then 
  begin
    Key := 0;
    edt_object.SelStart := 8;
    edt_object.SelLength := 0;
  end;
sto cercado di fare in modo che il testo iniziale di 8 caratteri nel 
TEdit non venga cancellato, ho gestito altre chiavi e sulle altre 
funziona bene ma con questo nonostante metta Key := 0 l'ultimo carattere 
viene cancellato lo stesso! 
qlc sa come mai?
grazie in anticipo.
Diego
--- posted by geoForum on 
http://www.delphiedintorni.it

 carattere viene cancellato lo stesso!
Sono troppo stanco per provare.
Ma fare 2 edit, di cui la prima di 8 caratteri fissi non modificabile dici
che non va bene?
-- 
Jax
====
Sperimenta tutto quello che c'è, tutte le strade del possibile, non
porti limiti, e via via mettiti in relazione con il resto del mondo:
così facendo, finirai per trovare la tua vera identità.

 dici che non va bene?
Si potrei anche farlo, ma cosě mi sembra piů una pezza che una soluzione!
le altre chiavi che ho gestito per non far cancellare il testo iniziale 
rispondono bene! non capisco perchč VK_BACK no.
E poi nell'help dell'evento OnKeyDown del TEdit c'č scritto :
The OnKeyDown handler can respond to all keyboard keys, including 
function keys and keys combined with the Shift, Alt, and Ctrl keys, and 
    >""pressed mouse buttons.""<
eppure nell'evento ho messo anche :
if ( Key in [ord(VK_LBUTTON), ord(VK_RBUTTON)] )  then 
  begin
    Key := 0;
    edt_object.SelStart := 8;
    edt_object.SelLength := 0;
  end;
ma se metto un breakPoint all'inizio dell'evento e in esecuzione clicco 
col tasto destro o sinistro l'evento non viene nemmeno catturato!
mah!


col tasto destro o sinistro l'evento non viene nemmeno catturato!
a me questo codice funziona perfettamente
procedure TFormMain.Edit1KeyDown(Sender: TObject; var Key: Word;
  Shift: TShiftState);
begin
  if Key = VK_BACK then
    ShowMessage('premuto');
end;
per i bottoni VK_LBUTTON e VK_RBUTTON devi gestirli
negli eventi del mouse e non della tastiera (KEYboard)
che siano fra i VirtualKey (VK_) è solo una comodità.
	Ciao
	MassimoB
 
---------------------------
http://www.massimobeschi.it/

 testo iniziale rispondono bene! non capisco perchč VK_BACK no.
Comunque resto dell'idea che una soluzione del genere č quantomeno
complicata... bisognerebbe gestire anche il copia/incolla (e anche via
mouse...) IMHO si presta a notevoli falle.
-- 
Jax
====
Nessuno puň mostrare troppo a lungo una faccia a sé stesso e un'altra
alla gente senza finire col non sapere piů quale sia quella vera.
(Nathaniel Hawthorne)

 mouse...) IMHO si presta a notevoli falle.
infatti ho abbandonato la soluzione del testo fisso, troppo complicato da 
gestire e poi non ne valeva la pena. 
Il testo fisso l'ho cablato nel codice.


 end;
funziona xche hai solo messo un messaggio, quello che io provavo a fare 
era quello di non permettere che venisse cancellato il testo alla 
pressione della chiave "VK_BACK" anche mettendo il valore di key a zero.


pressione della chiave "VK_BACK" anche mettendo il valore di key a zero.
ok avevo capito male ... credevo non ti intercettasse
l'evento (ero un pò fuso dalla progettazione di
un'applicazione sorry :) ) ... comunque concordo con te
(visto il tuo ultimo post) di l'abbandonare la gestione
del testo fisso nell'edit. ;)
