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 :

Commentaire au clic d'un élément d'une listbox


Sujet :

Composants VCL Delphi

  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Avril 2003
    Messages
    36
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2003
    Messages : 36
    Par défaut Commentaire au clic d'un élément d'une listbox
    bonjour

    j'ai une listbox avec des éléments dedans.
    je désirerais que au passage de la souris sur un des items, que l item apparaisse en commentaire
    j'ai compris qu il fallait utiliser hint et mettre showhint a true, mais comment mettre en hint l item de la ligne ??
    merci ^_^

  2. #2
    Expert confirmé
    Avatar de anapurna
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mai 2002
    Messages
    3 491
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Mai 2002
    Messages : 3 491
    Par défaut
    salut

    redefinit le onshowhint de ton listbox

    exemple
    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
     
    Procedure TMyFrm.FormCreate ...
    begin
      ...
      MyListBox.showint := OnShowHint;
    end;
     
    procedure TMyFrm.OnShowHint (var HintStr: string; var CanShow: Boolean; var HintInfo: THintInfo);
    begin
      with HintInfo do
      begin
        if  (Hintcontrol is TLIstbox) Then
        begin
           Canshow := True;
           HintStr :=  'Test';
        end;
      end;
    end;
    @+ Phil

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

    Informations forums :
    Inscription : Avril 2003
    Messages : 36
    Par défaut
    bon, avec mon code ça donne ça :

    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
    procedure TForm1.OnShowHint (var HintStr: string; var CanShow: Boolean; var HintInfo: THintInfo);
    begin
      with HintInfo do
      begin
        if  (Hintcontrol is TLIstbox) Then
        begin
           Canshow := True;
           HintStr :=  'Test';
        end;
      end;
    end;
     
     
    procedure TForm1.FormCreate(Sender: TObject);
    begin
      ListBox1.ShowHint := OnShowHint;
    end;
    j ai déclaré la procédure dans le public, mais
    la compilation me met un erreur " pas assez de parametres originaux pour ListBox1.ShowHint := OnShowHint;

    ce qui est a priori normal vu que onWhowHint demande 3 paramètres ...
    peux tu m'aider stp ??
    Merci ^_^

    ps : a priori je mettrais une string en premier parametres, true en deuxième mais le 3eme je vois pas ...

  4. #4
    Expert confirmé
    Avatar de anapurna
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mai 2002
    Messages
    3 491
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Mai 2002
    Messages : 3 491
    Par défaut
    salut

    Argh j'ai pas fait attention c'est le onshowhint de l'appliction que je redefinie
    dans mon cas

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Application.OnShowHint := OnShowHint;
    @+ Phil

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Avril 2003
    Messages
    36
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2003
    Messages : 36
    Par défaut
    ok, et pour mon cas alors, quelqu'un a une idée ?? ^_^

    Merci d'avance ^_^

  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
    Citation Envoyé par hijodelanoche
    ok, et pour mon cas alors, quelqu'un a une idée ??
    Oui tu appliques ce que te donne Anapurna
    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

  7. #7
    Membre averti
    Profil pro
    Inscrit en
    Avril 2003
    Messages
    36
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2003
    Messages : 36
    Par défaut
    ok ça roule ^_^

    bon, ça a pas marché au début, mais c'est parce que je déclarais :
    procedure TForm1.OnShowHint(var HintStr: string; var CanShow: Boolean; var HintInfo: THintInfo);
    au lieu de
    OnShowHint(var HintStr: string; var CanShow: Boolean; var HintInfo: THintInfo);

    je vais me débrouillé pour le reste, merci beaucoup de votre aide ^_^

  8. #8
    Expert confirmé
    Avatar de anapurna
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mai 2002
    Messages
    3 491
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Mai 2002
    Messages : 3 491
    Par défaut
    salut

    bon si tu n'as pas trouvé lka solution

    voila un exemple complet de ce que je ferai dans ton cas

    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
    procedure TForm1.OnShowHint (var HintStr: string; var CanShow: Boolean; var HintInfo: THintInfo);
    var
    	Pt1: TPoint;
      Positem : integer;
    begin
      with HintInfo do
      begin
        if  (Hintcontrol is TLIstbox) Then
        begin
          if (Hintcontrol as TLIstbox).Name = 'ListBox1' Then
          begin
            Canshow := True;
          	Pt1 := (Hintcontrol as TLIstbox).ScreenToClient(Mouse.CursorPos);
            Positem := Round(Pt1.Y/(Hintcontrol as TLIstbox).ItemHeight);
          	if (Pt1.Y = -1) then
              Exit;
            if Positem > Pred((Hintcontrol as TLIstbox).Items.Count) Then
             Positem := Pred((Hintcontrol as TLIstbox).Items.Count) ;
             HintStr := (Hintcontrol as TLIstbox).Items[Positem]
          end;
        end;
      end;
    end;
    @+ Phil

    PS: merci de mettre le tag RESOLU

Discussions similaires

  1. Evénement clic sur un élément d'une liste
    Par maxusn dans le forum jQuery
    Réponses: 2
    Dernier message: 26/11/2012, 16h08
  2. Evenement "clic sur aucun élément" d'une JList ?
    Par nuts62 dans le forum Composants
    Réponses: 1
    Dernier message: 18/01/2011, 12h20
  3. Réponses: 5
    Dernier message: 22/02/2006, 17h32
  4. [Débutant] regroupement d'éléments dans une listBox
    Par fast&furious dans le forum Access
    Réponses: 2
    Dernier message: 15/10/2005, 15h05
  5. [VB.NET] Enregistrement des éléments d'une listBox
    Par Hoegaarden dans le forum Windows Forms
    Réponses: 9
    Dernier message: 18/05/2004, 14h48

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