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 :

Ajouter un Evenement sur des composants appartenant à des form differentes


Sujet :

Delphi

  1. #1
    Membre éclairé Avatar de PadawanDuDelphi
    Homme Profil pro
    Développeur de jeux vidéo
    Inscrit en
    Août 2006
    Messages
    678
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur de jeux vidéo
    Secteur : Bâtiment

    Informations forums :
    Inscription : Août 2006
    Messages : 678
    Points : 717
    Points
    717
    Par défaut Ajouter un Evenement sur des composants appartenant à des form differentes
    Salut,

    Voici mon problème: En m'inspirant de la FAQ, je souhaitais autoriser uniquement la saisie des chiffres dans mes TEdit en utilisant ce code:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    Procedure SelectionNumeriqueOnEdit(Sender: TObject;var Key: char);
    Begin
      If not (Key in ['0'..'9', DecimalSeparator, Chr(VK_BACK), Chr(VK_DELETE)]) then
      Key := #0;
      if Key = DecimalSeparator then
        if Pos(DecimalSeparator, (Sender AS TEdit).Text) <> 0 then
          Key := #0;
    End;
    Qui fonctionne nickel si j'écris ma procédure dans l'unité qui contient mon TEdit.

    Mais en plaçant cette procédure (en public) dans une unité globale, et en tentant, pour chaque form, t'utiliser findcomponent (et IS TEDit) pour appliquer cette procédure à tous mes évènements OnKeyPress de mes Edits, ça ne passe pas.

    Même si j'execute ce code sur un seul de mes Edit (qui est sur Form1 par exemple):
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Edit1.OnKeyPress:= TGlobale.SelectionNumeriqueOnEdit;
    j'ai un message d'erreur:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    [Erreur]E2009 Types incompatibles : 'pointeur de méthode et procédure normale'
    Quelqu'un saurait-il comment affecter ma procedure à tous mes Edits, quelque soit leurs form sur laquelle ils se situent?

    Merci pour tout,

    A+.
    For crying out loud !

  2. #2
    Expert éminent sénior
    Avatar de ShaiLeTroll
    Homme Profil pro
    Développeur C++\Delphi
    Inscrit en
    Juillet 2006
    Messages
    13 429
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    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 429
    Points : 24 794
    Points
    24 794
    Par défaut
    Essaye

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    class Procedure TStandardEvent.SelectionNumeriqueOnEdit(Sender: TObject;var Key: char);
    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
    Membre éclairé Avatar de Kaféine
    Homme Profil pro
    Inscrit en
    Avril 2007
    Messages
    569
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 569
    Points : 736
    Points
    736
    Par défaut
    Salut,

    Je vois pas trop l'interet de la manoeuvre mais bon moi je ferai un truc comme ca

    un singleton appele Global dans un unite pour lui tout seul

    voici l'interface

    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
     
    type
      TGlobal = class
      private
        FFormList: TList;
        procedure TraitementEditForm(AForm: TForm);
        procedure SetEventToEdit(const Edit: TEdit; const E: TKeyPressEvent);
        procedure KeyPress(Sender: TObject;var Key: char);
      public
        constructor Create;
        destructor destroy; override;
        procedure AddForm(AForm: TForm);
        procedure RemoveForm(AForm: TForm);
      end;
     
    function Global: TGlobal;
    et son implementation

    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
     
    var
      GGlobal: TGlobal = nil;
     
    function Global: TGlobal;
    begin
      if not Assigned(GGlobal) then
        GGlobal := TGlobal.Create;
      Result := GGlobal;
    end;
     
     
    { TGlobal }
     
    procedure TGlobal.AddForm(AForm: TForm);
    begin
      FFormList.Add(AForm);
      TraitementEditForm(AForm);
    end;
     
    constructor TGlobal.Create;
    begin
      FFormList := TList.Create;
    end;
     
    destructor TGlobal.Destroy;
    begin
      FFormList.Free;
      inherited;
    end;
     
    procedure TGlobal.KeyPress(Sender: TObject; var Key: char);
    begin
       Showmessage('test'); //pour test
       //ta procedure ici
    end;
     
    procedure TGlobal.RemoveForm(AForm: TForm);
    begin
      FFormList.Remove(AForm);
    end;
     
    procedure TGlobal.SetEventToEdit(const Edit: TEdit; const E: TKeyPressEvent);
    begin
      Edit.OnKeyPress := E;
    end;
     
    procedure TGlobal.TraitementEditForm(AForm: TForm);
    var
      i: integer;
      c: TControl;
    begin
      for i := 0 to AForm.ControlCount - 1 do
      begin
        c := AForm.Controls[i];
        if c.InheritsFrom(TCustomEdit) then
          SetEventToEdit(c as TEdit, KeyPress);
      end;
    end;
    ensuite pour utiliser ca il suffit de faire sur la form que tu veux traiter :
    dans son evenement OnCreate il suffit de taper:


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    procedure TForm1.FormCreate(Sender: TObject);
    begin
      Global.AddForm(Self);
    end;
    ceci traite tous les Edit de la form et associe l'evenement KeyPress

    evidemment ce code peut être enrichi par exemple en traitant d'autre evenement

    voila jespere que c'est ce que tu veux
    Akim Merabet

  4. #4
    Modérateur

    Homme Profil pro
    Ingénieur retraité
    Inscrit en
    Octobre 2005
    Messages
    2 396
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur retraité

    Informations forums :
    Inscription : Octobre 2005
    Messages : 2 396
    Points : 3 263
    Points
    3 263
    Par défaut
    Edit1.OnKeyPress:= TGlobale.SelectionNumeriqueOnEdit;
    Moi j'aurais essayé de faire de façon similaire à la gestion d'événements déclenchés par un Edit que l'on aurait créé de façon dynamique ce qui aurait abouti à la ligne de code Edit1.OnKeyPress:=TGlobale.EditBaseKeyPress; dans les unités autres que la globale. EditBase étant le nom d'un Edit de la fiche-globale, et EditBaseKeyPress celui de la procédure TFormeGlobale.EditBaseKeyPress(Sender: TObject; var Key: Char);
    Ensuite j'aurais essayé si cela marche :
    - d'abord en laissant la déclaration de cette procedure qui figure dans le type TFormeGlobale à la place que lui assigne automatiquement Delphi,
    - et ensuite en déplaçant cette déclaration dans la rubrique des Déclarations publiques.
    N'oubliez pas de consulter les FAQ Delphi et les cours et tutoriels Delphi

  5. #5
    Membre expert
    Avatar de TicTacToe
    Inscrit en
    Septembre 2005
    Messages
    1 940
    Détails du profil
    Informations personnelles :
    Âge : 51

    Informations forums :
    Inscription : Septembre 2005
    Messages : 1 940
    Points : 3 575
    Points
    3 575
    Par défaut
    Salut

    Citation Envoyé par padawan
    j'ai un message d'erreur:
    Code :

    [Erreur]E2009 Types incompatibles : 'pointeur de méthode et procédure normale'
    Bien que les procédures soit définie avec le même typage, une procédure hors classe, et une procédure dans une classe (donc une méthode) ne sont pas du même type. (le 'of object' précise qu'il attend une méthode et non une procédure indépendante).

    Il faut que ta procédure soit définie dans une classe.
    - soit dans une classe accessible depuis partout (l'exemple cité visiblement)
    - soit dans une form ancêtre à toutes tes formes
    Section Delphi
    La mine d'or: La FAQ, les Sources

    Un développement compliqué paraitra simple pour l'utilisateur, frustrant non ?
    Notre revanche ? l'inverse est aussi vrai ;-)

  6. #6
    Membre éclairé Avatar de PadawanDuDelphi
    Homme Profil pro
    Développeur de jeux vidéo
    Inscrit en
    Août 2006
    Messages
    678
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur de jeux vidéo
    Secteur : Bâtiment

    Informations forums :
    Inscription : Août 2006
    Messages : 678
    Points : 717
    Points
    717
    Par défaut
    Tout d'abord merci de vous être interesser à mon problème:

    @ShaiLeTroll:
    j'ai tester ta méthode, mais j'ai reçu un message d'erreur:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Le projet SimalimAC.exe a déclenché la classe d'exception EInvalidCast avec le message 'Transtypage de classe incorrect'.
    Apparamment il n'aime pas mon "sender as TEdit".... quand je veux entrer un séparateur décimal.

    @Kaféine:
    Je vois pas trop l'interet de la manoeuvre mais bon moi je ferai un truc comme ca
    Le but de la manoeuvre c'était de ne pas réécire pour mes 20 fiches la procédure OnKeyPress. Ton idée de créer une unité globale qui gère la création et la destruction des fiches du projet est intéressante, mais je crois que ça apporterait autant de changement (Show, ShowModal...), non ?

    @Gilbert Geyer:
    Désolé, si je déplace la déclaration, Delphi devient fou...

    @TicTacToe
    Effectivement, mon but était d'accéder à cette procédure depuis une class "commune", parceque reprendre tout l'héritage de mes formes c'était pas dans mes projets à court terme...
    Parceque si je devais repartir à zéro j'aurais creer un composant descendant de TEdit ayant cette fonctionnalité...Mais bon, le projet est trop avancé et trop en retard pour tout refaire.

    A+.
    For crying out loud !

  7. #7
    Membre éclairé Avatar de Kaféine
    Homme Profil pro
    Inscrit en
    Avril 2007
    Messages
    569
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 569
    Points : 736
    Points
    736
    Par défaut
    Le but de la manoeuvre c'était de ne pas réécire pour mes 20 fiches la procédure OnKeyPress
    Ok monsieur manque de courage

    Ton idée de créer une unité globale qui gère la création et la destruction des fiches du projet
    heu je gere pas la destruction et creation des fiches
    j'ajoute juste la fiche en cours a mon objet global et je le fais lors de la creation de la fiche en cours cest tout
    Akim Merabet

  8. #8
    Modérateur

    Homme Profil pro
    Ingénieur retraité
    Inscrit en
    Octobre 2005
    Messages
    2 396
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur retraité

    Informations forums :
    Inscription : Octobre 2005
    Messages : 2 396
    Points : 3 263
    Points
    3 263
    Par défaut
    J'ai vite vérifié et cela marche.

    Dans l'unité Globale liée à une 1ère Form j'ai mis le code :
    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
     
    procedure TfrmTraceCourbe.edXKeyPress(Sender: TObject; var Key: Char);
    //Procedure SelectionNumeriqueOnEdit(Sender: TObject;var Key: char);
    Begin
      If not (Key in ['0'..'9', DecimalSeparator, Chr(VK_BACK), Chr(VK_DELETE)]) then
      Key := #0;
      if Key = DecimalSeparator then
        if Pos(DecimalSeparator, (Sender AS TEdit).Text) <> 0 then
          Key := #0;
    End;
     
    procedure TfrmTraceCourbe.Button1Click(Sender: TObject);
    begin     Form3.show;
     
    end;
    ... et dans une unité secondaire liée à ma Form3 le code :

    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
    unit uSecondaire;
    
    interface
    
    uses
      Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
      StdCtrls;
    
    type
      TForm3 = class(TForm)
        Edit1: TEdit;
        procedure FormCreate(Sender: TObject);
      private
        { Déclarations privées }
      public
        { Déclarations publiques }
      end;
    
    var
      Form3: TForm3;
    
    implementation
    
    {$R *.DFM}
    
    uses uTraceCourbe2;
    
    procedure TForm3.FormCreate(Sender: TObject);
    begin     Edit1.OnKeyPress:=frmTraceCourbe.edXKeyPress;
    
    end;
    end.
    ... suffit de remplacer les noms de mes gadgets par ceux des tiens et cela devrait également marcher ailleurs (si ça marche sous D5 ça doit marcher ailleurs)

    J'ai fait l'essai car je suis friands des trucs qui permettent d'économiser des lignes de code.

    P.S : Il n'a même pas été nécessaire de déplacer la déclarartion de ma procédure procedure edXKeyPress(Sender: TObject; var Key: Char); dans la rubrique des Déclarations publiques.
    N'oubliez pas de consulter les FAQ Delphi et les cours et tutoriels Delphi

  9. #9
    Membre éclairé Avatar de PadawanDuDelphi
    Homme Profil pro
    Développeur de jeux vidéo
    Inscrit en
    Août 2006
    Messages
    678
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur de jeux vidéo
    Secteur : Bâtiment

    Informations forums :
    Inscription : Août 2006
    Messages : 678
    Points : 717
    Points
    717
    Par défaut
    Ok, j'avais pas compris le code...Je vais le tester de suite alors.

    Ok monsieur manque de courage
    Ouais, je voulais faire le fainéant (on approche du WE).
    For crying out loud !

  10. #10
    Membre éclairé Avatar de Kaféine
    Homme Profil pro
    Inscrit en
    Avril 2007
    Messages
    569
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 569
    Points : 736
    Points
    736
    Par défaut
    voici le code complet si tu veux
    Akim Merabet

  11. #11
    Modérateur

    Homme Profil pro
    Ingénieur retraité
    Inscrit en
    Octobre 2005
    Messages
    2 396
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur retraité

    Informations forums :
    Inscription : Octobre 2005
    Messages : 2 396
    Points : 3 263
    Points
    3 263
    Par défaut
    Comme ça bouge vite ici, voir mon message de 14h47 : code simple et qui marche.
    N'oubliez pas de consulter les FAQ Delphi et les cours et tutoriels Delphi

  12. #12
    Membre éclairé Avatar de Kaféine
    Homme Profil pro
    Inscrit en
    Avril 2007
    Messages
    569
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 569
    Points : 736
    Points
    736
    Par défaut
    Citation Envoyé par Gilbert Geyer
    Comme ça bouge vite ici, voir mon message de 14h47 : code simple et qui marche.
    effectivement il existe plusieurs solution pour traiter le probleme
    mais je trouve que le mien est plus simple a maintenir ou a enrichir
    Akim Merabet

  13. #13
    Membre expert
    Avatar de TicTacToe
    Inscrit en
    Septembre 2005
    Messages
    1 940
    Détails du profil
    Informations personnelles :
    Âge : 51

    Informations forums :
    Inscription : Septembre 2005
    Messages : 1 940
    Points : 3 575
    Points
    3 575
    Par défaut
    Effectivement, mon but était d'accéder à cette procédure depuis une class "commune", parceque reprendre tout l'héritage de mes formes c'était pas dans mes projets à court terme...
    Parceque si je devais repartir à zéro j'aurais creer un composant descendant de TEdit ayant cette fonctionnalité...Mais bon, le projet est trop avancé et trop en retard pour tout refaire.

    pas forcément en plus de tout parser manuellement.
    1. Créer une class TMaForm, avec la méthode en question
    2. Etablir la ventilation des composant dans le Create de cette form 'mère' (sera automatiquement appelé par le inherited des forms fille)
    3. fermer toutes tes formes dans l'éditeur
    4.Chercher/remplacer dans toutes tes forms '= class(TForm)' à remplacer par '= class(TMaForm)'
    5. Par contre, il faudra peut-être rouvrir/sauver/fermer une à une toute tes formes par la suite (a voir mais c'est pas sur).

    et te voila avec une forme général, dont toute tes formes bénéficient des nouvelles fonctions de la form mère.
    Enfin, c'était juste une alternative, les autres solutions marchent très bien aussi
    Section Delphi
    La mine d'or: La FAQ, les Sources

    Un développement compliqué paraitra simple pour l'utilisateur, frustrant non ?
    Notre revanche ? l'inverse est aussi vrai ;-)

  14. #14
    Membre éclairé Avatar de PadawanDuDelphi
    Homme Profil pro
    Développeur de jeux vidéo
    Inscrit en
    Août 2006
    Messages
    678
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur de jeux vidéo
    Secteur : Bâtiment

    Informations forums :
    Inscription : Août 2006
    Messages : 678
    Points : 717
    Points
    717
    Par défaut
    2. Etablir la ventilation des composant dans le Create de cette form 'mère' (sera automatiquement appelé par le inherited des forms fille)
    J'ai pas compris cette phrase, désolé... Surtout que cette méthode pourrait bien m'intéresser pour les fonctionnalités de mises en formes de bases de toutes mes formes.

    Sinon, en effet, les autres méthodes marchent bien, pas de soucis.
    For crying out loud !

  15. #15
    Modérateur

    Homme Profil pro
    Ingénieur retraité
    Inscrit en
    Octobre 2005
    Messages
    2 396
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur retraité

    Informations forums :
    Inscription : Octobre 2005
    Messages : 2 396
    Points : 3 263
    Points
    3 263
    Par défaut
    Y'A+K choisir entre le simple et le compliqué !
    N'oubliez pas de consulter les FAQ Delphi et les cours et tutoriels Delphi

  16. #16
    Membre expert
    Avatar de TicTacToe
    Inscrit en
    Septembre 2005
    Messages
    1 940
    Détails du profil
    Informations personnelles :
    Âge : 51

    Informations forums :
    Inscription : Septembre 2005
    Messages : 1 940
    Points : 3 575
    Points
    3 575
    Par défaut
    C'est une question d'héritage.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    type
      TPere = class( TForm )
        ...
        procedure FormCreate(Sender: TObject);
        ...
       end;
    ...
    procedure TPere.FormCreate(Sender: TObject);
    begin
      inherited; 
      // Traitement Pere
    end;
    puis dans une autre unité

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    type
      TFils = class( TPere)
        ...
        procedure FormCreate(Sender: TObject);
        ...
       end
     
    procedure TFils.FormCreate(Sender: TObject);
    begin
      inherited; // <--- appelle le TPere.FormCreate...
      // Traitement Fils
    end;
    Toutes tes forms filles, appelleront donc le traitement "Traitement Père", et ce traitement pourrait être précisément le parsing de tes composants avec une action dessus.
    Section Delphi
    La mine d'or: La FAQ, les Sources

    Un développement compliqué paraitra simple pour l'utilisateur, frustrant non ?
    Notre revanche ? l'inverse est aussi vrai ;-)

  17. #17
    Membre éclairé Avatar de Kaféine
    Homme Profil pro
    Inscrit en
    Avril 2007
    Messages
    569
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 569
    Points : 736
    Points
    736
    Par défaut
    Citation Envoyé par TicTacToe
    Un développement compliqué paraitra simple pour l'utilisateur, frustrant non ?
    Notre revanche ? l'inverse est aussi vrai ;-)
    J'aime bien cette citation
    Akim Merabet

  18. #18
    Membre éclairé Avatar de PadawanDuDelphi
    Homme Profil pro
    Développeur de jeux vidéo
    Inscrit en
    Août 2006
    Messages
    678
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur de jeux vidéo
    Secteur : Bâtiment

    Informations forums :
    Inscription : Août 2006
    Messages : 678
    Points : 717
    Points
    717
    Par défaut
    Ok, je comprend mieux, mais ca risque quand même de me prendre 2-3 jours, donc je le ferai dès que j'aurais 5min...

    Merci à tous pour vos aides et conseils précieux.

    A+.
    For crying out loud !

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. ajouter des composants "riches" à des pages JSF
    Par olivier57b dans le forum JSF
    Réponses: 2
    Dernier message: 03/03/2010, 18h11
  2. appel des composants appartenants à page dans une autre
    Par mariooma dans le forum Silverlight
    Réponses: 1
    Dernier message: 04/12/2008, 23h52
  3. Composant connectant des bloc avec des splines
    Par Jeff Nodrev dans le forum wxWidgets
    Réponses: 4
    Dernier message: 18/03/2008, 15h35
  4. For each sur Composant ? Initialiser des composants.
    Par 19cmos83 dans le forum Interfaces Graphiques en Java
    Réponses: 8
    Dernier message: 11/10/2007, 12h02
  5. Centrer des composants dans une form?
    Par alg_dev dans le forum Delphi
    Réponses: 1
    Dernier message: 10/06/2007, 11h24

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