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

Lazarus Pascal Discussion :

[0.9.31] StringGrid et Hint sur cellules [Lazarus]


Sujet :

Lazarus Pascal

Mode arborescent

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Invité
    Invité(e)
    Par défaut [0.9.31] StringGrid et Hint sur cellules
    Bonjour,

    Je voudrais afficher des Hints sur certaines cellules d'une StringGrid lors de leur survol à la souris, avec un affichage de la bulle d'aide sans trop de latence. J'ai essayé de modifier la vitesse des Hint mais je me heurte au déclenchement de l'affichage de la bulle lors du saut d'une ligne à une autre ou d'une colonne à une autre.

    La solution la plus satisfaisante que j'ai trouvée est la combinaison d'un TStaticText avec la TStringGrid :
    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
     
    procedure TFormMain.FormCreate(Sender: TObject);
    begin
       StaticTextHint.Parent := StringGrid1;
    end;
    [...]                              
    procedure TFormMain.StringGrid1MouseMove(Sender: TObject; Shift: TShiftState; X,  Y: Integer);
    var
      aCol,aRow : integer;
      sMess : string;
    begin
     StringGrid1.MouseToCell(X, Y, aCol, aRow);
     if (aCol > 4) and (aCol < 8) and (aRow > 0) then begin
       sMess := IntToStr(aCol) + ',' + IntToStr(aRow);
       StaticTextHint.Left := X; //A cet emplacement pour assurer la fluidité
       StaticTextHint.Top  := Y; //de l'affichage
       if StaticTextHint.Caption <> sMess then begin 
          StaticTextHint.Caption := sMess;
          if not StaticTextHint.Visible then StaticTextHint.Visible := True;
      end;
      StaticTextHint.Refresh;  //Obligatoire sinon superposition des caractères dans le TStatic ?
    end else
     StaticTextHint.Visible := False;
    end;
    Je ne comprends pourquoi lorsque je balaye à la souris une ligne de la StringGrid
    • de gauche à droite, la fluidité de la bulle est saccadée,
    • alors que si je balaye la même ligne de droite à gauche, la fluidité est "normale" (et ceci sans avoir lu une première fois la ligne de gauche à droite).
    Une explication ou une autre méthode ?

    Merci Gilles.
    Dernière modification par Invité ; 01/06/2011 à 15h36.

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

Discussions similaires

  1. Réponses: 6
    Dernier message: 15/11/2007, 12h31
  2. scrollbar sur cellule de tableau
    Par flydragon dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 31/05/2006, 11h05
  3. [CSS]probleme de style sur cellules dans une table
    Par luimême dans le forum Mise en page CSS
    Réponses: 4
    Dernier message: 17/01/2006, 12h13
  4. [VB.NET] Focus sur cellule de DataGrid
    Par daner06 dans le forum Windows Forms
    Réponses: 2
    Dernier message: 02/05/2004, 21h12
  5. Un Hint sur un PopupMenu ne fonctionne pas !!??
    Par momox dans le forum C++Builder
    Réponses: 6
    Dernier message: 26/05/2003, 16h48

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