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 :

Obtenir la hauteur d'un StringGrid sans l'entête


Sujet :

Composants VCL Delphi

  1. #1
    Futur Membre du Club
    Homme Profil pro
    Inscrit en
    Mars 2012
    Messages
    9
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Mars 2012
    Messages : 9
    Points : 7
    Points
    7
    Par défaut Obtenir la hauteur d'un StringGrid sans l'entête
    Bonjour je cherche à faire un automatisation de la hauteur d'une ligne suivant le nombres de lignes

    Stringgrid.RowHeight:=(trunc(Stringgrid.Height)) div Stringgrid.Rowcount;

    mais la hauteur du 'header' est incluse
    comment connaitre la hauteur du 'header'
    pour pouvoir faire:
    Stringgrid.RowHeight:=(trunc(Stringgrid.Height)-[hauteur du 'height']) div Stringgrid.Rowcount;

    merci.

  2. #2
    Membre expert

    Homme Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2006
    Messages
    661
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Deux Sèvres (Poitou Charente)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Finance

    Informations forums :
    Inscription : Novembre 2006
    Messages : 661
    Points : 3 630
    Points
    3 630
    Billets dans le blog
    2
    Par défaut
    Bonsoir,

    Je pense que la hauteur du header doit correspondre à la hauteur par défaut d'une ligne c'est à dire que tu dois pouvoir la récupérer via la propriété DefaultRowHeight. En activant l'option RowSizing dans les options de la StringGrid, l'utilisateur peut modifier la hauteur d'une ligne mais pas celle du header qui reste à la valeur définie dans DefaultRowHeight.
    Mon site - Mes tutoriels - GitHub - N'oubliez pas de consulter les FAQ Delphi et les cours et tutoriels Delphi

  3. #3
    Futur Membre du Club
    Homme Profil pro
    Inscrit en
    Mars 2012
    Messages
    9
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Mars 2012
    Messages : 9
    Points : 7
    Points
    7
    Par défaut
    merci pour la réponse maintenant j'ai un autre problem:
    je fais une application multiplatforme (source:http://dl.free.fr/ffyHVxZkt)
    quand je fais une rotation du telephone (ou tablette) le header de mon stringrid ne se rafraichi pas.
    en appuyant sur le stringgrid le header se rafraichie comment faire merci (pour que le header de mon stringrid soit correctement aligné)
    je cherche je cherche ...
    je fait un Calendrier.RealignContent dans la PROCEDURE TForm1.Affichermois;
    mais je ne trouve pas comment faire un rafraichissement de mon stringgrid.

  4. #4
    Rédacteur/Modérateur
    Avatar de Andnotor
    Inscrit en
    Septembre 2008
    Messages
    5 693
    Détails du profil
    Informations personnelles :
    Localisation : Autre

    Informations forums :
    Inscription : Septembre 2008
    Messages : 5 693
    Points : 13 128
    Points
    13 128
    Par défaut
    Au plus simple (sous Windows), tu peux gérer le message WM_DISPLAYCHANGE.

    Mais ce message est inhibé sous Windows 8.x si l'application au premier plan est une app Modern UI. Dans ce cas, il faut passer par le senseur d'orientation, le Simple Device Orientation Sensor. La chose ennuyeuse par contre est que l'activation de ce senseur active l'ensemble des senseurs (ça devrait être fait autrement sous Delphi), y compris celui de géolocalisation. L'utilisateur risque de se faire gratifier d'un alerte disant qu'une app tente de localiser l'appareil.

  5. #5
    Futur Membre du Club
    Homme Profil pro
    Inscrit en
    Mars 2012
    Messages
    9
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Mars 2012
    Messages : 9
    Points : 7
    Points
    7
    Par défaut
    dans la sources la procedure TForm1.FormResize(Sender: TObject); fait l'affaire
    mais la ligne du header ne se rafraichi pas (je veux dire ne se realigne pas)
    j'ai cherché comment rafraichir le form (http://www.devsuperpage.com/search/A...2&ArtID=131410)
    les fonctions suivantes ne font rien :
    InvalidateRect(RectF(0,0,width,height));
    Realign;
    Application.ProcessMessages;
    Application.HandleMessage;

  6. #6
    Futur Membre du Club
    Homme Profil pro
    Inscrit en
    Mars 2012
    Messages
    9
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Mars 2012
    Messages : 9
    Points : 7
    Points
    7
    Par défaut
    si quelqu'un est intéressé.
    du coup j'ai désactiver le 'header' est mis les jours de la semaine dans la première ligne
    la rotation fonctionne bien.
    j'ai rajouter le décalage du début de semaine 0=Dim. 1=Lun.
    sources http://dl.free.fr/em81HCZtT

Discussions similaires

  1. methode GET sans header request
    Par Mike35 dans le forum Balisage (X)HTML et validation W3C
    Réponses: 1
    Dernier message: 21/09/2007, 12h01
  2. Imprimer sans header ni footer
    Par Megoy dans le forum ASP.NET
    Réponses: 4
    Dernier message: 04/05/2007, 13h23
  3. margin-top sans définir height
    Par Invité dans le forum Balisage (X)HTML et validation W3C
    Réponses: 3
    Dernier message: 13/03/2006, 20h03
  4. Réponses: 6
    Dernier message: 01/02/2006, 15h59

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