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 :

TDBGrid et Hint sur éléments trop longs


Sujet :

Composants VCL Delphi

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Développeur .NET
    Inscrit en
    Juin 2002
    Messages
    274
    Détails du profil
    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Juin 2002
    Messages : 274
    Par défaut TDBGrid et Hint sur éléments trop longs
    Bonjour,
    Je voudrais faire en sorte qu'en survolant les éléments de ma DBGrid à la souris, ceux "tronqués" apparaissent en entier dans le hint de la grille.
    J'implémente donc l'évènement OnMouseMove mais j'arrive seulement à récupérer la valeur de l'enregistrement en cours, et pas de celui situé sous la souris ! Je voudrais juste récupérer une valeur texte, la propriété Cells ferait l'affaire mais elle n'existe pas en version DB...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    procedure TfrmMain.maDBGridMouseMove(Sender: TObject; Shift: ShiftState; 
    X, Y: Integer);
    var
      gc: TGridCoord;
    begin
      // Position de la souris sur la grille
      gc := maDBGrid.MouseCoord(X, Y);
     
      // Colonne voulue
      if gc.X = 2 then 
          maDBGrid.Hint := monDataSet.FieldByName('CHAMP_VOULU').AsString;
    end;
    Mes enregistrements étant triés j'essaie une requête à partir du paramètre gc.Y, mais dès lors que l'on navigue dans la grille le Y renvoie toujours la ligne en cours parmi les lignes affichées. Donc si je suis "descendu" aux enregistrements 20 à 30 et la souris localisée sur le 23, pour lui Y=3 donc il ne me renvoie pas la bonne valeur !
    Des idées svp ?
    Merci

  2. #2
    Modérateur
    Avatar de Rayek
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mars 2005
    Messages
    5 236
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    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 236
    Par défaut
    Avec çà tu devrais pouvoir faire la même chose sur ton DbGrid
    Modérateur Delphi

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

  3. #3
    Membre éclairé
    Développeur .NET
    Inscrit en
    Juin 2002
    Messages
    274
    Détails du profil
    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Juin 2002
    Messages : 274
    Par défaut
    Non c'est le même problème, à savoir que la valeur ARow renvoyée par MouseToCell correspond au n° de ligne parmi les lignes visibles et ne tient pas compte du défilement vertical.

  4. #4
    Membre éclairé
    Développeur .NET
    Inscrit en
    Juin 2002
    Messages
    274
    Détails du profil
    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Juin 2002
    Messages : 274
    Par défaut
    A noter que ce "problème" survient uniquement avec les TDBGrid !
    MouseToCell fonctionne parfaitement avec une TStringGrid (même dans le cas de lignes invisibles précité), mais j'ai beau transtyper ma grille de données en TCustomGrid, TStringGrid... (cette méthode n'est pas accessible pour une TDBGrid), rien n'y fait.

Discussions similaires

  1. Réponses: 1
    Dernier message: 06/03/2014, 18h24
  2. Faire un XOR sur une chaine/long binaire TRES/TROP longue
    Par bobic dans le forum API standards et tierces
    Réponses: 19
    Dernier message: 31/08/2011, 09h24
  3. Accès réseau intermittent, upload trop long sur un poste Win7
    Par annedeblois dans le forum Windows 7
    Réponses: 3
    Dernier message: 27/05/2010, 15h35
  4. Réponses: 3
    Dernier message: 27/04/2008, 19h10
  5. Click droit sur bureau trop long
    Par kikica dans le forum Windows XP
    Réponses: 4
    Dernier message: 01/03/2007, 14h20

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