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 :

Connaître le bouton survolé d'un TActionToolbar


Sujet :

Delphi

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Juillet 2003
    Messages
    61
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2003
    Messages : 61
    Par défaut Connaître le bouton survolé d'un TActionToolbar
    bonjour,

    je souhaiterais connaitre dans l'évènement onmousemove d'un tactiontoolbar, le bouton qui est survolé, afin d'atteindre sa propriété tag.

    Est possible ?

    merci

  2. #2
    Rédacteur/Modérateur
    Avatar de ero-sennin
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juillet 2005
    Messages
    2 965
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Nord (Nord Pas de Calais)

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

    Informations forums :
    Inscription : Juillet 2005
    Messages : 2 965
    Par défaut
    Salut,

    Je ne connais pas ce composant ... Pour créer un bouton apparemment tu le fais de façon dynamique non?

    Peux-tu poster un exemple de création de ses boutons stp ?

    PS: Je suis allé trop vite ... je viens de comprendre Il faut utiliser ActionManager ... j'essaie de voir comment ça fonctionne

    [EDIT] Je ne parviens pas à faire ce que tu demandes, je ne vois pas comment faire ...

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Juillet 2003
    Messages
    61
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2003
    Messages : 61
    Par défaut
    je pense récupérer le control mais je ne sais pas comment accèder à la propriété Tag du TActionClientItem.

    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
    function IsHere(r:trect;p:tpoint):boolean;
    begin
    result := (p.X>=r.Left) AND (p.X<=r.Right) AND (p.Y>=r.Top) AND (p.Y<=r.Bottom);
    end;
     
    procedure TForm1.ActionToolBar1MouseMove(Sender: TObject;
      Shift: TShiftState; X, Y: Integer);
    var i,j,k:integer;
    ChildControl: TControl;
    begin
    for i:=0 to ActionToolBar1.ControlCount-1 do
      begin
       ChildControl := ActionToolBar1.Controls[i];
       if IsHere(ChildControl.BoundsRect,point(x,y)) then
        begin
         if  ChildControl is TCustomButtonControl then
          begin
           j := (ChildControl as TCustomButtonControl).Tag ;
           statusbar1.Panels[1].Text := inttostr(j);
          end;
        end;
      end;
    end;

  4. #4
    Expert éminent
    Avatar de ShaiLeTroll
    Homme Profil pro
    Développeur C++\Delphi
    Inscrit en
    Juillet 2006
    Messages
    14 093
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    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 : 14 093
    Par défaut
    Idem, un MouseMove, mais un simple ControlAtPos, ne suffirait-il pas ?
    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. #5
    Membre averti
    Profil pro
    Inscrit en
    Juillet 2003
    Messages
    61
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2003
    Messages : 61
    Par défaut
    Citation Envoyé par ShaiLeTroll
    Idem, un MouseMove, mais un simple ControlAtPos, ne suffirait-il pas ?
    oui, c'est pareil, mais mon problème est que la propriété Tag renvoie toujours 0.

  6. #6
    Rédacteur
    Avatar de Pedro
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    5 411
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 5 411
    Par défaut
    Salut
    Tu devrais essayer de vérifier exactement de quel bouton il s'agit. Par exemple, en affichant son nom ou son aide. Tu verras bien d'où vient le problème
    Pedro
    Aucune réponse aux sollicitations techniques par MP

    Faut pas attendre d'en avoir besoin pour s'en servir... (Lucien Stéphane)

    Les pages Source C'est bon. Mangez-en!
    Le défi Delphi
    Règles du forum - FAQ Delphi - Pensez au chtit
    Aéroclub Bastia Saint-Exupéry

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

Discussions similaires

  1. Connaître le bouton sélectionné dans un groupe
    Par esigwald dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 22/04/2011, 09h54
  2. connaître le bouton coché
    Par chris_013 dans le forum JSF
    Réponses: 1
    Dernier message: 02/02/2009, 14h30
  3. Réponses: 3
    Dernier message: 15/11/2006, 13h57
  4. wxWidgets : connaître l'etat d'un bouton !
    Par FSF_Sterl dans le forum wxWidgets
    Réponses: 5
    Dernier message: 14/08/2004, 08h55
  5. [JButton] Afficher texte en survolant bouton.
    Par Galima dans le forum Composants
    Réponses: 2
    Dernier message: 04/06/2004, 22h21

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