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

 Delphi Discussion :

Apparition automatique du clavier sur tablette


Sujet :

Delphi

  1. #1
    Nouveau membre du Club
    Inscrit en
    Mars 2006
    Messages
    54
    Détails du profil
    Informations forums :
    Inscription : Mars 2006
    Messages : 54
    Points : 29
    Points
    29
    Par défaut Apparition automatique du clavier sur tablette
    Bonjour

    Je viens de faire l'acquisition d'une tablette de marque Asus qui tourne sous Windows 8.

    La première chose que j'ai fait, c'est de tester si mes applis fonctionnent ...

    Je viens de voir un premier truc qui ne me satisfait pas. J'explique.

    J'ai juste posé un Edit, un label avec un bouton. Lorsque je clique sur le bouton, ça doit copier le contenu de l'édit sur un label. Bon c'est juste pour faire un essai.

    En fait j'aurai voulu que lorsque je clique dans l'Edit, la fenêtre du clavier s'ouvre toute seule comme sur un téléphone portable où quand vous voulez écrire le clavier s'affiche .... et là malheureusement non !

    Il faut "toucher" l'icône en bas de l'écran pour que ça s'ouvre ...

    D'où ma question :

    Est ce qu'on peut gérer l'ouverture du clavier à partir de l'appli ???

    Merci de votre aide.

  2. #2
    Expert éminent sénior
    Avatar de ShaiLeTroll
    Homme Profil pro
    Développeur C++\Delphi
    Inscrit en
    Juillet 2006
    Messages
    13 457
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Développeur C++\Delphi
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2006
    Messages : 13 457
    Points : 24 870
    Points
    24 870
    Par défaut
    Pense que les appli Delphi sont toujours du Win32 avec un style Metro UI mais pas en vrai WinRT pour tablette

    Ce n'est pas une tablette mais un PC portable looké comme une tablette
    Avec le compilateur ARM on aura du vrai "Win 8 RT" et non du "Win 8 x86\x64", là il ne faudra pas oublier de dire sur quoi on travail

    Sinon le clavier virtuel est fourni par Delphi est le TTouchKeyboard, il a été présenté il y a 2 ans au CodeWayTour Tout fiers ils étaient !

    Voir aussi MS API RegisterTouchWindow si cela active ce genre de fonctionnalité par défaut

    Windows fourni OSK.exe (Accessibilité), si ce dernier simule le clavier, suffit d'avoir le focus sur ton Edit pour recevoir les touches
    Aide via F1 - FAQ - Guide du développeur Delphi devant un problème - Pensez-y !
    Attention Troll Méchant !
    "Quand un homme a faim, mieux vaut lui apprendre à pêcher que de lui donner un poisson" Confucius
    Mieux vaut se taire et paraître idiot, Que l'ouvrir et de le confirmer !
    L'ignorance n'excuse pas la médiocrité !

    L'expérience, c'est le nom que chacun donne à ses erreurs. (Oscar Wilde)
    Il faut avoir le courage de se tromper et d'apprendre de ses erreurs

  3. #3
    Nouveau membre du Club
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2005
    Messages
    46
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2005
    Messages : 46
    Points : 36
    Points
    36
    Par défaut
    Hello,

    Je rencontre le même problème avec mon appli, codée en D7, sous le desktop dans Win8 Pro, sur ma tablette.

    D'abord, il me semble que c'est plutôt l'appli WIndows TabTip.exe qui est utilisée que Osk.exe (plus vieux)

    J'ai testé le RegisterTouchWindow de la Win API proposé par Shai, ca ne fait rien.

    Les meilleurs résultats que j'ai obtenus pour afficher le clavier virtuel, c'est avec CREATEPROCESS (syntaxe D7 ci dessous) :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
          With StartupInfo Do
          Begin
              cb:=SizeOf(StartupInfo);
              wShowWindow:=SW_SHOW;
          End;
          CreateProcess( Nil, PChar(('C:\Program Files\Common Files\Microsoft Shared\ink\TabTip.exe')), Nil, Nil,false, CREATE_NEW_CONSOLE, Nil,nil, StartupInfo, ProcessInfo)
    Néanmoins je rencontre ensuite un problème pour fermer/masque le clavier ...
    Il semblerait que pour afficher le clavier il y a une demande de droits supérieurs silencieuse, mais que pour le masquer ça ne soit pas le cas.
    Du coup j'ai testé sans succès :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
         TerminateProcess(ProcessInfo.hProcess,0);
         CloseHandle(ProcessInfo.hProcess);
         //PostMessage(ProcessInfo.hProcess, WM_SYSCOMMAND, SC_CLOSE, 0);
         //SendMessage(ProcessInfo.hProcess, WM_CLOSE, 0,0);
         // ShowWindow(ProcessInfo.hProcess, 6);
    Si quelqu'un à d'autres pistes ...

  4. #4
    Nouveau membre du Club
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2005
    Messages
    46
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2005
    Messages : 46
    Points : 36
    Points
    36
    Par défaut
    Je vois que personne n'a répondu, c'est bien dommage.

    J'ai une question connexe à ce problème :
    Une application pour WIn8 Pro, tourne sous tablette et pc, néanmoins comme remonté par Gillou, le clavier ne s'affiche pas tout seul sur la tablette, j'ai donc besoin d'afficher le clavier virtuel manuellement(createprocess ou autre).

    Mais afficher ce clavier virtuel est inutile voir choquant sur PC (sans écran tactile)

    Du coup comment savoir si on est sur une tablette ou sur un pc ?
    - se baser sur la taille de l'affichage ? un peu hasardeux
    - y a t il moyen de savoir si on a un écran tactile ?
    - y a t il une clef de registre qui pourrait apporter de l'information sur le type de matos ?

    Merci de vos idées sur la question.

  5. #5
    Rédacteur/Modérateur
    Avatar de Andnotor
    Inscrit en
    Septembre 2008
    Messages
    5 693
    Détails du profil
    Informations personnelles :
    Localisation : Autre

    Informations forums :
    Inscription : Septembre 2008
    Messages : 5 693
    Points : 13 126
    Points
    13 126
    Par défaut
    Etre sur une tablette ou un PC de bureau n'est pas important. Ce qui est intéressant de savoir est si un clavier externe est connecté ou non

    RawInput + WM_INPUT_DEVICE_CHANGE.

    De mémoire, WM_CLOSE ne devrait pas être bloqué par l'UIPI. Par contre, le message doit être envoyé à la fenêtre et non au processus.
    (S'il est bloqué, tu ne pourras rien faire à part désactiver l'UAC)

  6. #6
    Nouveau membre du Club
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2005
    Messages
    46
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2005
    Messages : 46
    Points : 36
    Points
    36
    Par défaut
    Merci pour ce retour AndNotOr.

    Effectivement ça marche mieux les Close sur les fenêtres et non sur les processus.
    C'est un peu galère pour retrouver le handle de fenêtre à partir du ProcessID (fonction EnumWIndows couplée à GetWindowThreadProcessId)
    Par contre, il y a quelque chose que je ne m'explique pas : c'est pourquoi le processId contenu dans le ProccessInfo renvoyé par CreateProcess ne correspond pas au PID visible dans le gestionnaire des taches. Du coup ma méthode de détection de la fenêtre est bancale.

    Concernant la détection de clavier branché, cela me semble assez compliqué. Je vais encore farfouiller un peu pour voir si on ne peut pas trouver plus simple.

  7. #7
    Rédacteur/Modérateur
    Avatar de Andnotor
    Inscrit en
    Septembre 2008
    Messages
    5 693
    Détails du profil
    Informations personnelles :
    Localisation : Autre

    Informations forums :
    Inscription : Septembre 2008
    Messages : 5 693
    Points : 13 126
    Points
    13 126
    Par défaut
    Il n'y a logiquement qu'une instance du clavier. Tu crées bien un nouveau processus, mais qui est certainement immédiatement terminé puisqu'un existe déjà
    Juste avant l'arrêt, il y a encore certainement un message envoyé à la première instance du style "Clavier demandé" qui le fait réapparaître. Bref tout est transparent pour l'utilisateur final, mais ton PID n'est valide qu'un court instant.

  8. #8
    Nouveau membre du Club
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2005
    Messages
    46
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2005
    Messages : 46
    Points : 36
    Points
    36
    Par défaut
    Citation Envoyé par Andnotor
    Il n'y a logiquement qu'une instance du clavier.
    Effectivement c'est aussi bête que ça, merci de m'avoir ouvert les yeux là dessus.

    Bon alors pour résumer j'ai a peu près trouvé une solution à tout.

    Donc le lancement :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     ShellExecute(0, nil, PChar('C:\Program Files\Common Files\Microsoft Shared\ink\TabTip.exe'), PChar(''), nil, SW_SHOWNORMAL);
    ShellExecute fonctionne mieux que createProcess (moins de problèmes de droits et finalement on a pas besoin du PID retourné qui est souvent faux)

    Savoir si on a besoin d'ouvrir le clavier virtuel : on utilise une clef de registre
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    HKEY_Local_Machine\SYSTEM\CurrentControlSet\Services\kbdclass\Enum
    Si le résultat est <2 alors on a que le clavier virtuel de disponible et pas de clavier physique branché

    Je conseillerais d'ouvrir le clavier en mode Dock (au moins les interfaces s'adaptent à lui et ne passent pas derrière)
    Pour s'assurer qu'on est bien en mode Dock, là encore clef de registre :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    HKEY_CURRENT_USER\Software\Microsoft\TabletTip\1.7\EdgeTargetDockedState
    0 : flottant
    1 : dock

    Et enfin pour masquer le clavier quand on quitte la zone de saisie (pour l'instant c'est le mieux que j'ai trouvé mais cela nécessite des droits administrateurs pour fonctionner)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ShellExecute(0, nil, PChar('taskkill.exe'), PChar(' /IM TabTip.exe'), nil, SW_SHOWNORMAL)
    La plupart de ces solutions sont inspirées et adaptées de ce forum (en anglais)

  9. #9
    Membre éclairé Avatar de peter27x
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    1 029
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 1 029
    Points : 757
    Points
    757
    Par défaut
    Citation Envoyé par Floverdoz Voir le message
    Effectivement c'est aussi bête que ça, merci de m'avoir ouvert les yeux là dessus.

    Bon alors pour résumer j'ai a peu près trouvé une solution à tout.

    Donc le lancement :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     ShellExecute(0, nil, PChar('C:\Program Files\Common Files\Microsoft Shared\ink\TabTip.exe'), PChar(''), nil, SW_SHOWNORMAL);
    ShellExecute fonctionne mieux que createProcess (moins de problèmes de droits et finalement on a pas besoin du PID retourné qui est souvent faux)

    Savoir si on a besoin d'ouvrir le clavier virtuel : on utilise une clef de registre
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    HKEY_Local_Machine\SYSTEM\CurrentControlSet\Services\kbdclass\Enum
    Si le résultat est <2 alors on a que le clavier virtuel de disponible et pas de clavier physique branché

    Je conseillerais d'ouvrir le clavier en mode Dock (au moins les interfaces s'adaptent à lui et ne passent pas derrière)
    Pour s'assurer qu'on est bien en mode Dock, là encore clef de registre :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    HKEY_CURRENT_USER\Software\Microsoft\TabletTip\1.7\EdgeTargetDockedState
    0 : flottant
    1 : dock

    Et enfin pour masquer le clavier quand on quitte la zone de saisie (pour l'instant c'est le mieux que j'ai trouvé mais cela nécessite des droits administrateurs pour fonctionner)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ShellExecute(0, nil, PChar('taskkill.exe'), PChar(' /IM TabTip.exe'), nil, SW_SHOWNORMAL)
    La plupart de ces solutions sont inspirées et adaptées de ce forum (en anglais)
    Et il faut donc placer un bout de code dans chaque écran de chaque appli à migrer sur tablette, afin qu'il (l'écran) detecte les focus entrant, détermine si c'est sur un TEdit, et donc affiche si nécessaire le clavier virtuel ?

  10. #10
    Futur Membre du Club
    Homme Profil pro
    designer d'interaction
    Inscrit en
    Janvier 2013
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : designer d'interaction
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Janvier 2013
    Messages : 6
    Points : 7
    Points
    7
    Par défaut
    Bonjour,

    Je code présentement une application pour écran tactile en C++ sur windows 8 (en général, je développe sur unix), mais je pense que la question qui se pose ici sera la même pour moi quand je commencerai à m'occuper de l'apparition ou la disparition de l'écran tactile…
    Enfin, j'en suis pas encore là mais j'aimerais éviter quand je m'y attaquerai quelques écueils.
    J'ai lancé le terminal tranquillementn je me suis rendu dans le repertoire de Tabtip32.exe pour lancer le clavier en mode console avant de coder un system() ou un createprocess et déjà là, le clavier ne se lance pas.

    Sauriez-vous pourquoi ?

  11. #11
    Futur Membre du Club
    Homme Profil pro
    designer d'interaction
    Inscrit en
    Janvier 2013
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : designer d'interaction
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Janvier 2013
    Messages : 6
    Points : 7
    Points
    7
    Par défaut
    J'ai trouvé pourquoi…
    Merci

  12. #12
    Nouveau Candidat au Club
    Homme Profil pro
    AUTRE
    Inscrit en
    Mai 2013
    Messages
    1
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : AUTRE
    Secteur : Alimentation

    Informations forums :
    Inscription : Mai 2013
    Messages : 1
    Points : 0
    Points
    0
    Par défaut
    Bonjour, j'ai également un acer sous Win 8 pro, je suis intéressée pour votre solution, n'ayant aucun connaissance informatique, pourriez vous m'aider merci

  13. #13
    Membre émérite

    Homme Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2007
    Messages
    3 387
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Novembre 2007
    Messages : 3 387
    Points : 2 999
    Points
    2 999
    Par défaut
    sous Delphi XE3:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
     
    function ClavierVirtuel: IFMXVirtualKeyboardService;
    var
     KeyboardService: IFMXVirtualKeyboardService;
    begin
      if TPlatformServices.Current.SupportsPlatformService(IFMXVirtualKeyboardService, IInterface(KeyboardService)) then
        Result := KeyboardService
      else
        REsult := nil;
    end;
     
    procedure AfficherClavier(Controle: TControl);
    var
      Clavier: IFMXVirtualKeyboardService;
    begin
      Clavier := ClavierVirtuel;
      if Assigned(Clavier)  then
      begin
        Controle.SetFocus;
        ClavierVirtuel.ShowVirtualKeyboard(Screen.ActiveForm);
      end;
    end;
     
    procedure CacherClavier;
    var
      Clavier: IFMXVirtualKeyboardService;
    begin
      Clavier := ClavierVirtuel;
      if Assigned(Clavier) then
        ClavierVirtuel.HideVirtualKeyboard;
    end;
    Le code suivant fonctionne aussi et utilise le vrai clavier virtuel de windows. C'est une version Firemonkey mais adaptable facilement en VCL.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
     
    unit UnitClavierVirtuelWindows;
     
    interface
     
    uses FMX.forms, FMX.Platform, FMX.Platform.Win, FMX.Types, Winapi.Windows,
      System.Classes, System.Types, System.SysUtils, System.UITypes, FMX.Dialogs,
      FMX.Objects, ShellApi, EncdDecd, Messages;
     
    type
     
      TClavierVirtuelWindows = class
      private
        HandleClavier: Integer;
      public
        procedure Afficher;
        procedure Cacher;
        constructor Create;
      end;
     
      function ClavierVirtuelWindows: TClavierVirtuelWindows;
     
    implementation
     
    const
      TabtipExe: string = 'C:\Program Files\Common Files\Microsoft Shared\ink\Tabtip.exe';
     
    var
      FClavierVirtuelWindows: TClavierVirtuelWindows;
     
    function ClavierVirtuelWindows: TClavierVirtuelWindows;
    begin
      if not Assigned(FClavierVirtuelWindows) then
        FClavierVirtuelWindows := TClavierVirtuelWindows.Create;
      Result := FClavierVirtuelWindows;
    end;
     
    { TClavierVirtuelWindows }
     
    procedure TClavierVirtuelWindows.Afficher;
    var
      SEInfo: TShellExecuteInfo;
    begin
      FillChar(SEInfo, SizeOf(SEInfo), 0);
      SEInfo.cbSize := SizeOf(TShellExecuteInfo);
      with SEInfo do
      begin
        fMask       := SEE_MASK_NOCLOSEPROCESS;
        Wnd         := FmxHandleToHWND(Screen.ActiveForm.Handle);
        lpFile      := PChar(TabtipExe);
        lpDirectory := PChar('');
        nShow       := SW_SHOWNORMAL;
      end;
      if not ShellExecuteEx(@SEInfo) then
        ShowMessage('Erreur au lancement du clavier virtuel');
    end;
     
    procedure TClavierVirtuelWindows.Cacher;
    var
      Retour: Cardinal;
      H: Integer;
    begin
      H := FindWindow(PChar('IPTip_Main_Window'), nil);
      PostMessage(H, WM_SYSCOMMAND, SC_CLOSE, 0);
    end;
     
    constructor TClavierVirtuelWindows.Create;
    begin
      inherited;
      HandleClavier := 0;
    end;
     
    initialization
      FClavierVirtuelWindows := nil;
     
    finalization
      if Assigned(FClavierVirtuelWindows) then
        FClavierVirtuelWindows.Free;
     
    end.

  14. #14
    Membre à l'essai
    Homme Profil pro
    Inscrit en
    Janvier 2013
    Messages
    15
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations forums :
    Inscription : Janvier 2013
    Messages : 15
    Points : 10
    Points
    10
    Par défaut Bout de code vb.net
    Bonjour à tous
    Juste pour info sous vb.net:
    Pour ouvrir le clavier:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    System.Diagnostics.Process.Start("C:\Program Files\Common Files\microsoft shared\ink\TabTip.exe")
    Et pour le fermer:
    Code vb.net : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    #Region "TestClavier"
        'Fermeture clavier bêta en cours
        Dim WM_SYSCOMMAND As Int32 = 274
        Dim SC_CLOSE As UInt32 = 61536
        Dim SW_SHOWMAXIMIZED As UInt32 = 3
        <DllImport("user32.dll", SetLastError:=True, CharSet:=CharSet.Auto)> _
        Public Shared Function PostMessage(ByVal hWnd As IntPtr, ByVal Msg As UInteger, ByVal wParam As IntPtr, ByVal lParam As IntPtr) As Boolean
        End Function
        <DllImport("user32.dll", SetLastError:=True, CharSet:=CharSet.Auto)> _
        Public Shared Function FindWindow(ByVal lpClassName As String, ByVal lpWindowName As String) As IntPtr
        End Function
        Public Declare Function DestroyWindow Lib "user32" (ByVal hndw As Integer) As Boolean
     
        Private Sub BtnFermerClavier_Click(sender As Object, e As EventArgs) Handles BtnFermerClavier.Click
            Try
                Dim TouchhWnd As New IntPtr(0)
                TouchhWnd = FindWindow("IPTip_Main_Window", Nothing)
     
                PostMessage(TouchhWnd, WM_SYSCOMMAND, SC_CLOSE, 0)
                DestroyWindow(TouchhWnd)
     
                Me.Size = MaximumSize
     
            Catch ex As Exception
                MsgBox(ex)
            End Try
        End Sub
    #End Region

    Tout ça n'est pas de moi mais ça peut toujours servir
    Je n'ai plus les sources en tête, ça fait un petit moment que je bosse dessus, il ne fonctionnait pas bien sous Win 8 mais sous Win 8.1 ça marche impec !

Discussions similaires

  1. [PC portable] Clavier sur tablette Dell inspiron Duo
    Par mogwai162 dans le forum Ordinateurs
    Réponses: 1
    Dernier message: 07/09/2011, 08h54
  2. [JTable] Raccourci clavier sur une Table
    Par sylvain_2020 dans le forum Composants
    Réponses: 5
    Dernier message: 05/07/2007, 09h01
  3. Comment faire des commentaires automatique (clavier) sur eclipse ?
    Par poulette3000 dans le forum Eclipse Java
    Réponses: 1
    Dernier message: 16/05/2007, 15h54
  4. Comment spécifier des raccourcis claviers sur une Form ?
    Par Sydaze dans le forum Composants VCL
    Réponses: 5
    Dernier message: 17/06/2005, 09h05
  5. Evenement clavier sur toute l'interface
    Par Guybrush dans le forum Agents de placement/Fenêtres
    Réponses: 4
    Dernier message: 08/02/2005, 12h13

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