Touches de raccourcie dans un PageControl

pierrot8131 Messages postés 4 Date d'inscription mercredi 31 août 2005 Statut Membre Dernière intervention 31 octobre 2005 - 28 oct. 2005 à 17:00
f0xi Messages postés 4205 Date d'inscription samedi 16 octobre 2004 Statut Modérateur Dernière intervention 12 mars 2022 - 30 oct. 2005 à 09:47
Bonjour à tous,
je débute sous Delphi et j'aurais besoin d'un peu d'aide:
Voilà, j'ai un PageControl ("Onglets") qui contient plusieurs TabSheet.
je voudrais pouvoir associer un touche de raccourci à chaque Onglets.
Par exemple F2 m'affiche l'onglet 1 ("menu_principal"), F3 l'onglet 2 ("reference")...

Tapli_inventario = class(TForm)
Onglets: TPageControl;
menu_principal: TTabSheet;
reference: TTabSheet;
traitement_references: TTabSheet;
suivi_validation: TTabSheet;
progression: TTabSheet;
productivite: TTabSheet;
finaliser_inventaire: TTabSheet;
StyleXP: TXPManifest;
procedure FormKeyPress(Sender: TObject; var Key: Char);
Merci d'avance pour votre aide,
Pierrot

3 réponses

Niki2001 Messages postés 85 Date d'inscription samedi 6 novembre 2004 Statut Membre Dernière intervention 17 décembre 2005 1
28 oct. 2005 à 17:40
Je pense que ça doit être ça:
case key of
VK_F1: Onglets.ActivePage:= menu_principal;
VK_F2: Onglets.ActivePage:= reference;
......
end;
Bonne prog!
0
pierrot8131 Messages postés 4 Date d'inscription mercredi 31 août 2005 Statut Membre Dernière intervention 31 octobre 2005
29 oct. 2005 à 12:09
Bonjour, merci pour ta réponse rapide.
Mais ça ne semble pas fonctionner.

Voici mon appli:
unit apli_main;

interface

uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, ComCtrls, XPMan;

type
Tapli_inventario = class(TForm)
Onglets: TPageControl;
menu_principal: TTabSheet;
lecteur: TTabSheet;
traitement_references: TTabSheet;
suivi_validation: TTabSheet;
progression: TTabSheet;
productivite: TTabSheet;
finaliser_inventaire: TTabSheet;
StyleXP: TXPManifest;
procedure FormKeyPress(Sender: TObject; var Key: Char);

private
{ Déclarations privées }
public
{ Déclarations publiques }
end;

var
apli_inventario: Tapli_inventario;

implementation

{$R *.dfm}

procedure Tapli_inventario.FormKeyPress(Sender: TObject; var Key: Char);
begin
case key of
VK_F1: Onglets.ActivePage:= menu_principal;
VK_F2: Onglets.ActivePage:= lecteur;
end;
end;

end.

J'ai manqué quoi ?

Merci d'avance
Pierrot
0
f0xi Messages postés 4205 Date d'inscription samedi 16 octobre 2004 Statut Modérateur Dernière intervention 12 mars 2022 35
30 oct. 2005 à 09:47
utilise un ActionList,

crée autant d'action que tu veux.

definis leurs propriétée "ShortCut" a "F1 .. F12"

ensuite place ce code dans le OnExecute de l'action :



PageControl1.ActivePage := Menu_Principal;



ect...



en utilisant un Menu normal (fichier, editer, pages) tu peu egalement assigner des raccourcis clavier

au lien du menu. exemple de menu :



Fichier

Ouvrir (Ctrl+O)

Sauver (Ctrl+S)

Quitter (Alt+Q)

Editer

Copier (Ctrl+C)

Couper (Ctrl+X)

Coller (Ctrl+V)

Annuler (Ctrl+Z)

Refaire (Ctrl+R)

Pages

Menu principal (F2)

References (F3)

Options (F5)



voila.

Comme ça peut importe si tel ou tel control a le focus, les raccourcis
seront dispo partout dans l'application que tu utilise un Menu ou une
ActionList.
0
Rejoignez-nous