FORUM DE DISCUSSION SUR LE LANGAGE PANORAMIC

Développement d'applications avec le langage Panoramic
 
AccueilAccueil  FAQFAQ  RechercherRechercher  S'enregistrerS'enregistrer  MembresMembres  GroupesGroupes  Connexion  
Derniers sujets
» KGF.dll - demandes ou suggestions de modifications ou ajouts
par Klaus Hier à 23:55

» KGF_dll - nouvelles versions
par pascal10000 Hier à 17:27

» Mah-Jong européen new-look
par Minibug Mar 12 Déc 2017 - 22:31

» track_bar circulaire
par Klaus Mar 12 Déc 2017 - 13:54

» API Windows
par Klaus Mar 12 Déc 2017 - 3:21

» Cartes de voeux, menus, etc.
par JL35 Lun 11 Déc 2017 - 17:48

» a l'aide klaus
par Minibug Lun 11 Déc 2017 - 11:42

» bug SYNEDIT_TARGET_IS_OBJECT
par Jack Lun 11 Déc 2017 - 0:16

» Jukebox : Serge Reggiani
par papydall Sam 9 Déc 2017 - 5:58

» Ecouter la radio fm sur votre pc
par pascal10000 Sam 9 Déc 2017 - 3:42

» anomalie
par Klaus Sam 9 Déc 2017 - 3:21

» hommage
par Jicehel Ven 8 Déc 2017 - 11:29

» Logiciel de soutien scolaire en langues.
par Pedro Alvarez Ven 8 Déc 2017 - 10:43

» carte son
par Klaus Ven 8 Déc 2017 - 2:37

» mise a jour calculatrice
par joeeee2017 Mer 6 Déc 2017 - 22:19

Navigation
 Portail
 Index
 Membres
 Profil
 FAQ
 Rechercher
Rechercher
 
 

Résultats par :
 
Rechercher Recherche avancée
Décembre 2017
LunMarMerJeuVenSamDim
    123
45678910
11121314151617
18192021222324
25262728293031
CalendrierCalendrier

Partagez | 
 

 Un clavier cliquable

Voir le sujet précédent Voir le sujet suivant Aller en bas 
AuteurMessage
Minibug

avatar

Nombre de messages : 2411
Age : 51
Localisation : Vienne (86)
Date d'inscription : 10/02/2012

MessageSujet: Un clavier cliquable   Jeu 4 Juin 2015 - 20:32

Voici une petite réalisation que je viens de faire...

Les touches sont cliquables et il est même possible de les nommés (a,b,c, etc...) comme un vrai clavier par CAPTION. En plus grâce a PANEL le CAPTION est automatiquement centré.

Le défi c'était de faire un clavier en quelques ligne pour intégré dans une SUB.
Il ne reste plus qu'a faire la nomenclature (je ne sais pas si ca se dit comme ça !)
Et on aura un clavier complet.

PS : je n'ai pas rajouté les chiffres mais on peut aussi le faire simplement.

Aller trêve de Blabla, voila le résultat :

Code:
DIM a% , b% , c% , n% , x% , y% , t$ : ' Quelques variables..

DATA 1,17,8 , 5,17,8 , 9,17,8 , 13,17,8 , 30,25,15 , 34,25,8 , 46,17,24 , 50,25,8 :  ' Un peu de datas  !
DATA 64,25,8 , 76,34,42 , 81,103,86 , 82,23,6 , 83,23,6 , 84,23,6 , 85,23,14 , 0

DATA "éch",F1,F2,F3,F4,F5,F6,F7,F8,F9,F10,F11,F12 , imp,ver,pau
DATA " ",1,2,3,4,5,6,7,8,9,0,"°","+",ret , ins,ori,"p-"
DATA tab,A,Z,E,R,T,Y,U,I,O,P," "," ",sup,fin,"p+"
DATA vmaj,Q,S,D,F,G,H,J,K,L,M,"%","ù",ent
DATA maj,">",W,X,C,V,B,N,"?",".","/","§",maj," "
DATA ctr,win,alt,espace,agr,win,men,ctr," "," "," "

LABEL clic

HIDE 0 : WIDTH 0,337 : HEIGHT 0,160 : BORDER_SMALL 0

x%=8 : y%=10 : n%=1 : READ a% : ' On initialise un peu tout ca...

REPEAT : ' Une petite boucle pour la route

  PANEL n% : PARENT n%,0 : FONT_NAME n%,"Arial" : FONT_SIZE n%,6 : ON_CLICK n%,clic : ' Et hop !

  IF a%=n% : READ b% : READ c% : READ a%  : ELSE : b%=17 : c%=0 : END_IF

  LEFT n%,x% : TOP n%,y% : WIDTH n%,b% : HEIGHT n%,17 : x%=x%+17+c% : ' Et hop !

  IF n%=16 : y%=y%+5 : END_IF
  IF n%=16 OR n%=33 OR n%=49 OR n%=63 OR n%=77 : x%=8 : y%=y%+17 : END_IF

  n%=n%+1 : ' Et hop hop hop !!!

UNTIL n%=89

TOP 63,TOP(63)-17 : HEIGHT 63,HEIGHT(63)+17 : ' Il ne reste plus qu'a agrandir le touche ENTER
FOR n%=1 TO 88 : READ t$ : CAPTION n%,t$ : NEXT n%
SHOW 0 : END

clic:
    CAPTION 0,"Clic sur le panel "+STR$(NUMBER_CLICK)
RETURN
' Le tour est joué ... ou plutot le clavier est rtéalisé ! ;)


Dernière édition par Minibug le Ven 5 Juin 2015 - 0:21, édité 1 fois
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://gpp.panoramic.free.fr
Jicehel

avatar

Nombre de messages : 5863
Age : 45
Localisation : 77500
Date d'inscription : 19/04/2011

MessageSujet: Re: Un clavier cliquable   Jeu 4 Juin 2015 - 22:41

Bravo, en si peu de ligne, c'est un exploit. Après, je pense que pour afficher les symboles dans les touches, ça demande un peu plus de lignes: des data pour les codes normaux, d'autres pour quand on est en majuscules, d'autres pour quand on est en verr. num et les derniers pour quand on appuie sur alt gr.
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Minibug

avatar

Nombre de messages : 2411
Age : 51
Localisation : Vienne (86)
Date d'inscription : 10/02/2012

MessageSujet: Re: Un clavier cliquable   Ven 5 Juin 2015 - 0:23

Je viens de rajouter quelques lignes de DATAs pour le premier jet de la 'nomenclature'.

Ça ne gère pas encore Minuscules et Majuscules, mais c'est un début...

La suite au prochain épisode... Wink
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://gpp.panoramic.free.fr
Jicehel

avatar

Nombre de messages : 5863
Age : 45
Localisation : 77500
Date d'inscription : 19/04/2011

MessageSujet: Re: Un clavier cliquable   Ven 5 Juin 2015 - 9:20

Bravo, c'est déjà vachement plus complet avec les lettres et les noms des touches. Tu as aussi à trouver une astuce pour dessiner les flèches de direction (Changer la police de caractères par exemple)
En tout cas, le principe est là. Bonne continuation
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Jean Claude

avatar

Nombre de messages : 5086
Age : 63
Localisation : 83 Var
Date d'inscription : 07/05/2009

MessageSujet: Re: Un clavier cliquable   Ven 5 Juin 2015 - 10:29

Bravo Minibug,

Ce qui me plait dans ton code, c'est la façon dont les touches du clavier sont dimensionnées (Width et Height): De manière automatique avec les DATA et grâce aux Panels, il fallait y penser.

J'apprends... Very Happy

A+
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Minibug

avatar

Nombre de messages : 2411
Age : 51
Localisation : Vienne (86)
Date d'inscription : 10/02/2012

MessageSujet: Re: Un clavier cliquable   Ven 5 Juin 2015 - 13:03

Bonjour a tous !

@Jean Claude :
Merci et content que ca te convienne.
Comme je l'ai dis plus haut, je voulais un code léger pour une SUB.

Maintenant je vais travailler sur la nomenclature des touches MAJ et min, ainsi que les voyants VERROU MAJ et ARRET DEF... scratch drunken
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://gpp.panoramic.free.fr
Jicehel

avatar

Nombre de messages : 5863
Age : 45
Localisation : 77500
Date d'inscription : 19/04/2011

MessageSujet: Re: Un clavier cliquable   Ven 5 Juin 2015 - 14:15

Tu pourra utiliser de petites LEDs dans le Panel pour l'état des touches, si tu veux. Eteinte => inactif / Alumée => actif
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Minibug

avatar

Nombre de messages : 2411
Age : 51
Localisation : Vienne (86)
Date d'inscription : 10/02/2012

MessageSujet: Re: Un clavier cliquable   Ven 5 Juin 2015 - 22:46

Bonsoir Jicehel !

Pour les leds, c'est prévu ! t'inquiétes pas. Wink

Le plus dur c'est de coller aux leds du clavier.
Si on y regarde de près la commande SCANCODE capte l'appuie sur la touche VERROU MAJ, mais au démarrage du programme je n'ai aucune possibilité de savoir si c'est activé ou non !!

J'ai cherché sur internet mais rien pour l'instant. scratch

Il faudrait que je recherche sur le forum, voir comment Klaus et les autres avait réalisés leurs claviers virtuel. drunken drunken
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://gpp.panoramic.free.fr
silverman

avatar

Nombre de messages : 475
Age : 45
Localisation : Picardie
Date d'inscription : 19/03/2015

MessageSujet: Re: Un clavier cliquable   Sam 6 Juin 2015 - 13:10

Bonjour à tous,

Minibug a écrit:
Le plus dur c'est de coller aux leds du clavier.
Bin, maintenant, ça va être moins dur  lol!


Code:

' Panoramic 0.9.25

'   ==============================================================
'   =  Title  : LEDs clavier
'   =
'   =  Author : Silverman
'   =
'   =  Date   : Juin 2015
'   =
'   =  Version: 1.0
'   ==============================================================
'   Comments  : Controler les LEDs du clacier
'   ==============================================================

' Fonction "keybd_event":
' https://msdn.microsoft.com/en-us/library/windows/desktop/ms646304%28v=vs.85%29.aspx

' Virtual-Key Codes:
' https://msdn.microsoft.com/en-us/library/windows/desktop/dd375731%28v=vs.85%29.aspx



dim null,result%
dim OldScroll%,OldNum%,OldCaps%,key%,c
dim memblock1%,memblock1$
dim memblock2%,memblock2$


' récupère l'état des LEDs
 GetNumLock()
 OldNum% = result%

 GetCapsLock()
 OldCaps% = result%

GetScrollLock()
 OldScroll% = result%

' éteindre les LEDs
for key%=1 to 255
   SetkeyState(key%,0)
next key%

' mais On aurais pu les éteindre aussi comme ça:  SetScrollLock(0):SetNumLock(0):SetCapsLock(0)


c = 0
repeat
   cls
   Print "Regardez les LEDs du clavier."
   print "Appuyez la barre d'espace pour terminer."
   print

   Select c
      case 0
         SetNumLock(0)
         SetCapsLock(0)
         setScrollLock(0)
        
      case 1
         SetNumLock(1)

      case 2
         SetCapsLock(1)

      case 3
         SetScrollLock(1)
   end_select

   ' on affiche une info
   for key%=1 to 255
      GetKeyState(key%)
      if result%>0
         print "Virtual-Key Codes = "+"0x"+hex$(key%)
      end_if
   next key%

   c = c + 1
   if c > 3 then c = 0
   wait 500

until scancode=32

' remettre les LEDs dans leur état initial
 SetScrollLock(OldScroll%)
 SetNumLock(OldNum%)
 SetCapsLock(OldCaps%)
 
 print
 print "Fini!"


END
' ******************************************************************************
sub GetPlatform()
   result% = 0
   dll_on "kernel32.dll"
   result% = dll_call0("GetVersion")
   dll_off
end_sub


sub GetKeyState(key%)
   result% = 0
   memblock2$=string$(256,chr$(0))
   GET_BUFFER_PTR(adr(memblock2%) , adr(memblock2$))
   dll_on "user32"
   null=dll_call1("GetKeyboardState",memblock2%)
   READ_BUFFER_BYTE(adr(result%),memblock2%,key%)
   dll_off
end_sub

sub SetKeyState(key%,turnon%)
dim_local null

   ' Windows 2000 / XP
   GetPlatform()
   if result% > 0
      GetKeyState(key%)
      if result% <> turnon%
         dll_on "user32.dll"
         null=dll_call4("keybd_event",key%,0,1,0)
         null=dll_call4("keybd_event",key%,0,3,0)
         dll_off
      end_if
   else
      ' Windows 98,ME
      dll_on "user32.dll"
      memblock1$=string$(256,chr$(0))
      GET_BUFFER_PTR(adr(memblock1%) , adr(memblock1$))
      null=dll_call1("GetKeyboardState",memblock1%)
      WRITE_BUFFER_BYTE(memblock1%,key%,turnon%)
      null=dll_call1("SetKeyboardState",memblock1%)
      dll_off
   end_if
end_sub


sub SetScrollLock(turnon%)
   SetKeyState(145,turnon%)
end_sub

sub GetScrollLock()
   result% = 0
   GetKeyState(145)
end_sub


sub SetCapsLock(turnon%)
   SetKEyState(20,turnon%)
end_sub

sub GetCapsLock()
   result% = 0
   GetKeyState(20)
end_sub


sub SetNumLock(turnon%)
   SetKeyState(144,turnon%)
end_sub

sub GetNumLock()
   result% = 0
   GetKeyState(144)
end_sub





'
' ##############################################################################
' #                                                                            #
' #      Bibliothèque de SUBs pour gérer des mémoires tampons V1.0             #
' #                                                                            #
' ##############################################################################
sub READ_BUFFER_BYTE(adr_destination%,adr_source%,buffer_position%)
' BYTE = OCTET(en français)
' adr_destination%  = adresse destination
' adr_source%       = adresse adr_source
' copie un BYTE, 0 < BYTE < 255
   poke adr_destination%,peek(adr_source% + buffer_position%)
end_sub


sub READ_BUFFER_WORD(adr_destination%,adr_source%,buffer_position%)
' WORD = 2 BYTEs
' adr_destination%  = adresse destination
' adr_source%       = adresse adr_source
' copie un WORD, 0 < WORD < 65535
   poke adr_destination%,peek(adr_source%+buffer_position%)
   poke adr_destination%+1,peek(adr_source%+1+buffer_position%)
end_sub


sub READ_BUFFER_DWORD(adr_destination%,adr_source%,buffer_position%)
' DWORD = 4 BYTEs
' adr_destination%  = adresse destination
' adr_source%       = adresse adr_source
' copie un DWORD, 0 < DWORD < 4294967295
   poke adr_destination%,peek(adr_source%+buffer_position%)
   poke adr_destination%+1,peek(adr_source%+1+buffer_position%)
   poke adr_destination%+2,peek(adr_source%+2+buffer_position%)
   poke adr_destination%+3,peek(adr_source%+3+buffer_position%)
end_sub


sub READ_BUFFER_LONG(adr_destination%,adr_source%,buffer_position%)
' LONG = 4 BYTEs
' adr_destination%  = adresse destination
' adr_source%       = adresse adr_source
' copie un LONG, –2147483648 < LONG < 2147483647
   poke adr_destination%,peek(adr_source%+buffer_position%)
   poke adr_destination%+1,peek(adr_source%+1+buffer_position%)
   poke adr_destination%+2,peek(adr_source%+2+buffer_position%)
   poke adr_destination%+3,peek(adr_source%+3+buffer_position%)
end_sub


sub READ_BUFFER_INT(adr_destination%,adr_source%,buffer_position%)
' INT = 4 BYTEs
' adr_destination%  = adresse destination
' adr_source%       = adresse adr_source
' copie un INTeger, –2147483648 < INT < 2147483647
   poke adr_destination%,peek(adr_source%+buffer_position%)
   poke adr_destination%+1,peek(adr_source%+1+buffer_position%)
   poke adr_destination%+2,peek(adr_source%+2+buffer_position%)
   poke adr_destination%+3,peek(adr_source%+3+buffer_position%)
end_sub


sub READ_BUFFER_FLOAT(adr_destination%,adr_source%,buffer_position%)
' FLOAT = 8 BYTEs
' adr_destination%  = adresse destination
' adr_source%       = adresse adr_source
' copie un FLOAT, -1,7976931348623157×10^308 < FLOAT < 1,7976931348623157×10^308
   poke adr_destination%,peek(adr_source%+buffer_position%)
   poke adr_destination%+1,peek(adr_source%+1+buffer_position%)
   poke adr_destination%+2,peek(adr_source%+2+buffer_position%)
   poke adr_destination%+3,peek(adr_source%+3+buffer_position%)
   poke adr_destination%+4,peek(adr_source%+4+buffer_position%)
   poke adr_destination%+5,peek(adr_source%+5+buffer_position%)
   poke adr_destination%+6,peek(adr_source%+6+buffer_position%)
   poke adr_destination%+7,peek(adr_source%+7+buffer_position%)
end_sub



'###############################################################################
sub WRITE_BUFFER_BYTE(adr_destination%,buffer_position%,byte%)
' BYTE = OCTET(en français)
' adr_destination%  = adresse destination
' byte% = 0 < BYTE < 255
   poke adr_destination%+buffer_position%,peek(adr(byte%))
end_sub


sub WRITE_BUFFER_WORD(adr_destination%,buffer_position%,word%)
' WORD = 2 BYTEs
' adr_destination%  = adresse destination
' word% = 0 < WORD < 65535
   poke adr_destination%+buffer_position%,peek(adr(word%))
   poke adr_destination%+1+buffer_position%,peek(adr(word%)+1)
end_sub


sub WRITE_BUFFER_DWORD(adr_destination%,buffer_position%,dword%)
' DWORD = 4 BYTEs
' adr_destination%  = adresse destination
' dword% = 0 < DWORD < 4294967295
   poke adr_destination%+buffer_position%,peek(adr(dword%))
   poke adr_destination%+1+buffer_position%,peek(adr(dword%)+1)
   poke adr_destination%+2+buffer_position%,peek(adr(dword%)+2)
   poke adr_destination%+3+buffer_position%,peek(adr(dword%)+3)
end_sub


sub WRITE_BUFFER_LONG(adr_destination%,buffer_position%,long%)
' LONG = 4 BYTEs
' adr_destination%  = adresse destination
' long% = –2147483648 < LONG < 2147483647
   poke adr_destination%+buffer_position%,peek(adr(long%))
   poke adr_destination%+1+buffer_position%,peek(adr(long%)+1)
   poke adr_destination%+2+buffer_position%,peek(adr(long%)+2)
   poke adr_destination%+3+buffer_position%,peek(adr(long%)+3)
end_sub


sub WRITE_BUFFER_INT(adr_destination%,buffer_position%,long%)
' INT = 4 BYTEs
' adr_destination%  = adresse destination
' int% = –2147483648 < INT < 2147483647
   poke adr_destination%+buffer_position%,peek(adr(long%))
   poke adr_destination%+1+buffer_position%,peek(adr(long%)+1)
   poke adr_destination%+2+buffer_position%,peek(adr(long%)+2)
   poke adr_destination%+3+buffer_position%,peek(adr(long%)+3)
end_sub


sub WRITE_BUFFER_FLOAT(adr_destination%,buffer_position%,float)
' FLOAT = 8 BYTEs
' adr_destination%  = adresse destination
' float   = -1,7976931348623157×10^308 < FLOAT < 1,7976931348623157×10^308
   poke adr_destination%+buffer_position%,peek(adr(float))
   poke adr_destination%+1+buffer_position%,peek(adr(float)+1)
   poke adr_destination%+2+buffer_position%,peek(adr(float)+2)
   poke adr_destination%+3+buffer_position%,peek(adr(float)+3)
   poke adr_destination%+4+buffer_position%,peek(adr(float)+4)
   poke adr_destination%+5+buffer_position%,peek(adr(float)+5)
   poke adr_destination%+6+buffer_position%,peek(adr(float)+6)
   poke adr_destination%+7+buffer_position%,peek(adr(float)+7)
end_sub



'###############################################################################
sub BUFFER_SIZE(adr_destination%,buffer_ptr%)
' retouve la taille du buffer
   poke adr_destination%,peek(buffer_ptr%-4)
   poke adr_destination%+1,peek(buffer_ptr%-3)
   poke adr_destination%+2,peek(buffer_ptr%-2)
   poke adr_destination%+3,peek(buffer_ptr%-1)
end_sub


sub FILL_BUFFER(buffer_ptr%,value%)
' uniquement des BYTEs
dim_local size%,i
   value%=bin_and(value%,255)
   BUFFER_SIZE(adr(size%),buffer_ptr%)
   size%=size%-1
   for i=0 to size%
      poke buffer_ptr%+i,value%
   next i
end_sub


sub CLEAR_BUFFER(buffer_ptr%)
' effacer un buffer revient à le remplir de 0
   FILL_BUFFER(buffer_ptr%,0)
end_sub


sub DISPLAY_BUFFER(buffer_ptr%,c$)
' affiche le contenu du buffer
dim_local buffer_position%,i,value,tmp%,tmp,j,k
   buffer_position%=0
   c$=upper$(c$)
   for i=1 to len(c$)
      value=asc(mid$(c$,i,1))
      select value
         case 66
            tmp%=0
            READ_BUFFER_BYTE(adr(tmp%),buffer_ptr%,buffer_position%)
            buffer_position%=buffer_position%+1
            print tmp%

         case 68
            tmp%=0
            READ_BUFFER_DWORD(adr(tmp%),buffer_ptr%,buffer_position%)
            buffer_position%=buffer_position%+4
            print tmp%

         case 70
            tmp=0
            READ_BUFFER_FLOAT(adr(tmp),buffer_ptr%,buffer_position%)
            buffer_position%=buffer_position%+8
            k=0 : for j=0 to 7 : k=k+peek(adr(tmp)+j) : next j
            if k=2040
               print "NaN"
            else
               print tmp
            end_if

         case 73
            tmp%=0
            READ_BUFFER_INT(adr(tmp%),buffer_ptr%,buffer_position%)
            buffer_position%=buffer_position%+4
            print tmp%

         case 76
            tmp%=0
            READ_BUFFER_LONG(adr(tmp%),buffer_ptr%,buffer_position%)
            buffer_position%=buffer_position%+4
            print tmp%

         case 87
            tmp%=0
            READ_BUFFER_WORD(adr(tmp%),buffer_ptr%,buffer_position%)
            buffer_position%=buffer_position%+2
            print tmp%
      end_select
   next i
end_sub


sub GET_BUFFER_PTR(adr_destination%,adr_source%)
' retrouve l'adresse du pointeur
   poke adr_destination%,peek(adr_source%)
   poke adr_destination%+1,peek(adr_source%+1)
   poke adr_destination%+2,peek(adr_source%+2)
   poke adr_destination%+3,peek(adr_source%+3)
end_sub


sub DEBUG(adr%, tai%)
dim_local i,k
   print
   for i=0 to tai%-1
      k=peek(adr%+i)
      if k<16
         print "0";hex$(k);" ";
      else
         print hex$(k);" ";
      end_if
   next i
   print
   for i=0 to tai%-1
      k=peek(adr%+i)
         print chr$(k);"  ";
   next i
   print
end_sub


Les SUBs SetkeyState(key%) et GetkeyState(key%) ne sont pas du tout nécessaire, mais elle te seront peut-être utile pour une gestion plus souple(peut-être, j'en suis pas tout à fait certain) du clavier, c'est pour ça que je les aies inclus dans le code.
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Klaus

avatar

Nombre de messages : 10259
Age : 68
Localisation : Ile de France
Date d'inscription : 29/12/2009

MessageSujet: Re: Un clavier cliquable   Sam 6 Juin 2015 - 13:13

@Minibug:
KGF.dll contient la fonction "GetKeyboardState"...
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://klauspanoramic.comxa.com/index.html
Jicehel

avatar

Nombre de messages : 5863
Age : 45
Localisation : 77500
Date d'inscription : 19/04/2011

MessageSujet: Re: Un clavier cliquable   Sam 6 Juin 2015 - 15:16

Je n'ai pas de led pour vérifier directement le programme mais j'ai regardé les fonctions et c'est un super boulot très pratique.
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Minibug

avatar

Nombre de messages : 2411
Age : 51
Localisation : Vienne (86)
Date d'inscription : 10/02/2012

MessageSujet: Re: Un clavier cliquable   Sam 6 Juin 2015 - 16:18

Bonjour tous le monde !

Merci silverman et Klaus pour votre aide...

Ca devrait permettre d'avancer dans ma démarche... Wink
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://gpp.panoramic.free.fr
Contenu sponsorisé




MessageSujet: Re: Un clavier cliquable   

Revenir en haut Aller en bas
 
Un clavier cliquable
Voir le sujet précédent Voir le sujet suivant Revenir en haut 
Page 1 sur 1
 Sujets similaires
-
» cafe renverser sur clavier ordi portable
» bouton cliquable
» Commande clavier
» [Résolu] Clavier sans fil faisant des siennes...
» Jeu flash - commandes avec le clavier

Permission de ce forum:Vous ne pouvez pas répondre aux sujets dans ce forum
FORUM DE DISCUSSION SUR LE LANGAGE PANORAMIC :: PANORAMIC :: Les inutilitaires-
Sauter vers: