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

Composants VCL Delphi Discussion :

Creation de composant Les choix qui s'imposent


Sujet :

Composants VCL Delphi

  1. #1
    Expert éminent
    Avatar de Qwazerty
    Homme Profil pro
    La très haute tension :D
    Inscrit en
    Avril 2002
    Messages
    3 898
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France

    Informations professionnelles :
    Activité : La très haute tension :D
    Secteur : Service public

    Informations forums :
    Inscription : Avril 2002
    Messages : 3 898
    Points : 8 529
    Points
    8 529
    Par défaut Creation de composant Les choix qui s'imposent
    SAlut
    Voila je debut dans la création de composant, par besoin et par envi aussi un peu . J'utilise Delphi 2005 Perso.

    Pour commencer voila a quoi ca ressemble (Fichier joint - CompoEtape.Jpeg)
    Il me servira a terme a pointé sur un schema contenu dans un TImage un appareillage electrique en tracant une fleche (ci besoin), un cercle contenant le numero d'etape et enfin un petit pictogramme (ici un cadenas).
    Actuellement j'ai fait mon code en utilisantles procedure du TImage (MouseDown, MouseMove).
    1er click le bout de la fleche apparait et le vecteur se dessine en suivant les mouvement de ma souris.
    2eme click le vecteur se fige, le cercle apparait et pivot sur le bout du vecteur en respectant des angles maximums.
    3eme click le cercle se fige et le pictogramme apparait, il tourne librement autour du cercle a une distance defini.
    4eme click le picto se fige.

    Le but du jeu est de remplacer ce qui est dessiné "en volatile" sur mon TImage.Canvas en un composant pouvant recevoir le focus et peut etre meme pouvant etre modifier (position, longueur du vecteur ...), que je puisse changer le contenu du cercle en y mettant une valeur (ca je pense deja savoir pas de probleme ici).

    J'ai donc lu 2 tuto de création de composant delphi et je me pose la question suivante, comment organiser mon composant.
    Sachant que je souhaite optenir une information de focus je me suis orienté vers une derivation de TCustomControl.
    Est ce que je dois faire une classe TEtape(derivé de TCustomControl) contenant 3 autres class (TVecteur, TCercle, Tpicto) ou tout gerer a partir d'une seul classe TEtape ?

    J'avoue ne pas pas trop avoir reussi a saisir les interactions entre les differentes classes contenu dans un composant, si vous avez des liens a me proposer je suis preneur, perso j'ai deja lu celui la:

    http://sjrd.developpez.com/delphi/tutoriel/composants/

    Et je viens de telecherger
    http://llb.developpez.com/compo_dyn/
    http://llb.developpez.com/composants/
    que je vais regarder ce WE.
    Merci a ceux qui prendront 5 min pour me repondre.
    A+
    Qwaz

    MagicQwaz := Harry Potter la baguette en moins
    Le monde dans lequel on vit
    Ma page perso DVP
    Dernier et Seul Tutoriel : VBA & Internet Explorer
    Dernière contribution : Lien Tableau Structuré et UserForm
    L'utilisation de l’éditeur de message

  2. #2
    Membre chevronné
    Avatar de Clorish
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    2 474
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 2 474
    Points : 2 158
    Points
    2 158
    Par défaut
    2 Proposition : Soit un Derivé de TControl (ou TCustomControl) pour avoir la property Canvas sur lequel tu dessines (surcharge methode paint) ce qu'il te faut.

    A noter que la property BrushStyle te permet de definir une transparence (bsClear/bsSolid)

    Soit tu derive de TShape qui fait deja pas mal de choses .... en rejoutant pourquoi pas tes propres types de dessins.
    Si il existe un TCustomShape serait peut etre mieux pour masquer ce dont tu n'as pas besoin.

    Pour ce qui est de la gestion de la classe etape, tout depends de quel type de focus tu souhaite avoir : Focus sur chaques parties ? ou sur le composant global ?
    Si tu desire le composant global, tu peux tout reunir dans une classe unique.
    Sinon, soit tu gere grace a l"evenement souri la position du click et fait appel a des evenements distincts que tu auras au prealablement cree, soit tu creer 3 sous composant, que tu peux evenetuelement reunir dans une classe TEtape.
    L'evenement Focus te permettra de detecter les clicks sur les sous composant plus facilement.

    Note : J'opterais pour la premiere solution.
    On passe du temps a vous repondre, alors soyez sympas, passez du temps ..... a vous relire !
    --
    Pourquoi tant de haine pour cette pauvre aide Delphi ????
    Aiiimezzz laaaaa .... Si-Non-Cham-Pi-Gnon !!!
    --
    Pour plus de Renseignements : Venez me rejoindre sur Msn .... Promis je mords pas

  3. #3
    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
    Bonjour,

    pour ce genre de choses, j'aurais tendance à créer des composants hors VCL possédant juste méthode Draw, et au besoin un MouseDown, etc...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    type
     TCustomDrawItem=class
      procedure Draw(Canvas:TCanvas); virtual; abtract;
      procedure MouseDown(x,y:integer); virtual; abtract;
     // ...
     end;
    tu aussi avoir besoin d'un dérivé de TList pour contenir les TCustomDrawItem
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    type
     TDrawStack=class(TList)
      procedure Draw(Canvas:TCanvas); 
    // appel de tous les Items[i].Draw(Canvas);
     end;
    ensuite tu le dérives comme selon tes besoins
    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
     
    type
     TEtape=class(TCustomDrawItem)
      Vector:TVector; { x1,y1,x2,y2 }
      Cercle:TCercle; { x1,y1,radius }
      Picto  :TPicto; { x,y,ImageIndex,angle }
      procedure Draw(Canvas:TCanvas); override;
     end;
     
    procedure TEtape.Draw(Canvas:TCanvas);
    begin
     with  Canvas do begin
      MoveTo(Vector.x1,Vector.y1);
      LineTo(Vector.x2,Vector.y2);
      ...
     end;
    end;
    l'objet peu avoir un "état" lors de la conception pour gérer le déplacement des différents éléments.

    quand à la création de trois composants, c'est intéressant si tu dois les réutiliser ailleurs, ou s'ils deviennent complexe. Mais comme je ne suis pas adorateur du 100% objet, je n'hésite pas aussi à créer des fonctions génériques
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    procedure DrawVector(Canvas:TCanvas; x1,y1,x2,y2:integer);
    //...avec gestion de la flèche etc..
    [/code]
    Developpez.com: Mes articles, forum FlashPascal
    Entreprise: Execute SARL
    Le Store Excute Store

  4. #4
    Expert éminent
    Avatar de Qwazerty
    Homme Profil pro
    La très haute tension :D
    Inscrit en
    Avril 2002
    Messages
    3 898
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France

    Informations professionnelles :
    Activité : La très haute tension :D
    Secteur : Service public

    Informations forums :
    Inscription : Avril 2002
    Messages : 3 898
    Points : 8 529
    Points
    8 529
    Par défaut
    Bonjour
    Merci pour ces reponses.
    Chlorish:
    En se qui concerne la derivation du TCustomControle, oui c'est bien la piste qui m'a attiré en premier apres avoir lu les cours dispo sur la création de composant.

    En se qui cncerne le Focus, je penche plutot pour un Focus global de l'outil puisque la seul partie contenant tu text modifiable sera le cercle contenant le numero d'etape. Les autre partie de mon composant (vecteur et picto) eux donneront simplement le focus au composant complet (donc au cercle d'etape).

    Le faite de souhaiter pouvoir modifier la position de mon objet (en mode execution) en metant un mode "Modification" dans mon outil, fesant apparaitre des poignées permetant entre autre de modifier la position du bout de la fleche, ou sont origine, ceci ne m'oblige t'il pas a faire plusieur classe ou il suffit juste que je prenne en compte ou le click souris a eu lieu tout simplement (en ecrivant ca je pense que ce serait la meilleur solution)

    Paul Thot:
    Je debut juste est le faite de dirivé de rien voir de pas grand chose me fait un peu peur j'avoue.
    Ha mais en relisant j'ai peut etre fait erreur losque tu met
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    type
     TCustomDrawItem=class
    serait ce un declaration forward avec plus loin un
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    TCustomDrawItem=class(TCustomControl)
    ?
    Ce qui tout de suite me parait bien plus allechant comme ca D'autant que la plupart des mes procedures et functions sont deja pretes (FindAngleVecteur, TacerVecteur, TraceurCercle, TracerCadenas, ...) . En tout cas merci pour ton exemple fournis.
    Edit: Humm je viens de relire a nouveau le code que tu m'a fournis et en faite ca n'est pas une declaration Froward n'est ce pas. Il me faudrais donc recréé toutes les procedure et les proprieté dont j'ai besoin ? (je ne suis pas sur de ce que je dis je vais regarder de ce pas le mot clef abstract que je n'ai vu (ou me souviens plus) dans aucun des cours)./Edit

    Je ne suis pas chez moi actuellement mais je vais m'y atteler en debut de semaine prochaine je pense donc merci a vous 2 pour ces informations, a bientot pour la suite.
    ++
    Qwaz

    MagicQwaz := Harry Potter la baguette en moins
    Le monde dans lequel on vit
    Ma page perso DVP
    Dernier et Seul Tutoriel : VBA & Internet Explorer
    Dernière contribution : Lien Tableau Structuré et UserForm
    L'utilisation de l’éditeur de message

  5. #5
    Membre chevronné
    Avatar de Clorish
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    2 474
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 2 474
    Points : 2 158
    Points
    2 158
    Par défaut
    Citation Envoyé par Qwazerty
    En se qui concerne la derivation du TCustomControle, oui c'est bien la piste qui m'a attiré en premier apres avoir lu les cours dispo sur la création de composant.
    C'ets a mon avis la meilleur solution

    Citation Envoyé par Qwazerty
    En se qui cncerne le Focus, je penche plutot pour un Focus global de l'outil puisque la seul partie contenant tu text modifiable sera le cercle contenant le numero d'etape. Les autre partie de mon composant (vecteur et picto) eux donneront simplement le focus au composant complet (donc au cercle d'etape).
    Ok, donc gere tout dans la meme classe. Ca sera bien plus facile. A moins que, comme l'a confirmé Paul Toth, les sous objets ne deviennent trop complexe.
    Quoi qu'il en soit tu sera ammené a plus ou moins encapsuler ces sous composant dans un composant que j'appelle en general "Wrapper", dont la plupart des fonctions/evenements pointent sur ceux des sous composants.

    Citation Envoyé par Qwazerty
    Le faite de souhaiter pouvoir modifier la position de mon objet (en mode execution) en metant un mode "Modification" dans mon outil, fesant apparaitre des poignées permetant entre autre de modifier la position du bout de la fleche, ou sont origine, ceci ne m'oblige t'il pas a faire plusieur classe ou il suffit juste que je prenne en compte ou le click souris a eu lieu tout simplement (en ecrivant ca je pense que ce serait la meilleur solution)
    A priori non. Maintenant faut aller voir plus loin.
    Faut savoir juste une chose : Ce type de composant gere la partie grphique entierement dans la methode draw, dessinant sur le TCanvas (rectangle).
    Le fait de fusionner tous les sous compos en un seul, cela reviens au meme .. sauf que la taille du canvas etant differentes, il faut juste decaler (offset) les fonctiosn de dessins.
    Par exemple le dessin d'un fleche qui partirais de WidTh/0 jusqu'a 0/Height, devra etre dessiné de Width/TopFleche LeftFleche/Height .... c'ets tout

    Pour la detection des clicks c'ets pareille ...

    Citation Envoyé par Qwazerty
    Je debut juste est le faite de dirivé de rien voir de pas grand chose me fait un peu peur j'avoue.
    Ha mais en relisant j'ai peut etre fait erreur losque tu met
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    type
     TCustomDrawItem=class
    serait ce un declaration forward avec plus loin un
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    TCustomDrawItem=class(TCustomControl)
    ?
    Pas du tout.
    Derrierre le mot clef "Class" il n'y a pas de ";" donc la declaration se poursuite jusqu'au end.
    LEs procedures decrites font partie de la classe.
    Il a "oublié" de mentionner le mot clef "Public". Mais cela est facultatif. Toutes methdoes definie hors des sections Private/Public/Protected/Published est consideree comme publique.

    Citation Envoyé par Qwazerty
    Edit: Humm je viens de relire a nouveau le code que tu m'a fournis et en faite ca n'est pas une declaration Froward n'est ce pas. Il me faudrais donc recréé toutes les procedure et les proprieté dont j'ai besoin ? (je ne suis pas sur de ce que je dis je vais regarder de ce pas le mot clef abstract que je n'ai vu (ou me souviens plus) dans aucun des cours)./Edit
    Tu parles des procedures/Property des classes VCL ?
    Si oui, soit tu doit les recreer, soit tu doit deriver d'une classe les contenant.

    Si la methode de Paul semble plutot bien, je te conseillerais de partir en premier lieu de TCustomControl, plus pratique pour debuter. Bien que toutes les mthodes dont tu as besoin doivent etre definie dans le TCanvas.
    On passe du temps a vous repondre, alors soyez sympas, passez du temps ..... a vous relire !
    --
    Pourquoi tant de haine pour cette pauvre aide Delphi ????
    Aiiimezzz laaaaa .... Si-Non-Cham-Pi-Gnon !!!
    --
    Pour plus de Renseignements : Venez me rejoindre sur Msn .... Promis je mords pas

  6. #6
    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
    pour ce qui est de l'ancêtre, quelles sont les méthodes de TCustomControl dont tu as besoin dans tes objets dérivés ? là est toute la question
    Developpez.com: Mes articles, forum FlashPascal
    Entreprise: Execute SARL
    Le Store Excute Store

  7. #7
    Expert éminent
    Avatar de Qwazerty
    Homme Profil pro
    La très haute tension :D
    Inscrit en
    Avril 2002
    Messages
    3 898
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France

    Informations professionnelles :
    Activité : La très haute tension :D
    Secteur : Service public

    Informations forums :
    Inscription : Avril 2002
    Messages : 3 898
    Points : 8 529
    Points
    8 529
    Par défaut Encore quelques questions
    Bonjour
    J'ai commencé a regarder les differente functions, procedures et proprietés dont j'ai besoin mais je voudrais avoir d'autre informations

    1) Serait il envisageable d'utiliser un system de collection, je pose mon composant(un carré de 150*150 comme un TTimer) sur ma form a la conception puis j'ajoute de items au besoin lors de l'utilisation, ces items venant se placer par dessus mon TImage lui meme contenu dans un ScrollBox. la ou je doute que ceci soit viable c'est quand je regarde les autres composants utilisant les Collections, leur Items viennent se placer dans le conteneur representer par le composant lui meme.
    Peut etre est ce que tu as voulu me dir avec se code Paul
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    type
     TDrawStack=class(TList)
      procedure Draw(Canvas:TCanvas); 
    // appel de tous les Items[i].Draw(Canvas);
     end;
    En fait cette solution m'attire car elle me permettrait d'inclure dans mon composant toutes les procedures et functions permettant de faire le dessin volatil sur mon TImage (TRacerVecteur, TracerCercle, FindAngleVecteur,....), puis ensuite de faire appelle a elle pour placer les elements en "dur". Elle me permettrait egalement de gerer plus facilement les differents groupe.

    2)Je souhaiterais avoir un effet de transparence (ca c'est ok avec Brush a csClear) mais egalement de "découpage", je ne trouve pas le terme utilisé mais voila, le groupe (fleche,cercle,picto) est forcement inscrit dans un rectangle, hors si l'utilisateur clique a coté de la fleche je ne souhaite pas que mon composant gere ce click, meme si celui ci a eu lieu dans le rectangle inscrit de mon compo, je souhaite que ce soit le composant se trouvant dessous qui recoive le click (il me semble que la fonction transparence de la TForm le fait parfaitement).
    Me faudra t il alors regarder dans la liste des fenetres(autre composant) celle se trouvant directement sous mon compo et lui transmettre le click ??

    3)peut on ajouter une variable a une procedure derivée, je m'explique, prennons
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    procedure TForm1.CircleChart1Click(Sender: TObject);
    je souhaiterai pour mon compo avoir a la place
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    procedure TForm1.CircleChart1Click(Sender: TObject,Element: TElement);
    Avec Element etant l'element du groupe sur lequel l'utilisateur a cliqué(fleche,cercle ou Picto) avec TElement = (El_Fleche, El_Cercle, El_Picto)

    --------

    Pour repondre a Paul en fait il est vrai qu'il va me faloir peu de functions, procedures et propreietés en gros OnClick, OnMouseMove/Down/Up, (d'autre seront lier a la modif de mon compo par l'utilisateur mais je devrais les developper de toutes facon moi meme, une sorte de OnResize en fera je pense partie), AutoSize(forcement a true), Hint et ShowHint, Visible et Enabled, voila je pense les derivées dont j'aurais besoin, les autre proprietés seront directement lier au differentes partie de mon composant.
    Par contre je ne me rend pas compte de ce que reprensente la "création" des MouseMove/Up/Down sans avoir d'ancetre a mon composant (je souhaite juste savoir si cela est vraiment fastidieux ou pas).
    Je supose que pour Enabled et Visible c'est assez simple une simple variable boolean dont je tiendrais compte au moment de redessiné mes composants.
    C'est pour les Evenement lié a la souris que je me pose plus de question, faut il utiliser TNotifyEvent pour les gerer?

    En ce qui concerne la reutilisation des differents elements, la reponse est non, je ne pense pas les reutiliser seuls. Ma "seule contrainte" est de pouvoir reperer MouseMove et un click droit/gauche dans le cercle pour incrementer/decrementer la valeur qu'il contient.Et je pense meme pouvoir m'en sortir sans avoir besoin de l'info Focus, ce qui signifie que si je ne choisi pas la solution de Paul alors je pourais derivé d'un TGraphiqueControl (est ce que j'ai juste ? )


    J'espere avoir ete claire dans mes explications, si ca n'est pas le cas n'esitez pas a me mettre une tape deriere la tete et je serais plus precis et peut etre plus claire

    ++
    Qwaz

    MagicQwaz := Harry Potter la baguette en moins
    Le monde dans lequel on vit
    Ma page perso DVP
    Dernier et Seul Tutoriel : VBA & Internet Explorer
    Dernière contribution : Lien Tableau Structuré et UserForm
    L'utilisation de l’éditeur de message

  8. #8
    Membre chevronné
    Avatar de Clorish
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    2 474
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 2 474
    Points : 2 158
    Points
    2 158
    Par défaut
    Outch !

    Bon voici en vrac quelque solutions :

    Pour ce qui est de la gestion de transparence complete (decoupage) c'est chaud.
    A part avec le principe des region j'ai pas en memoire de solutions plus viable, du moins marchant sur les composants.
    Or les regions ne sont pas ideales pour ce genre de choses.

    Par contre, ce que tu peux faire c'est wrapper l'evenement.
    Quand tu detecte un click sur le composant (rectangle) tu detecte si il fait partit de la zone clicable ou non. Si non, tu peux toujours appeler ou transmettre le message au parent (donc TImage) .... Bref transmettre l'evenement a l'element qui se trouve en dessous.

    Pour la gestion des evenements souris quand ils n'existent pas, il me semble que la surcharge de la methode wndProc devrais faire l'affaire.
    On passe du temps a vous repondre, alors soyez sympas, passez du temps ..... a vous relire !
    --
    Pourquoi tant de haine pour cette pauvre aide Delphi ????
    Aiiimezzz laaaaa .... Si-Non-Cham-Pi-Gnon !!!
    --
    Pour plus de Renseignements : Venez me rejoindre sur Msn .... Promis je mords pas

  9. #9
    Expert éminent
    Avatar de Qwazerty
    Homme Profil pro
    La très haute tension :D
    Inscrit en
    Avril 2002
    Messages
    3 898
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France

    Informations professionnelles :
    Activité : La très haute tension :D
    Secteur : Service public

    Informations forums :
    Inscription : Avril 2002
    Messages : 3 898
    Points : 8 529
    Points
    8 529
    Par défaut
    Citation Envoyé par Clorish
    Si non, tu peux toujours appeler ou transmettre le message au parent (donc TImage) .... Bref transmettre l'evenement a l'element qui se trouve en dessous.
    SAlut
    J'avais pensé a cela mais sauf erreur de ma part, le TImage ne peut etre parent d'un autre control puisq'il n'est pas un container.

    En se qui concerne les region j'ai deja joué avec sous VB et je ne pense pas recommencer l'aventure.

    Je vais faire une trame de mon unité deja pour commencer apres je verrai venir, en esperant ne pas tout avoir a remettre en cause pour un detail oublié
    a++
    Qwaz

    Edit1: Humm dur dur je viens de comprendre (en partie je pense) l'utilisation de TNotifyEvent. En faite si on met
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    FOnClick : TnotifyEvent
    , et que l'ont cré
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Property OnClick : TNotifyEvent read FOnClick write FOnClick
    le compilateur reconnais le mot clef OnClick (inscrit dans Classes) Donc ensuite a partir de la simple Procedure Click, a moi de faire appele a une fonction/Procedure plus complete contenant les paramettres dont j'aurais besoin (Sender, X,Y, droit/gauche, ....)

    Edit2: Abstract permet de declarer une procedure dans une classe sans l'implementer, celle ci sera implmentée dans le composant descendant

    MagicQwaz := Harry Potter la baguette en moins
    Le monde dans lequel on vit
    Ma page perso DVP
    Dernier et Seul Tutoriel : VBA & Internet Explorer
    Dernière contribution : Lien Tableau Structuré et UserForm
    L'utilisation de l’éditeur de message

  10. #10
    Expert éminent
    Avatar de Qwazerty
    Homme Profil pro
    La très haute tension :D
    Inscrit en
    Avril 2002
    Messages
    3 898
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France

    Informations professionnelles :
    Activité : La très haute tension :D
    Secteur : Service public

    Informations forums :
    Inscription : Avril 2002
    Messages : 3 898
    Points : 8 529
    Points
    8 529
    Par défaut
    Re
    EditRAZ: Le code que j'avais mis ici n'inspire personne ... pas meme moi ^^
    Je comprend pas trop ce que je fait et du coup je fais de la mer** et j'aime pas ca.
    Je suis en train d'explorer une autre piste
    Je vais deriver un TImage et lui joindre une collection TEtapes avec des TEtape en Item.
    J'aurais surement des question donc je repasserai. /EditRAZ
    A+ bonne nuit
    Qwaz

    MagicQwaz := Harry Potter la baguette en moins
    Le monde dans lequel on vit
    Ma page perso DVP
    Dernier et Seul Tutoriel : VBA & Internet Explorer
    Dernière contribution : Lien Tableau Structuré et UserForm
    L'utilisation de l’éditeur de message

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

Discussions similaires

  1. [AC-2007] Liste de choix qui affiche les ID
    Par Carclin dans le forum IHM
    Réponses: 11
    Dernier message: 12/05/2010, 13h31
  2. Réponses: 6
    Dernier message: 26/11/2008, 20h14
  3. Réponses: 7
    Dernier message: 17/06/2008, 18h12
  4. Réponses: 2
    Dernier message: 26/07/2007, 14h27
  5. Récupérer les bits qui composent un byte
    Par ToTo13 dans le forum Langage
    Réponses: 4
    Dernier message: 25/01/2007, 17h12

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