Visualizzazione dei risultati da 1 a 4 su 4
  1. #1

    [delphi]: Simulare pressione del tasto tab

    ciao a tutti,

    come posso simulare (sostituire) la pressione del tasto tab??

    Inoltre è possibile dare la stessa funzione del tab ad un altro tasto?

    ciao
    "Ogni artista è un cannibale, ogni poeta è un ladro
    tutti uccidono la loro ispirazione poi cantano del loro dolore "

  2. #2
    Moderatore di Programmazione L'avatar di alka
    Registrato dal
    Oct 2001
    residenza
    Reggio Emilia
    Messaggi
    24,296

    Evento "OnKeyPress" e parametro "Key"

    Devi gestire l'evento OnKeyPress che viene generato quando si preme un tasto. A seconda dell'ambito di applicazione della funzionalità di sostituzione del tasto, devi scegliere se gestire l'evento in relazione ad un controllo visuale particolare oppure a livello di form (che avrà validità per tutti i controlli visuali).
    Ricordati di impostare a True la proprietà KeyPreview del form in quest'ultimo caso.

    Nel metodo di gestione dell'evento OnKeyPress, il parametro Key rappresenta il tasto premuto. Controlla se si tratta del tasto che vuoi sostituire con TAB (supponiamo che sia INVIO per comodità) e memorizza il codice del TAB nel parametro.
    codice:
    if Key = #13 then
      Key = #8;
    Ciao!
    MARCO BREVEGLIERI
    Software and Web Developer, Teacher and Consultant

    Home | Blog | Delphi Podcast | Twitch | Altro...

  3. #3

    Re: Evento "OnKeyPress" e parametro "Key"

    Mi sa che non basta mica
    Questo evento da me funziona egregiamente:

    codice:
    procedure TForm1.FormKeyPress(Sender: TObject; var Key: Char);
    begin
        if (Key=#13) then begin
            SelectNext(ActiveControl as TWinControl, true, true);
            Key := #0;
        end;
    end;
    Ciauz...
    btw: #8 è il backspace :-)

    Originariamente inviato da alka

    codice:
    if Key = #13 then
      Key = #8;
    Ciao! [/B]
    Che il pelo cresca sempre fluente sui vostri piedi
    Bilbo
    Visita il sito della Società Tolkieniana Italiana

  4. #4
    Moderatore di Programmazione L'avatar di alka
    Registrato dal
    Oct 2001
    residenza
    Reggio Emilia
    Messaggi
    24,296

    Errata corrige...

    Sorry, ho fatto qualche prova. Questa implementazione funzionava in un modello di codice che avevo, ma evidentemente non è sufficiente per ottenere l'effetto di passaggio da un controllo al successivo (sempre che si voglia ottenere questo effetto...è quello probabile, ma non è stato indicato nel messaggio...).

    Per passare al controllo successivo, confermo l'uso del metodo SelectNext proposto da Piero.

    Inoltre, il carattere corrispondente al TAB è il #9 (svista) :quipy:

    Ciao!
    MARCO BREVEGLIERI
    Software and Web Developer, Teacher and Consultant

    Home | Blog | Delphi Podcast | Twitch | Altro...

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 © 2024 vBulletin Solutions, Inc. All rights reserved.