Tasto INS su app Delphi non ha effetto.

di robnic il
2 risposte

Salve,

recentemente (non so esattamente da quando) il tasto INS sembra non avere effetto all'interno di applicativi Delphi.

La modalità rimane sempre in inserimento testo e non va mai in sostituzione.

Ho provato a creare un semplice applicativo con dei componenti Tmemo/Tedit

Non mi sembra su Delphi ci siano opzioni nella configurazione per modificare il comportamento del tasto INS e comunque uso questa versione di Delphi (10.2.3) da parecchio tempo

Suppongo il problema sia dovuto a qualche aggiornamento di Windows…

Avete notato anche voi questa cosa ? Sapete come risolvere ?

grazie

Roberto

2 Risposte

  • Teoricamente è il comportamento normale del campo tedit/tmemo.

    Dopo un po di vari test, ho provato a fare cosi, non è una soluzione perfetta ma come base mi sembra che funzioni

    procedure TForm1.FormCreate(Sender: TObject);
    begin
     fInsertMode := True; // da dichiarare 
    end;
    
    procedure TForm1.Edit1KeyDown(Sender: TObject; var Key: Word;
      Shift: TShiftState);
    begin
      // Controlla se il tasto premuto è Insert
      if Key = VK_INSERT then
      begin
        // Cambia il modo di inserimento/sovrascrittura
        fInsertMode := not fInsertMode;
        Key := 0; // Disabilita il beep del tasto Insert
      end;
    end;
    
    procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: Char);
    begin
      if (Not FInsertMode)and(Edit1.SelLength=0) Then
             Edit1.SelLength := 1;
    end;
    
    
  • Ciao,

    grazie per il codice ma stiamo parlando di vari applicativi e molto grandi. 

    Inoltre non sono usati solo componenti standard ma anche componenti di terze parti, Konopka (che io sappia sono componenti ereditati dai componenti standard) e jfControls. Ho fatto l'esempio con i componenti standard per non complicare le cose.

    Mi è stato detto da clienti che in passato il tasto INS funzionava. Sinceramente non ricordo ma mi fido di quello che mi dicono.

    grazie,

    Roberto

Devi accedere o registrarti per scrivere nel forum
2 risposte