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 :

Connaitre le composant survolé


Sujet :

Delphi

  1. #21
    Membre éprouvé Avatar de BuzzLeclaire
    Homme Profil pro
    Dev/For/Vte/Ass
    Inscrit en
    Août 2008
    Messages
    1 606
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Dev/For/Vte/Ass

    Informations forums :
    Inscription : Août 2008
    Messages : 1 606
    Points : 1 113
    Points
    1 113
    Par défaut
    Citation Envoyé par peter27x Voir le message
    ... et 10 fois plus léger en temps CPU que ta solution... (ou celle qu'il tente peut être de faire dans son coin...)
    Sans créer de polémique, comment justifié le fait de mettre une procédure lié à un composant onmousemove sur chaque composant (j'ai bien compris la même), puis de créer un boucle... est 10 fois plus rapide que ma seule et unique procédure qui ne necessite rien d'autre que de la mettre dans l'unit ?????

    Et puis le temps CPU parlons en dans ce cas précis, tu crois franchement qu'avec les poste d'ourjourd'hui on peu qualifier de lourd ma proposition ?

    De plus si il ajoute un nouveau composant, il doit se rappeler qu'il doit le lié à la procédure commune.

    As-tu essayer de l'utiliser ? c'est instantané et transparent...

    La balle est dans ton camps...

  2. #22
    Modérateur
    Avatar de Rayek
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mars 2005
    Messages
    5 235
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2005
    Messages : 5 235
    Points : 8 504
    Points
    8 504
    Modérateur Delphi

    Le guide du bon forumeur :
    __________
    Rayek World : Youtube Facebook

  3. #23
    Membre éprouvé Avatar de BuzzLeclaire
    Homme Profil pro
    Dev/For/Vte/Ass
    Inscrit en
    Août 2008
    Messages
    1 606
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Dev/For/Vte/Ass

    Informations forums :
    Inscription : Août 2008
    Messages : 1 606
    Points : 1 113
    Points
    1 113
    Par défaut
    Incroyable la fonction recherche.. lol, c'est exactement la même procédure à quelques orthographes difféfentes...

  4. #24
    Expert éminent sénior
    Avatar de ShaiLeTroll
    Homme Profil pro
    Développeur C++\Delphi
    Inscrit en
    Juillet 2006
    Messages
    13 447
    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 447
    Points : 24 844
    Points
    24 844
    Par défaut
    J'ai déjà été confronté à cette situation, ControlAtPos est très bien, mais ne descend pas lorsque l'on a une imbrication de Panet\GroupBou ou autre conteneur, il donne le control en fonction du parent, voici une variante récursive

    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
    //------------------------------------------------------------------------------
    // Recherche le Composant sous la Souris à partir du Control passé en paramètre-
    // Voir les Paramètres de TWinControl.ControlAtPos                             -
    // Renvoie nil si aucune Composant trouvé                                      -
    //------------------------------------------------------------------------------
    function RecurseControlAtPos(Control: TWinControl; Pos: TPoint; AllowDisabled, AllowWinControls: Boolean): TControl;
    var
       Recurse: TControl;
    begin
       Result := nil;
       repeat
          Recurse := Control.ControlAtPos(Pos, True, True);
     
          if Assigned(Recurse) then
             Result := Recurse;
     
          if Recurse is TWinControl then
          begin
             Pos := Recurse.ScreenToClient(Control.ClientToScreen(Pos));
             Control := TWinControl(Recurse);
          end else
          begin
             Recurse := nil;
          end;
       until Recurse = nil;
    end;
    Perso, j'ai utilise cela pour un système d'affichage de Hint HTML sur les composants Inactif (Enabled à False), j'ai un Thread qui tourne en permanence (certains code comme celui-ci dessus en sync) et affiche le Hint pour le composant survolé (j'ai plein de GroupBox dans GroupBox ...)

    Mais c'est RecurseControlAtPos pour trouver des composants comme le TLabel ou tout GraphicControl avant il est possible d'utiliser FindVCLWindow (ou FindDragTarget) pour trouver uniquement les TWinControl, en tout cas, je c'est ce que je fais dans mon système de Hint HTML, d'abord FindDragTarget, si pas de résultat (ou exclu pour diverses raisons), j'utilise RecurseControlAtPos (qui donne de meilleur résultat que FindDragTarget à mon gout)
    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

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

    Informations forums :
    Inscription : Janvier 2007
    Messages : 1 029
    Points : 757
    Points
    757
    Par défaut
    Citation Envoyé par BuzzLeclaire Voir le message
    Sans créer de polémique, comment justifié le fait de mettre une procédure lié à un composant onmousemove sur chaque composant (j'ai bien compris la même), puis de créer un boucle... est 10 fois plus rapide que ma seule et unique procédure qui ne necessite rien d'autre que de la mettre dans l'unit ?????

    Et puis le temps CPU parlons en dans ce cas précis, tu crois franchement qu'avec les poste d'ourjourd'hui on peu qualifier de lourd ma proposition ?

    De plus si il ajoute un nouveau composant, il doit se rappeler qu'il doit le lié à la procédure commune.

    As-tu essayer de l'utiliser ? c'est instantané et transparent...

    La balle est dans ton camps...
    Décidément tu n'as vraiment rien compris à la solution que j'ai donnée...

    La boucle dont je parle, elle est faite une seule fois, dans le create de la form. Et rien à ajouter à chaque ajout de composant, décidément là aussi faut vraiment pas avoir compris (ou juste bien lu ?) ce que j'ai proposé pour dire ça !

    Elle fait pointer le mouseMove du TControl parent de ses composants ADV vers une fonction de gestion du mouseMove (relis bien mes post expliquant tout ceci, dont le bout de code).

    Donc ensuite ZERO boucle à chaque mouvement de la souris dans la form !!!! Juste la gestion classique du mouseMouse du composant survolé, et lui seul.
    Toi : une boucle sur TOUS les composants (jusqu'à qu'on trouve le bon) mais de plus à chaque déplacement d'un pixel de la souris dans la totalité de la form, c'est une méthode de barbare ton truc !!!

    Et je persiste donc : le CPU va bosser 40.000 fois plus avec ta proposition qu'avec la mienne...

    J'espère que cette fois tu comprendras enfin ce que je m'évertue à essayer de te faire comprendre...

  6. #26
    Membre du Club
    Inscrit en
    Mai 2007
    Messages
    79
    Détails du profil
    Informations forums :
    Inscription : Mai 2007
    Messages : 79
    Points : 55
    Points
    55
    Par défaut
    Je vais tenter ce que tu me proposes Peter ... ceci-dit, je butte sur un autre problème : je démarre un autre post

  7. #27
    Membre éprouvé Avatar de BuzzLeclaire
    Homme Profil pro
    Dev/For/Vte/Ass
    Inscrit en
    Août 2008
    Messages
    1 606
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Dev/For/Vte/Ass

    Informations forums :
    Inscription : Août 2008
    Messages : 1 606
    Points : 1 113
    Points
    1 113
    Par défaut
    Citation Envoyé par peter27x Voir le message
    Décidément tu n'as vraiment rien compris à la solution que j'ai donnée...
    Si au contraire...

    Je veux simplement dire que l'argument du CPU c'est pas forcément une raison valable pour utiliser une procédure qui au passage je ne suis pas le seule apparement à utiliser.

    Mais bref, j'ai souhaité participer pour aider un compatriote et non être démonté d'argument qui ne me semble pas forcément justifié.

    Ta solution est surement viable (je l'a pas testé), ma proposition fonctionne.

    Mais t'inkiete je t quand même.

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

    Informations forums :
    Inscription : Janvier 2007
    Messages : 1 029
    Points : 757
    Points
    757
    Par défaut
    Citation Envoyé par BuzzLeclaire Voir le message
    Si au contraire...

    Je veux simplement dire que l'argument du CPU c'est pas forcément une raison valable pour utiliser une procédure qui au passage je ne suis pas le seule apparement à utiliser.

    Mais bref, j'ai souhaité participer pour aider un compatriote et non être démonté d'argument qui ne me semble pas forcément justifié.

    Ta solution est surement viable (je l'a pas testé), ma proposition fonctionne.

    Mais t'inkiete je t quand même.
    Je t'aime bien moi aussi mon petit, mais tu disais des énormités sur ma solution que je ne pouvais laisser passer !

  9. #29
    Expert éminent sénior
    Avatar de ShaiLeTroll
    Homme Profil pro
    Développeur C++\Delphi
    Inscrit en
    Juillet 2006
    Messages
    13 447
    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 447
    Points : 24 844
    Points
    24 844
    Par défaut
    Perso, comme mon système de hint est global à plusieurs applications, je ne pouvais pas le rattacher à une fenêtre en particulier, d'où l'utilisation d'un thread avec un scan, toute les demi-secondes ! c'est loin d'être gourmand !


    La solution d'accrocher tous les OnMouseMove des controls de la form, a l'avantage de fournir rapidement le composant survolé (Sender), voir si il n'y a pas d'interaction (le OnMouseMove est-il envoyé qu'au dernier control sur la Z-Order et pas sur toute la chaine de conteneur)
    Par contre, l'évènement devient totalement inutilisable pour d'autres besoins !

    BuzzLeclaire, ta méthode avec la surveillance des messages, ne gèrent pas l'imbrication de conteneur !
    la surveillance est globale à l'appli et non à la fenêtre ! donc on peut avoir des messages même sur le survol d'une autre fenêtre de l'application !
    Et si on libère cette fenêtre, il ne faut pas oublier de remettre l'évènement OnMessage à sa valeur d'avant l'ouverture de la fenêtre ou utiliser un TApplicationEvent pour gérer l'empilage des évènements OnMessage !
    Sinon Violation d'Accès !

    Peter27x, Perso, j'ai du relire plusieurs fois tes posts pour comprendre de quelle méthode tu parlais, je cherchais le code pour l'affectation des controls via une boucle sur Components\ComponentCount par exemple, en fait, tu as juste décrit ton algo, vu que le sujet est dans la rubrique "débutant", je ne suis pas sur que l'auteur du sujet aie compris de quoi tu parlais (du moins compris certains éléments auxquels il sera confronté) !
    Au final, altaruk avait posé un limite : "Mon principal soucis est que je ne peux pas utiliser les événements OnMouseMove, Enter, ..." qui n'est plus respecté, je pense que BuzzLeclaire c'était creusé la tête pour chercher une solution avec cette contrainte !

    Enfin OnMouseMove est déclaré en protégé, il faut que le control la publie pour y avoir accès, souvent si on ne l'a pas c'est pas ce que cela ne fonctionne pas ! Donc là encore il faut jouer avec le Hack des propriétés protected, ce n'est pas une réponse pour "débutant" !
    Ou alors dans la Boucle, il ne change le OnMouseMove que sur les compos TMS (le plus propre d'ailleurs)

    Pour le Débat, sur le CPU, j'ai aussi fait la méthode sur le OnMessage (ben avant le thread, je l'avais tenté biensur), pour calcul la distance parcourue par la souris (une question sur DVP ou Phidels), savoir le control sous le cursor via FindVCLWindow et RecurseControlAtPos, je peine à atteindre les 12% ...
    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

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

    Informations forums :
    Inscription : Janvier 2007
    Messages : 1 029
    Points : 757
    Points
    757
    Par défaut
    Citation Envoyé par ShaiLeTroll Voir le message
    Perso, comme mon système de hint est global à plusieurs applications, je ne pouvais pas le rattacher à une fenêtre en particulier, d'où l'utilisation d'un thread avec un scan, toute les demi-secondes ! c'est loin d'être gourmand !


    La solution d'accrocher tous les OnMouseMove des controls de la form, a l'avantage de fournir rapidement le composant survolé (Sender), voir si il n'y a pas d'interaction (le OnMouseMove est-il envoyé qu'au dernier control sur la Z-Order et pas sur toute la chaine de conteneur)

    BuzzLeclaire, ta méthode avec la surveillance des messages, ne gèrent pas l'imbrication de conteneur.

    Peter27x, Perso, j'ai du relire plusieurs fois tes posts pour comprendre de quelle méthode tu parlais, je cherchais le code pour l'affectation des controls via une boucle sur Components\ComponentCount par exemple, en fait, tu as juste décrit ton algo, vu que le sujet est dans la rubrique "débutant", je ne suis pas sur que l'auteur du sujet aie compris de quoi tu parlais !
    Au final, altaruk avait posé un limite : "Mon principal soucis est que je ne peux pas utiliser les événements OnMouseMove, Enter, ..." qui n'est plus respecté, je pense que BuzzLeclaire c'est creusé la tête pour le chercher !

    Enfin OnMouseMove est déclaré en protégé, il faut que le control la publie pour y avoir accès, souvent si on ne l'a pas c'est pas ce que cela ne fonctionne pas ! Donc là encore il faut jouer avec le Hack des propriétés protected, ce n'est pas une réponse pour "débutant" !
    OK, mais il pensait ne pas avoir accès à onMouseMouve du tout, j'ai réussi à lui faire voir que via l'héritage du TControl cela serait possible (mais tu sembles dire que non finalement), ensuite à lui de vérifier et mettre en pratique la solution proposée. Je n'ai pas de ADV control ici bas pour en attester avec certitude, mais je lui donné des pistes qu'il n'imaginait même pas au départ : à savoir que son postulat de départ était peut être faux ! C'est quand même pas rien car c'est ce postulat qui le poussait à venir ici demander des solutions.
    Pour le reste, d'un point de vue technique, je m'incline sans sourciller face à toi, Shail : Altaruk peut te faire confiance pour ce qui est des possibilités ou pas d'accès au mouseMove du parent Tcontrol...
    Mais tu noteras que je proposais exprès dans le bout de code une affectation via la syntaxe "TControl(ADVControl).onMouseMove:=..." afin d'avoir le plus de chance possible d'accéder au fameux onMouseMove du Tcontrol...

  11. #31
    Membre du Club
    Inscrit en
    Mai 2007
    Messages
    79
    Détails du profil
    Informations forums :
    Inscription : Mai 2007
    Messages : 79
    Points : 55
    Points
    55
    Par défaut
    Tu as bien compris ShaiLeTroll ...

    Ton projet du hint m'interesse ... Je m'explique : j'ai une application avec pas mal de fiches (que je dock).
    J'ai un TAdvToolBarPager en haut (ruban style office 2007), qui contient des TAdvPage (ce sont les onglets). Chaque TAdvPage contient des TAdvToolBar (ca ressemble à des groupBox), qui contiennent à leur tour des TAdvGlowButton, TAdvGlowMenuButton, ...

    j'ai décrit la fonction suivante pour le OnHelp

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    function TFICHE_Main.HelpHook(Command: Word; Data: Integer;
      var CallHelp: Boolean): Boolean;
    begin
         CallHelp := FALSE;
         if (Command in [Help_Context]) then
            HtmlHelp(0, PChar(mHelpFile), HH_HELP_CONTEXT, Data)
         else CallHelp := TRUE;
         Result := TRUE;
    end;
    Dans le constructeur, j'ai ajouté ces lignes :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
     
         Application.OnHelp := HelpHook;
         mHelpFile := ExtractFilePath(ParamStr(0)) + 'Winpass 5000.chm';
         mHelpFile := ExpandFileName(mHelpFile);
         if not FileExists(mHelpFile) then
            ShowMessage('Le fichier d''aide est introuvable !');
         if    (hh.HHCtrlHandle = 0)
            or (hh_funcs._hhMajVer < 4)
            or ((hh_funcs._hhMajVer = 4) and (hh_funcs._hhMinVer < 73)) then
            ShowMessage('Vous devez installer la version 1.2 ou supérieure de Microsoft HTML Help !');

    Je ne parviens pas à capturer le moment où je presse F1 sur un advglowbutton, ou advglowmenubutton ... En revanche, je le recupere quand je suis sur la popup du advmenuglowbutton ...

    Je bloque completement la dessus ...
    Tu aurais une idée ?

    J'ai affecté le helpContext des boutons mais ca ne fait rien

  12. #32
    Expert éminent sénior
    Avatar de ShaiLeTroll
    Homme Profil pro
    Développeur C++\Delphi
    Inscrit en
    Juillet 2006
    Messages
    13 447
    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 447
    Points : 24 844
    Points
    24 844
    Par défaut
    Si tu as détection du control ne doit se faire QUE sur le F1, utilise RecurseControlAtPos que j'ai publié plus haut, regarde ce que cela donne déjà !
    Inutile d'avoir des OnMouseMove si le besoin ne se fait sentir que sur une action utilisateur pré-déterminé !

    Je ne parviens pas à capturer le moment où je presse F1 sur un advglowbutton, ou advglowmenubutton
    Le OnHelp ne se lance pas ?
    Essaye un OnKeyDown sur la Fenêtre en activant KeyPreview, si F1, tu lance RecurseControlAtPos pour voir si le control concerné à une aide liée

    Chez TMS, je ne l'utilise que leur Grille, Combo et afficheur HTML (pour mon hint), je ne connais pas les autres composants, j'ignore donc le comportement de ma fonction avec !

    Peter27x, ne t'inquiète pas, je voulais juste reposer le problème à ses contraintes d'origine, j'ai eu l'impression que l'on poussait trop loin, plus vite que ce qu'altaruk a le temps de tester et de nous faire des retours !
    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

  13. #33
    Membre du Club
    Inscrit en
    Mai 2007
    Messages
    79
    Détails du profil
    Informations forums :
    Inscription : Mai 2007
    Messages : 79
    Points : 55
    Points
    55
    Par défaut
    J'ai mis le Keypreview à True, j'ai placé un point d'arrêt dans chaque onKeyDown (de la fiche et du bouton), mais je n'arrive pas à rentrer dans l'evenement ...

  14. #34
    Membre du Club
    Inscrit en
    Mai 2007
    Messages
    79
    Détails du profil
    Informations forums :
    Inscription : Mai 2007
    Messages : 79
    Points : 55
    Points
    55
    Par défaut
    J'ai trouvé le couac ....

    La fiche principale est en fsMDIChild ... en fsNormal, j'intercepte les "F1" ...

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

    Informations forums :
    Inscription : Janvier 2007
    Messages : 1 029
    Points : 757
    Points
    757
    Par défaut
    Citation Envoyé par ShaiLeTroll Voir le message
    Peter27x, ne t'inquiète pas, je voulais juste reposer le problème à ses contraintes d'origine, j'ai eu l'impression que l'on poussait trop loin, plus vite que ce qu'altaruk a le temps de tester et de nous faire des retours !
    Ben faut dire tu n'étais pas là hier, on a dû se débrouiller tous seuls !
    Alors forcément on lui a proposé plein de solutions pourries...

  16. #36
    Membre éprouvé Avatar de BuzzLeclaire
    Homme Profil pro
    Dev/For/Vte/Ass
    Inscrit en
    Août 2008
    Messages
    1 606
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Dev/For/Vte/Ass

    Informations forums :
    Inscription : Août 2008
    Messages : 1 606
    Points : 1 113
    Points
    1 113
    Par défaut
    Citation Envoyé par peter27x Voir le message
    ...
    Alors forcément on lui a proposé plein de solutions pourries...
    Non elle était pas pourrie la mienne... lol

    En fait tout est la faute à ShaiLeTroll , il le sait il a aps le droite de quitter le forum

    Peter

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

    Informations forums :
    Inscription : Janvier 2007
    Messages : 1 029
    Points : 757
    Points
    757
    Par défaut
    Citation Envoyé par BuzzLeclaire Voir le message
    Non elle était pas pourrie la mienne... lol

    En fait tout est la faute à ShaiLeTroll , il le sait il a aps le droite de quitter le forum

    Peter
    tu peux aller relire mon post où je donnais un "bout" de code, j'ai ajouté un EDIT au milieu pour cette histoire de boucle dont je parlais en fait avant dans un post antérieur (tu le retrouveras un peu plus haut).


  18. #38
    Expert éminent sénior
    Avatar de ShaiLeTroll
    Homme Profil pro
    Développeur C++\Delphi
    Inscrit en
    Juillet 2006
    Messages
    13 447
    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 447
    Points : 24 844
    Points
    24 844
    Par défaut

    Vous n'exagérer pas un peu ?
    En plus en solutions pourries, je suis sur que j'ai eu le temps d'en proposer bien plus ... et encore pire ...

    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

+ Répondre à la discussion
Cette discussion est résolue.
Page 2 sur 2 PremièrePremière 12

Discussions similaires

  1. [XL-2003] Listview : connaitre la ligne survolée par la souris
    Par Korleone dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 18/05/2010, 18h51
  2. connaitre la taille exacte du composant
    Par Zorgz dans le forum Interfaces Graphiques en Java
    Réponses: 4
    Dernier message: 28/03/2007, 16h15
  3. Connaitre le Composant survolé avec la souris
    Par Hauwke dans le forum Composants VCL
    Réponses: 3
    Dernier message: 12/10/2005, 19h22
  4. Connaitre la taille d'un 'composant' texte
    Par pierre.zelb dans le forum AWT/Swing
    Réponses: 3
    Dernier message: 25/08/2005, 11h44
  5. connaitre le composant sachant son Handle
    Par bidochon dans le forum Composants VCL
    Réponses: 2
    Dernier message: 01/10/2004, 15h33

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