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 :

sendmessage button enable


Sujet :

Delphi

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Novembre 2009
    Messages
    211
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2009
    Messages : 211
    Points : 55
    Points
    55
    Par défaut sendmessage button enable
    bonjour
    Jai une application extérieur avec un bouton que je désire rendre enable
    donc j'ai le handle du bouton
    et j'emploi cette commande
    sendmessage(handlebouton,WM_ENABLE,0,0)
    mais j'arrive encore a cliquer dessus
    donc i a t'il une autre commande pour rendre le bouton enabled
    merci

  2. #2
    Expert éminent sénior
    Avatar de Paul TOTH
    Homme Profil pro
    Freelance
    Inscrit en
    Novembre 2002
    Messages
    8 964
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Freelance
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2002
    Messages : 8 964
    Points : 28 445
    Points
    28 445
    Par défaut
    que donne EnableWindow ?
    Developpez.com: Mes articles, forum FlashPascal
    Entreprise: Execute SARL
    Le Store Excute Store

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Novembre 2009
    Messages
    211
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2009
    Messages : 211
    Points : 55
    Points
    55
    Par défaut
    bonsoir
    enablewindow peut s'appliquer a un bouton ?

  4. #4
    Membre actif
    Avatar de Jlmat
    Homme Profil pro
    Consultant en Ressources Humaines, Retraité passionné de programmation
    Inscrit en
    Avril 2008
    Messages
    287
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Vienne (Poitou Charente)

    Informations professionnelles :
    Activité : Consultant en Ressources Humaines, Retraité passionné de programmation
    Secteur : Conseil

    Informations forums :
    Inscription : Avril 2008
    Messages : 287
    Points : 288
    Points
    288
    Par défaut
    Salut tinitin

    ça tombe bien, je suis justement dans les interceptions de message. Le code suivant fonctionne sous Lazarus et donc ça devrait le faire aussi en Delphi

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    Procedure TForm1.FormActivate(Sender: TObject);
    begin
       PostMessage(GetParent(Button1.Handle), WM_COMMAND, MAKEWPARAM(GetDlgCtrlID(Button1.Handle), BN_CLICKED),Button1.Handle);
    end;
     
    procedure TForm1.Button1Click(Sender: TObject);
    begin
      showmessage('bouton clic');
    end;
    Je programme en Lazarus 3.2.2 sous windows 10 pro

  5. #5
    Membre du Club
    Profil pro
    Inscrit en
    Novembre 2009
    Messages
    211
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2009
    Messages : 211
    Points : 55
    Points
    55
    Par défaut
    Bonjour
    merci pour votre aide
    mais j'arrive déjà a cliquer sur un bouton extérieur mais moi je voudrais le rendre inactif (enable)
    j'ai essaye de remplacer BM_CLICK par BM_ENABLE mais rien ne se passe

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    var
    hand:thandle;
    begin
    hand:=strtoint('$'+essai.Edit1.Text);;
    sendmessage(hand,BM_CLICK,0,0);
    end;

  6. #6
    Membre actif
    Avatar de Jlmat
    Homme Profil pro
    Consultant en Ressources Humaines, Retraité passionné de programmation
    Inscrit en
    Avril 2008
    Messages
    287
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Vienne (Poitou Charente)

    Informations professionnelles :
    Activité : Consultant en Ressources Humaines, Retraité passionné de programmation
    Secteur : Conseil

    Informations forums :
    Inscription : Avril 2008
    Messages : 287
    Points : 288
    Points
    288
    Par défaut
    Citation Envoyé par tintin62 Voir le message
    Bonjour
    ...
    j'ai essaye de remplacer BM_CLICK par BM_ENABLE mais rien ne se passe
    Oui, excuse moi, je me suis emballé un peu vite.

    Malheureusement, cette constante BM_ENABLE n'est pas définie dans l'unité messages.inc de Lazarus, j'essaie de voir s'il y a un autre moyen...

    A+
    Je programme en Lazarus 3.2.2 sous windows 10 pro

  7. #7
    Expert éminent sénior
    Avatar de Paul TOTH
    Homme Profil pro
    Freelance
    Inscrit en
    Novembre 2002
    Messages
    8 964
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Freelance
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2002
    Messages : 8 964
    Points : 28 445
    Points
    28 445
    Par défaut
    Citation Envoyé par tintin62 Voir le message
    bonsoir
    enablewindow peut s'appliquer a un bouton ?
    oui
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    procedure TForm1.Button2Click(Sender: TObject);
    begin
      EnableWindow(Button1.Handle, False);
    end;
    Developpez.com: Mes articles, forum FlashPascal
    Entreprise: Execute SARL
    Le Store Excute Store

  8. #8
    Membre actif
    Avatar de Jlmat
    Homme Profil pro
    Consultant en Ressources Humaines, Retraité passionné de programmation
    Inscrit en
    Avril 2008
    Messages
    287
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Vienne (Poitou Charente)

    Informations professionnelles :
    Activité : Consultant en Ressources Humaines, Retraité passionné de programmation
    Secteur : Conseil

    Informations forums :
    Inscription : Avril 2008
    Messages : 287
    Points : 288
    Points
    288
    Par défaut
    Pourquoi faire compliqué quand on peut faire simple!
    intéressante cette fonction EnableWindow
    Merci Paul
    Je programme en Lazarus 3.2.2 sous windows 10 pro

  9. #9
    Expert éminent sénior
    Avatar de Paul TOTH
    Homme Profil pro
    Freelance
    Inscrit en
    Novembre 2002
    Messages
    8 964
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Freelance
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2002
    Messages : 8 964
    Points : 28 445
    Points
    28 445
    Par défaut
    Citation Envoyé par Jlmat Voir le message
    Pourquoi faire compliqué quand on peut faire simple!
    intéressante cette fonction EnableWindow
    Merci Paul
    il faut malgré tout vérifier que cela fonctionne avec un process externe, ce n'est pas toujours le cas...mais en même temps s'il faut tout tester soit même je crois que je vais arrêter de donner des pistes
    Developpez.com: Mes articles, forum FlashPascal
    Entreprise: Execute SARL
    Le Store Excute Store

  10. #10
    Membre actif
    Avatar de Jlmat
    Homme Profil pro
    Consultant en Ressources Humaines, Retraité passionné de programmation
    Inscrit en
    Avril 2008
    Messages
    287
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Vienne (Poitou Charente)

    Informations professionnelles :
    Activité : Consultant en Ressources Humaines, Retraité passionné de programmation
    Secteur : Conseil

    Informations forums :
    Inscription : Avril 2008
    Messages : 287
    Points : 288
    Points
    288
    Par défaut
    @ Paul

    mais en même temps s'il faut tout tester soit même je crois que je vais arrêter de donner des pistes
    ça serait dommage pour des éternels débutants comme moi et d'autres qui ont besoin d'un langage de programmation pour ses recherches (hors université) ...!

    Les logiciels étant en continuelle évolution, on a besoin de pistes pour trouver les pratiques stables... Avant, les versions stables étaient money courante... On savait où on en était, mais maintenant, en France en tout cas, on est perdu avec toutes les occurences des moteurs de recherches et le peu de production papier. Moi, un livre bien fait ou une documentation comme du temps de Delphi 7, c'était un vrai plaisir de se former...

    Maintenant, ça ressemble plus à une course d'obstacles...

    @ Tintin, est-ce que c'est bon pour toi?
    A+
    Je programme en Lazarus 3.2.2 sous windows 10 pro

  11. #11
    Membre du Club
    Profil pro
    Inscrit en
    Novembre 2009
    Messages
    211
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2009
    Messages : 211
    Points : 55
    Points
    55
    Par défaut
    bonjour
    viens de rentrer verrait sa demain si sa marche enablewindows
    merci deja a vous tous de nous rendre moins ignare
    ++

  12. #12
    Expert éminent sénior
    Avatar de Mat.M
    Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2006
    Messages
    8 361
    Détails du profil
    Informations personnelles :
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Novembre 2006
    Messages : 8 361
    Points : 20 381
    Points
    20 381
    Par défaut
    Citation Envoyé par tintin62 Voir le message
    bonjour
    Jai une application extérieur avec un bouton que je désire rendre enable
    c'est un peu pointu ce que vous voulez faire il faut faire du "subclassing" avec GetWindowLongPtr et son inverse SetWindowLongPtr.
    Comme tout le monde sait bien une fenêtre a sa propre boucle de message et le kernel donc place les messages émis soit par le kernel lui-même soit l'application avec SendMessage.
    donc obtenir le Handle de la fenêtre et appeler ces deux API.
    Citation Envoyé par tintin62 Voir le message
    donc j'ai le handle du bouton
    il faut préciser de quelle manière est obtenu le Handle.

  13. #13
    Membre du Club
    Profil pro
    Inscrit en
    Novembre 2009
    Messages
    211
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2009
    Messages : 211
    Points : 55
    Points
    55
    Par défaut
    bonsoir
    merci Paul sa marche
    pour le recherche handle j'avais trouve sa sur le site je crois
    mais je me rappelle plus de qui est ce si il se reconnait qu'il le dit
    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
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
     
    unit Unit1;
     
    interface
     
    uses
      Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
      Dialogs, StdCtrls;
     
    type
      Tessai = class(TForm)
        ListBox1: TListBox;
        Button1: TButton;
        Edit1: TEdit;
        Button2: TButton;
        Button3: TButton;
        procedure Button1Click(Sender: TObject);
        procedure Button2Click(Sender: TObject);
        procedure Button3Click(Sender: TObject);
      private
        { Déclarations privées }
      public
        { Déclarations publiques }
        winHandle: HWND;
        winTitle : string;
      end;
     
    var
      essai: Tessai;
     
    implementation
     
    {$R *.dfm}
     
     var
      s: String;
     
    function EnumChildren(hwnd: HWND; lParam: LPARAM): BOOL; stdcall;
    var
      ClassName: array[0..259] of Char;
    begin
      Result := True;
      GetClassName(hwnd, ClassName, Length(ClassName));
      essai.ListBox1.Items.Add(IntToHex(hwnd,8) + ' ' + ClassName);
    end;
     
    procedure Tessai.Button1Click(Sender: TObject);
    begin
      ListBox1.Items.Clear;
     
      // ---------------------------------
      // 1. try to find main window hwnd:
      // ---------------------------------
      winHandle := FindWindow(nil,pchar('fenetre1'));
      if winHandle =0 then begin
      ListBox1.Items.Add('Error: 1.'); exit; end else
      ListBox1.Items.Add('win: 0x' + IntToHex(winHandle,8));
     
      // ---------------------------------
      // 2. try to find window title:
      // ---------------------------------
      SetLength(winTitle, GetWindowTextLength(winHandle));
      GetWindowText(winHandle, PChar(winTitle), Length(winTitle)+1);
      if Length(Trim(winTitle)) < 2 then begin
      ListBox1.Items.Add('Error: 2.'); exit; end else
      ListBox1.Items.Add('title: ' + winTitle);
     
      // ---------------------------------
      // 3. cross check: try to get class:
      // ---------------------------------
      SetLength(s, 100);
      GetClassName(winHandle, PChar(s), Length(s)+1);
      if Length(Trim(s)) < 2 then begin
      ListBox1.Items.Add('Error: 3.'); exit; end else
      ListBox1.Items.Add('class: ' + s);
     
      EnumChildWindows(winHandle, @EnumChildren, 0);
    end;
     
    procedure Tessai.Button2Click(Sender: TObject);
    var
    hand:thandle;
    lpstring:pchar;
    begin
    hand:=strtoint('$'+essai.Edit1.Text);;
    lpstring:=pchar(edit1.Text);
    {sendmessage(hand,WM_SETTEXT,0,longint(lpstring));
    { sendmessage(hand,BM_CLICK,0,0);
    sendmessage(hand,BN_DISABLE,0,0)
               }
    {PostMessage(hand, WM_COMMAND, MAKEWPARAM(GetDlgCtrlID(Button1.Handle), BN_CLICKED),hand);    }
    enablewindow(hand,false);
    end;
     
    procedure Tessai.Button3Click(Sender: TObject);
    var
    hand:thandle;
    lpstring:pchar;
    begin
    hand:=strtoint('$'+essai.Edit1.Text);;
    enablewindow(hand,true);
    end;
     
    end.

  14. #14
    Expert éminent sénior
    Avatar de Mat.M
    Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2006
    Messages
    8 361
    Détails du profil
    Informations personnelles :
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Novembre 2006
    Messages : 8 361
    Points : 20 381
    Points
    20 381
    Par défaut
    salut Tintin le code semble être efficient il faut effectivement appeler EnumChildWindows pour obtenir les handle des contrôles.
    Est-ce que ça fonctionne alors ?

  15. #15
    Membre du Club
    Profil pro
    Inscrit en
    Novembre 2009
    Messages
    211
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2009
    Messages : 211
    Points : 55
    Points
    55
    Par défaut
    bonsoir
    oui et non
    je ne parle pas de enable du button ( de Paul) avec enablewindow qui marche très bien
    mais des fenêtres
    EnumChildWindows ne me marque pas les enfants comme bouton ou liste pourtant avec son handle
    j'ai certaine fenêtre ou il y as de boutons label ect .. et sa me les marque pas dans la liste box
    comment cela ce peut t'il ou certaine fenêtre sont protéger pour pas lister les compo qui la compose
    la je suis un peu perdu ou alors je n'emploi pas la bonne fonction
    merci pour aide

  16. #16
    Expert éminent sénior
    Avatar de Mat.M
    Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2006
    Messages
    8 361
    Détails du profil
    Informations personnelles :
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Novembre 2006
    Messages : 8 361
    Points : 20 381
    Points
    20 381
    Par défaut
    salut utiliser Spy++ l'outil de Microsoft pour voir si vous obtenez les bons handle de fenêtre.
    Avec EnumChildWindows ça devrait fonctionner normalement.

  17. #17
    Expert éminent sénior
    Avatar de ShaiLeTroll
    Homme Profil pro
    Développeur C++\Delphi
    Inscrit en
    Juillet 2006
    Messages
    13 459
    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 459
    Points : 24 873
    Points
    24 873
    Par défaut
    FindWindowEx permet de créer l'arbre tous les enfants depuis une fenêtre

    Par exemple remplir un Dialogue d'imprimante Fichier automatiquement : https://www.developpez.net/forums/d7...g/#post4215684



    Un vieux code que j'ai depuis Phidels en D4 ( peut-être D5 )

    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

  18. #18
    Membre du Club
    Profil pro
    Inscrit en
    Novembre 2009
    Messages
    211
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2009
    Messages : 211
    Points : 55
    Points
    55
    Par défaut
    bonjour
    "ShaiLeTroll" je ne trouve pas ton programme qui tu as mis dans la discussion " tueur de processus"
    si tu pouvais me mettre un autre lien de téléchargement stp
    les fenêtres ou je ne peux voir ce qui as dedans sont de class "QT5QWINDOW"
    ++

  19. #19
    Membre actif
    Homme Profil pro
    libre
    Inscrit en
    Juin 2019
    Messages
    205
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Autre

    Informations professionnelles :
    Activité : libre

    Informations forums :
    Inscription : Juin 2019
    Messages : 205
    Points : 292
    Points
    292
    Par défaut
    Il y a une autre approche plus simple et plus pratique (selon le contexte) par l'utilisation de WindowFromPoint pour récupérer le handle de la fenêtre pointée par la sourie.

    code suivant trace un rectangle rouge autour de la fenêtre trouvée,
    pour l'utiliser appuyer le SpeedButton et maintenir et pointer vers le bouton que tu souhaite récupérer son handle (une fois la sourie relâchée)

    FindWinHandle.zip



    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
     
    var
      FindW:boolean;
    procedure TForm1.SpeedButton1MouseDown(Sender: TObject; Button: TMouseButton;
      Shift: TShiftState; X, Y: Integer);
    begin
      WindowState:= wsMinimized;
      FindW := True;
      TrackWin();
    end;
     
    procedure TForm1.SpeedButton1MouseUp(Sender: TObject; Button: TMouseButton;
      Shift: TShiftState; X, Y: Integer);
    begin
      FindW := False;
    end;
     
    procedure TForm1.TrackWin();
    const BORDSIZE = 3;
    var
     R1,R2:HRGN;
     Pt :TPoint;
     cHwnd,old:THandle;
     R:TRect;
     cForm:TForm;
     B:array[byte] of char;
    begin
       cForm:= TForm.Create(nil);
       cForm.Color :=clRed;
       cForm.BorderStyle:=bsNone;
       cHwnd :=0;
       try
         while FindW do
         begin
              Sleep(50);
              Application.ProcessMessages();
              GetCursorPos(Pt);
              cHwnd:= WindowFromPoint(Pt);
              if (cHwnd = old) or (cHwnd = Handle) or (cForm.Handle = cHwnd) then
                 continue;
              GetWindowRect(cHwnd,R);
              Windows.InflateRect(R,BORDSIZE,BORDSIZE);
              cForm.Hide;
              SetWindowPos(cForm.Handle , HWND_TOPMOST, R.Left, R.Top, R.Width, R.Height , 0);
              R1:= CreateRectRgn(0, 0, R.Width, R.Height);
              R2 := CreateRectRgn(BORDSIZE, BORDSIZE, R.Width - BORDSIZE, R.Height - BORDSIZE);
              CombineRgn(R1, R1, R2, RGN_XOR);
              SetWindowRgn(cForm.Handle, R1, True);
              DeleteObject(R1);
              DeleteObject(R2);
              cForm.Show;
              old :=cHwnd;
         end;
       finally
          cForm.Free;
       end;
       WindowState :=wsNormal;
       B:='';
       Edit1.Text:='0x'+inttohex(cHwnd,8) ;
       if cHwnd <> 0 then
          GetClassName(cHwnd,@B,256);
       Edit2.Text := B ;
    end;

  20. #20
    Membre du Club
    Profil pro
    Inscrit en
    Novembre 2009
    Messages
    211
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2009
    Messages : 211
    Points : 55
    Points
    55
    Par défaut
    bonsoir
    merci pour ton programme
    par contre je travaille avec delphi 7 et il ne connait pas r.width et r.height
    SetWindowPos(cForm.Handle , HWND_TOPMOST, R.Left, R.Top, R.Width, R.Height , 0);
    mais ce n'est que visuel sur des formes créer par delphi pas de problème Handle il
    me les met avec en plus sa class
    mais ma fenêtre a moi elle est QTQWINDOW et si je me met sur le bouton rien ne se passe
    sauf me dire le handle de la fenêtre

Discussions similaires

  1. Disabled tous les radio buttons Enabled juste un radio button part01
    Par Shadow750 dans le forum Général JavaScript
    Réponses: 5
    Dernier message: 18/04/2020, 20h10
  2. [Débutant] probleme avec button.enabled
    Par Lunick90 dans le forum VB.NET
    Réponses: 5
    Dernier message: 22/09/2012, 17h12
  3. Button Enabled vb.net
    Par djouk dans le forum VB.NET
    Réponses: 4
    Dernier message: 04/06/2010, 19h51
  4. script basic : input type button enabled à false
    Par avogadro dans le forum Général JavaScript
    Réponses: 9
    Dernier message: 26/11/2006, 23h17
  5. Enabled / disabled sur un button
    Par Sephiroth Lune dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 07/11/2006, 15h44

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