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 :

Hint ou autre sur icone (Timage) dans cellule StringGrid


Sujet :

Delphi

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    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
    Par défaut Hint ou autre sur icone (Timage) dans cellule StringGrid
    Bonjour, Bonsoir à toutes et à tous,

    Pour mon application je dois afficher un symbole (ici un .bmp 16x16) sur certaine cellule d'une même colonne de StringGrid.
    Jusque là aucun problème mes petites images apparaissent bien dans mon stringgrid dans les bonnes cellules de la bonne colonne.

    J'utilise uniquement 2 images l'une est le Tick.bmp et l'autre warning.bmp, pour ceux qui connaisse.

    Ma question :

    Est-il possible d'afficher une info style hint (ou autre) au passage de la souris sur cette image ? sachant que je peux avoir plusieur fois la même image sur différente cellule et que le message enfin le pseudo hint peut être différent.
    Evidement l'utilisateur peut scroller le stringgrid pour afficher ce pseudo hint sur une image se trouvant dans une cellule lointaine.

    Si oui, il y a-t-il un exemple ? ou un debut de code ? ou comment dois-je mi prendre ?

    Merci par avance.

  2. #2
    Membre éprouvé
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    2 618
    Détails du profil
    Informations personnelles :
    Âge : 72
    Localisation : Belgique

    Informations forums :
    Inscription : Janvier 2006
    Messages : 2 618
    Par défaut
    Bonjour à toutes et à tous,

    @BuzzLeclaire, ce lien me parait interessant car Nono40 avait réalisé plusieures astuces à ce sujet :

    http://delphi.developpez.com/sources...no40source0035

    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
     
    procedure TForm1.StringGrid1MouseMove(Sender: TObject; Shift: TShiftState;
      X, Y: Integer);
    Var C, R  : Longint;
        Chaine: String;
    begin
      // Il faut obtenir la cellule pointée par la souris
      StringGrid1.MouseToCell(X, Y, C, R);
      If (c<0)Or(r<0) Then Exit;
      // Création d'une aide en fonction de la cellule
      // Ici c'est simplement le numéro de le cellule, mais ce n'est qu'un exemple
      Chaine:='Aide sur la cellule ['+IntToStr(C)+','+IntToStr(R)+']';
      // Si l'aide est différente, il faut l'afficher de nouveau
      If Chaine<>StringGrid1.Hint
      Then Begin
        StringGrid1.Hint := Chaine;
        Application.ActivateHint(Mouse.CursorPos);
      End;
    end;
    @+,

    Cincap

  3. #3
    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
    Par défaut
    Salut cincap,

    c'est exactement ce que je recherchais.
    J'ai fais quelque adaptation pour avoir 1 hint différent ou non pas cellule.

    voilà mon 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
    procedure TFManuelle.StringGrid1MouseMove(Sender: TObject;
      Shift: TShiftState; X, Y: Integer);
    Var
      C, R  : Longint;
    begin
      // Il faut obtenir la cellule pointée par la souris
      StringGrid1.MouseToCell(X, Y, C, R);
     
      if (c<1) or (r<0) Then Exit;
      if r > High(HintTraitement) then Exit;
      if HintTraitement[r] <> '' then
      begin
        StringGrid1.ShowHint := True;
        StringGrid1.Hint := HintTraitement[r];
        Application.ActivateHint(Mouse.CursorPos);
      end
      else
        StringGrid1.ShowHint := False;
    //...

    MErci bien à toi.

    bye.

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

Discussions similaires

  1. mac os X glisser image sur icone th. dans le dock
    Par elodouwen dans le forum Thunderbird
    Réponses: 0
    Dernier message: 03/11/2013, 19h57
  2. Wordwrap sur texte RTF dans cellule d'un TAdvStrinGrid
    Par Bzc.Bzh dans le forum Composants VCL
    Réponses: 2
    Dernier message: 25/01/2013, 15h02
  3. Un coup de main sur le positionnement dans un StringGrid
    Par BuzzLeclaire dans le forum Débuter
    Réponses: 8
    Dernier message: 05/06/2009, 09h53
  4. Ecrire sur plusieurs lignes dans un StringGrid ?
    Par pepito62 dans le forum Composants VCL
    Réponses: 3
    Dernier message: 16/05/2009, 13h23
  5. [jtable] Champs texte sur pls ligne dans cellule
    Par doudine dans le forum Composants
    Réponses: 8
    Dernier message: 17/11/2005, 12h36

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