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

Bases de données Delphi Discussion :

Cellules multigne dans un DbGrid.


Sujet :

Bases de données Delphi

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Septembre 2006
    Messages
    187
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Septembre 2006
    Messages : 187
    Points : 72
    Points
    72
    Par défaut Cellules multigne dans un DbGrid.


    J'ai un petit problème "d'esthétique" :
    Un champ dans mon DbGrid affiche des strings que j'ai au préalable traité... Tout fonctionne très bien sauf que mes sauts de ligne s'affichent par deux petits carrés!!!

    Par "saut de ligne" je veux dire :
    string + #13#10 + string

    Je ne vois pas très bien comment virer ses carés, quelqu'un aurait une idée ?
    D'avance merci

  2. #2
    Expert éminent sénior
    Avatar de ShaiLeTroll
    Homme Profil pro
    Développeur C++\Delphi
    Inscrit en
    Juillet 2006
    Messages
    13 459
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Développeur C++\Delphi
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2006
    Messages : 13 459
    Points : 24 873
    Points
    24 873
    Par défaut
    Il y a différentes bidouilles, celle que je pratique, c'est de mettre à la grille une font trois fois plus grande, et dans le OnDraw, je redessine à la main les items : tient voir ce sujet : "WordWrap sur une DBGrid"

    tiens une version plus récente du code dans une autre application, où je gère la taille de la font via les columns déclarées dans le DBGrid, tu peux aussi faire un AGrid.Canvas.CopyRect ... pour dessiner des images dans les cellules comme dessiner un CheckBox pour un booléen au lieu des pauvres Vrai\Faux ...

    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
    25
    26
    27
    28
    29
    30
    31
    procedure TFrmCensure.GridTrucDrawColumnCell(Sender: TObject;
       const Rect: TRect; DataCol: Integer; Column: TColumn;
       State: TGridDrawState);
     
    var
       RectEnVar: TRect;
       AGrid: TDBGrid;
       TextToDrawing: string;
    begin
       if (Sender is TDBGrid) then
       begin
          AGrid := Sender as TDBGrid;
          if Assigned(Column.Field) then
          begin
             RectEnVar := Rect;
             Inc(RectEnVar.Left);
             AGrid.Canvas.Font.Name := Column.Font.Name;
             AGrid.Canvas.Font.Size := Column.Font.Size;
             AGrid.Canvas.Font.Style := Column.Font.Style;
             AGrid.Canvas.FillRect(Rect);
             TextToDrawing := Column.Field.AsString;
             Windows.DrawText(
                AGrid.Canvas.Handle,
                PChar(TextToDrawing),
                Length(TextToDrawing),
                RectEnVar,
                DT_WORDBREAK
                );
          end;
       end;   
    end;
    Aide via F1 - FAQ - Guide du développeur Delphi devant un problème - Pensez-y !
    Attention Troll Méchant !
    "Quand un homme a faim, mieux vaut lui apprendre à pêcher que de lui donner un poisson" Confucius
    Mieux vaut se taire et paraître idiot, Que l'ouvrir et de le confirmer !
    L'ignorance n'excuse pas la médiocrité !

    L'expérience, c'est le nom que chacun donne à ses erreurs. (Oscar Wilde)
    Il faut avoir le courage de se tromper et d'apprendre de ses erreurs

Discussions similaires

  1. Réponses: 2
    Dernier message: 22/10/2013, 16h57
  2. Formatage et alignement de cellule dans un DBGrid
    Par cgone dans le forum Bases de données
    Réponses: 4
    Dernier message: 01/12/2006, 17h57
  3. Problème de coloration de cellules dans un DBGrid
    Par amaurylerouxdelens dans le forum Delphi
    Réponses: 7
    Dernier message: 08/11/2006, 13h47
  4. Cellule sélectionnée dans un DBGrid
    Par PadawanDuDelphi dans le forum Delphi
    Réponses: 9
    Dernier message: 11/09/2006, 17h03
  5. lire une cellule dans une DBGrid
    Par flo74 dans le forum Bases de données
    Réponses: 10
    Dernier message: 30/01/2006, 08h52

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