IdentifiantMot de passe
Loading...
Mot de passe oubli� ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les r�ponses en temps r�el, voter pour les messages, poser vos propres questions et recevoir la newsletter

C++Builder Discussion :

Gestion clavier dans une form avec dbgrid [Non suivi]


Sujet :

C++Builder

Vue hybride

Message pr�c�dent Message pr�c�dent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    D�veloppeur informatique
    Inscrit en
    Octobre 2004
    Messages
    23
    D�tails du profil
    Informations personnelles :
    Localisation : France, Var (Provence Alpes C�te d'Azur)

    Informations professionnelles :
    Activit� : D�veloppeur informatique

    Informations forums :
    Inscription : Octobre 2004
    Messages : 23
    Par d�faut Gestion clavier dans une form avec dbgrid
    Voila j'ai une form avec un DBGRID et DBNavigator.

    La touche "fin" me met en fin de ligne dbgrid et "home" en d�but : ok

    Maintenant j'aimerais utiliser une facon differente de faire :
    Shift + fin = fin de ligne du dbgrid
    Shift + home = debut de ligne du dbgrid
    fin = derniere ligne du dbgrid
    home = premiere ligne du dbgrid
    et une gestion particuli�re de la touche Suppr.

    l� je vois pas du tout comment faire, si vous avez une solution...

    j'ai d'abord pens� � reutilis� ce code

    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    void __fastcall TForm1::DBGridKeyPress(TObject *Sender, char &Key)
    {
      char keyString[25];
      keyString[0] = Key;
      strcpy(&keyString[1], " Was Pressed");
      Application->MessageBox(keyString , "Key Press", MB_OK);
     
    }
    Mais il ne m'intercepte pas ces touches

  2. #2
    Membre �m�rite
    Avatar de bandit boy
    Profil pro
    Inscrit en
    F�vrier 2006
    Messages
    916
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : F�vrier 2006
    Messages : 916
    Par d�faut
    Salut,
    Les touches tels que les fl�ches, ou PageUp, PageDown, D�but, Fin... ne sont pas d�tect� pas ce type d'action, il faut passer par une API.
    Pour intercepter les touches du clavier qui t'int�resse, tu peux faire ce code:
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
     
    if((GetAsyncKeyState(VK_END) & 0x8000) != 0)
    {
             Application->MessageBox("Tu viens de presser la touche Fin", "Touche appuyé", MB_OK);}
    Tu peux r�cup�rer la touche d�but en rempla�ant VK_END par VK_HOME .
    Voil�, bon courage.

  3. #3
    Membre averti
    Profil pro
    D�veloppeur informatique
    Inscrit en
    Octobre 2004
    Messages
    23
    D�tails du profil
    Informations personnelles :
    Localisation : France, Var (Provence Alpes C�te d'Azur)

    Informations professionnelles :
    Activit� : D�veloppeur informatique

    Informations forums :
    Inscription : Octobre 2004
    Messages : 23
    Par d�faut
    Citation Envoy� par bandit boy
    Salut,
    Les touches tels que les fl�ches, ou PageUp, PageDown, D�but, Fin... ne sont pas d�tect� pas ce type d'action, il faut passer par une API.
    Pour intercepter les touches du clavier qui t'int�resse, tu peux faire ce code:
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
     
    if((GetAsyncKeyState(VK_END) & 0x8000) != 0)
    {
             Application->MessageBox("Tu viens de presser la touche Fin", "Touche appuyé", MB_OK);}
    Tu peux r�cup�rer la touche d�but en rempla�ant VK_END par VK_HOME .
    Voil�, bon courage.
    Ok, merci pour l'info, mais je place �a ou ? faut utiliser un timer pour la v�rification ou y a une autre solution ?

    PS : en utilisant un timer �a marche, mais je n'arrive pas � inhiber le comportement par d�faut des touches d�but et fin

  4. #4
    Membre �m�rite
    Avatar de bandit boy
    Profil pro
    Inscrit en
    F�vrier 2006
    Messages
    916
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : F�vrier 2006
    Messages : 916
    Par d�faut
    Salut,
    La solution du timer est la plus simple, par contre, pour l'inhibition de la commande je ne sais pas � premi�re vue. Mais peut �tre faudrait-il chercher du c�t� de SetAsyncMode. (id�e de passage � creuser)
    Affaire � suivre...

Discussions similaires

  1. [D�butant] un objet bouge dans une forme avec c++builder 6
    Par Imene MI dans le forum C++Builder
    R�ponses: 7
    Dernier message: 14/05/2015, 17h02
  2. R�ponses: 2
    Dernier message: 30/09/2012, 21h10
  3. [AC-2010] Forme avec macro dans une forme avec bouttons de nav
    Par nico_fr83 dans le forum IHM
    R�ponses: 0
    Dernier message: 15/05/2010, 20h48
  4. Tabulation dans une form avec entr�e
    Par Cl@rk dans le forum Windows Forms
    R�ponses: 4
    Dernier message: 23/05/2008, 12h09
  5. [C#] Travailler efficacement avec les panels dans une forme
    Par WwiloO dans le forum Windows Forms
    R�ponses: 8
    Dernier message: 27/06/2005, 15h33

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo