# Personalizzare i tasti funzionali della toolbar di pannello

**URL:** <https://community.instantdeveloper.com/t/personalizzare-i-tasti-funzionali-della-toolbar-di-pannello/863>\
**Category:** Tips & Tricks\
**Tags:** javascript, ids, idf\
**Created:** [3 Febbraio 2026, 1:39pm UTC](https://community.instantdeveloper.com/t/personalizzare-i-tasti-funzionali-della-toolbar-di-pannello/863 "2026-02-03T13:39:40Z")\
**Posts on this page:** 1\
**Page:** 1

<div class="post-metadata">

**Author:** ![paolo.giannelli](https://community.instantdeveloper.com/user_avatar/community.instantdeveloper.com/paolo.giannelli/32/12_2.png) [@paolo.giannelli](https://community.instantdeveloper.com/u/paolo.giannelli)\
**Post date:** [3 Febbraio 2026, 1:39pm UTC](https://community.instantdeveloper.com/t/personalizzare-i-tasti-funzionali-della-toolbar-di-pannello/863/1 "2026-02-03T13:39:40Z")

</div>

Instant Developer Foundation e Studio producono videate con pannelli che contengono una toolbar con già tutta una serie di bottoni per gestire le operazioni principali come salvare, cancellare, inserire nuovi record ecc.  
Questi bottoni hanno un tasto funzionale della tastiera associato in modo da non dover per forza utilizzare il mouse per attivarli, per esempio il salvataggio si effettua con F9.

Se vogliamo cambiare queste associazioni come possiamo fare?  
Non ci sono dei parametri di compilazione e nemmeno una funzione che ti permette di farlo a run time da codice.

Allora come si può fare?  
Personalizzando il javascript che realizza questa associazione quindi aggiungendo nella directory custom della propria applicazione web il file che contiene le modifiche.  
Avendo Foundation e Studio due motori grafici possibili occorre utilizzare un file custom diverso in base al motore grafico:

- RD3 - custom3.js
- Fluid - cusomf.js

Per **RD3** dovremo aggiungere il seguente codice e personalizzarlo:

```auto
function RD3_CustomInit()
{
  // Standard functional keys
  RD3_ClientParams.FKActField = 2; // Single field activator (F2)
  RD3_ClientParams.FKEnterQBE = 3; // Key enters QBE (F3)
  RD3_ClientParams.FKFindData = 3; // Find data key (F3)
  RD3_ClientParams.FKFormList = 4; // Form/list key (F4)
  RD3_ClientParams.FKRefresh = 6; // Refresh key (F6)
  RD3_ClientParams.FKCancel = 6; // Cancel key (F6)
  RD3_ClientParams.FKInsert = 7; // Inert key (F7)
  RD3_ClientParams.FKDelete = 8; // Delete key (F8)
  RD3_ClientParams.FKUpdate = 9; // Update key (F9)
  RD3_ClientParams.FKLocked = 11; // Lock/unlock key (F11)
  RD3_ClientParams.FKActRow = 12; // Row activator key (F12)
  RD3_ClientParams.FKSelAll = 14; // Select all key (SHIFT+F2)
  RD3_ClientParams.FKSelNone = 15; // Cancel selection key (SHIFT+F3)
  RD3_ClientParams.FKSelTog = 16; // Shows selection key (SHIFT+F4)
  RD3_ClientParams.FKDuplicate = 19; // Duplicate key (SHIFT+F7)
  RD3_ClientParams.FKCloseView = 26; // Close view key (CTRL+F2) (because CTRL+F4 closes the browser!)
  RD3_ClientParams.FKPrint = 36; // Print key (CTRL+F12) 
}

```

Per **Fluid** dovremo aggiungere il seguente codice e personalizzarlo:

```auto
Client.IdfWebEntryPoint.prototype.customizeHeader = function ()
{
  // Standard functional keys
  Client.IdfPanel.FKActField = 2; // Single field activator (F2)
  Client.IdfPanel.FKEnterQBE = 3; // Key enters QBE (F3)
  Client.IdfPanel.FKFindData = 3; // Find data key (F3)
  Client.IdfPanel.FKFormList = 4; // Form/list key (F4)
  Client.IdfPanel.FKRefresh = 6; // Refresh key (F6)
  Client.IdfPanel.FKCancel = 6; // Cancel key (F6)
  Client.IdfPanel.FKInsert = 7; // Inert key (F7)
  Client.IdfPanel.FKDelete = 8; // Delete key (F8)
  Client.IdfPanel.FKUpdate = 9; // Update key (F9)
  Client.IdfPanel.FKLocked = 11; // Lock/unlock key (F11)
  Client.IdfPanel.FKActRow = 12; // Row activator key (F12)
  Client.IdfPanel.FKSelAll = 14; // Select all key (SHIFT+F2)
  Client.IdfPanel.FKSelNone = 15; // Cancel selection key (SHIFT+F3)
  Client.IdfPanel.FKSelTog = 16; // Shows selection key (SHIFT+F4)
  Client.IdfPanel.FKDuplicate = 19; // Duplicate key (SHIFT+F7)
  Client.IdfPanel.FKCloseView = 26; // Close view key (CTRL+F2) (because CTRL+F4 closes the browser!)
  Client.IdfPanel.FKPrint = 36; // Print key (CTRL+F12)
};

```

Quindi se voglio utilizzare il tasto funzionale F4 per salvare dovrò utilizzare:

- RD3\_ClientParams.FKUpdate = 4; (RD3)
- Client.IdfPanel.FKUpdate = 4; (Fluid)
