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 :

CheckBox dans TAdvStringGrid


Sujet :

Composants VCL Delphi

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Femme Profil pro
    Inscrit en
    Avril 2007
    Messages
    209
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Suisse

    Informations forums :
    Inscription : Avril 2007
    Messages : 209
    Par défaut CheckBox dans TAdvStringGrid
    Bonjour à tous, j'utilise le composant TMS TAdvStringGrid afin d'ajouter des checkbox très facilement dans une colonne de ma grille via la méthode

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    MaStringGrid.AddCheckBox(Col,Row,Etat,False)
    Ce code fonctionne bien jusqu'au moment où je définit l'évènement OnDrawCell de ma grille.

    Voici en simplifié ce que contient mon évènement OnDrawCell:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    Format:=DT_NOPREFIX Or DT_VCENTER Or DT_SINGLELINE;
    If ARow > 0 Then StringGrid1.Canvas.Brush.Color:=clRed;
    StringGrid1.Canvas.FillRect(Rect);
    InflateRect(Rect,-4,-4);
    DrawText(StringGrid1.Canvas.Handle,PChar(StringGrid1.Cells[ACol,ARow]),-1,Rect,Format);
    A partir de là, mes checkbox ne sont plus affichées et la colonne 3 de ma grille ne contient que des cases vide.

    Comment dois-je définir la méthode OnDrawCell pour que mes checkbox soient redessinnées?

    Merci d'avance

  2. #2
    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,

    Pourquoi ne pas ajouter un ACol<>3 dans ta condition ?

  3. #3
    Membre éprouvé
    Inscrit en
    Juillet 2007
    Messages
    113
    Détails du profil
    Informations personnelles :
    Âge : 42

    Informations forums :
    Inscription : Juillet 2007
    Messages : 113
    Par défaut
    Bonjour,

    A mon avis si tu redéfini le OnDrawCell, le AdvStringGrid te laisse faire la parti dessin des cellules et ne s'occupe plus de cela.

    Je ne sais pas exactement ce que tu fais dans ton OnDrawCell mais pour redéfinir la couleur de fond d'une cellule tu as l'évènement OnGetCellColor qui peut être redéfini, pour l'alignement tu as OnGetAlignement, ... Il y a ainsi beaucoup d'opérations de mise en forme qui sont possibles sans avoir à redéfinir le OnDrawCell et c'est en partie ce qui fait l'intérêt de ce composant

  4. #4
    Membre éclairé
    Femme Profil pro
    Inscrit en
    Avril 2007
    Messages
    209
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Suisse

    Informations forums :
    Inscription : Avril 2007
    Messages : 209
    Par défaut
    @ tenpigs

    A mon avis si tu redéfini le OnDrawCell, le AdvStringGrid te laisse faire la parti dessin des cellules et ne s'occupe plus de cela.
    Oui, je pense que c'est mon problème, il faudrait que je redessine aussi les checkbox je pense.

    Je vais voir du côté de OnGetCellColor et OnGetAlignement vu que ce sont les seules choses que je redéfinit dans le OnDrawCell.

    Merci beaucoup

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

Discussions similaires

  1. Réponses: 5
    Dernier message: 30/03/2007, 20h54
  2. Récupérer des valeurs de checkbox dans MySQL
    Par digger dans le forum SQL Procédural
    Réponses: 1
    Dernier message: 05/09/2005, 14h58
  3. Réponses: 4
    Dernier message: 29/07/2005, 11h47
  4. CheckBoxes dans un QuickReport ?
    Par Soulama dans le forum Composants VCL
    Réponses: 2
    Dernier message: 11/07/2005, 15h59
  5. [VB.NET] Insérer une colonne de CheckBox dans un DataGrid
    Par Manue.35 dans le forum Windows Forms
    Réponses: 2
    Dernier message: 22/05/2003, 11h44

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