Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 11
  1. #1

    [delphi] frecce direzionali

    ciao a tutti!! in un programma con delphi ho creato l evento onkeypress;
    questo evento ha il parametro key: word... volevo sapere come far leggere a key una freccia direzionale... praticamente devo eseguire alcune istruzioni solo quando il tasto premuto è frecciasu..

    grazie

  2. #2
    Utente bannato
    Registrato dal
    Dec 2012
    Messaggi
    679

    Re: [delphi] frecce direzionali

    Originariamente inviato da maluz1
    ciao a tutti!! in un programma con delphi ho creato l evento onkeypress;
    questo evento ha il parametro key: word... volevo sapere come far leggere a key una freccia direzionale... praticamente devo eseguire alcune istruzioni solo quando il tasto premuto è frecciasu..

    grazie
    Per la verità keydown ha un parametro word, keypress ha un char (a memoria).
    Per keydown il codice della freccia su è 38.

  3. #3
    grazie mille... ma per la verità come ambiente di lavoro uso lazarus e non proprio delphi, e comunque il problema continua a persistere perche se metto key= 38 il programma parte ma non me lo legge...

  4. #4
    Utente bannato
    Registrato dal
    Dec 2012
    Messaggi
    679
    Originariamente inviato da maluz1
    grazie mille... ma per la verità come ambiente di lavoro uso lazarus e non proprio delphi, e comunque il problema continua a persistere perche se metto key= 38 il programma parte ma non me lo legge...
    Legge... legge... anche su lazarus...
    codice:
    procedure TForm1.Edit1KeyDown(Sender: TObject; var Key: Word; Shift: TShiftState
      );
    begin
      if key=38 then
         showmessage('38');
    end;

  5. #5
    e perchè se chiamo l'evento con la form, quindi : Tform.formkeydown(...)
    non mi funziona mica???

    qualche idea?

  6. #6
    Utente bannato
    Registrato dal
    Dec 2012
    Messaggi
    679
    Originariamente inviato da maluz1
    e perchè se chiamo l'evento con la form, quindi : Tform.formkeydown(...)
    non mi funziona mica???

    qualche idea?
    KeyPreview

  7. #7
    funziona tutto !!!! grazie mille!!!!!!!!!!!
    mi piacerebbe pero farti alcune domande:
    1) in cosa consiste esattamente keypreview?
    2) quali sono i codici ascii delle altre freccie direzionali?? e come facevi a sapere che per esempio in delphi la freccia su è proprio 38??

    ti ringrazio lo stesso per tutto!!! grazie ancora!!!!

  8. #8
    Utente bannato
    Registrato dal
    Dec 2012
    Messaggi
    679
    Originariamente inviato da maluz1
    funziona tutto !!!! grazie mille!!!!!!!!!!!
    mi piacerebbe pero farti alcune domande:
    1) in cosa consiste esattamente keypreview?
    Normalmente gli eventi Windows relativi alla pressione dei tasti vengono presi in carico daL componente che ha il focus (ad esempio il Tedit).
    Può esistere uno, e un solo, componente col focus in un certo momento; alcuni componenti non possono avere il focus (es. tpanel).

    Nel caso in cui si vuole che sia la form a ricevere i messaggi, occorre impostare la relativa proprietà, che in sostanza fa sì che l'oggetto form abbia la "preview" dei "key" premuti, e poi i messaggi vengono passati al componente col focus "in cascata"
    2) quali sono i codici ascii delle altre freccie direzionali?? e come facevi a sapere che per esempio in delphi la freccia su è proprio 38??

    ti ringrazio lo stesso per tutto!!! grazie ancora!!!!
    bhè ho semplicemente messo
    caption:=inttostr(key) e letto il valore dei vari tasti premuti direttamente nel titolo della form.

    PS a rigore non è il codice ASCII del tasto, ma non è così importante come precisazione.
    Non è molto tennico, ma ci vuole proprio poco

  9. #9
    veramente grazie mille!!!... questa è veramente l'ultima:
    ma cos'è esattamente il focus?


    scusami ancora e grazie mille!!!!

  10. #10
    Utente bannato
    Registrato dal
    Dec 2012
    Messaggi
    679
    Originariamente inviato da maluz1
    veramente grazie mille!!!... questa è veramente l'ultima:
    ma cos'è esattamente il focus?


    scusami ancora e grazie mille!!!!
    Il focus è la pre-selezione di un componenti visivo che reagisce agli input, tipicamente tasti e mouse.
    Mentre scrivi ad esempio un post qui e premi TAB vedrai che il bottone "invia risposta" riceve il focus, ovvero un rettangolino di selezione. Se premi un tasto esso non verrà interpretato da questo componente (simile a un Tmemo) dove si scrive il testo, bensì al relativo bottone.

    Ricapitolando: dal momento che possono esistere (in generale esistono) più componenti visuali che possono, ad esempio, essere usati per scrivere, quale di questo registrerà i tasti premuti?

    Quello col focus. In delphi la stragrande maggioranza dei componenti visuali ha proprio il metodo setfocus (spesso si può impedire che ciò avvenga con la proprietà tabstop a falso)

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.