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 :

Comportement bizarre lors du dessin de dbgrid : bug ondrawcolumncell ?


Sujet :

Lazarus Pascal

  1. #1
    Membre confirmé Avatar de Issam
    Inscrit en
    Mars 2002
    Messages
    578
    Détails du profil
    Informations personnelles :
    Âge : 48

    Informations forums :
    Inscription : Mars 2002
    Messages : 578
    Points : 604
    Points
    604
    Par défaut Comportement bizarre lors du dessin de dbgrid : bug ondrawcolumncell ?
    Bonsoir

    j'ai un comportement bizzare lors du dessin de ma dbgrid.

    Voici ma méthode ondrawcolumncell :
    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
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
     
    procedure TProduitsFrame.DBGrid1DrawColumnCell(Sender: TObject;
      const Rect: TRect; DataCol: Integer; Column: TColumn; State: TGridDrawState);
    var
       s:string;
       DTParams: DrawTextParams;
       r : Trect;
    begin
    r := rect;
    with DTParams do begin
      cbSize := SizeOf(DrawTextParams);
      iTabLength := 6;
      iLeftMargin := 10;
      iRightMargin := 10;
    end;
     
    with TDBGrid(Sender).canvas do
    begin
     
     brush.style:=bssolid;
     
    font.assign(column.Font);
    if gdSelected in state then
     begin
       brush.Color:= _DBGrid_ROW_SELECTED;
       font.color:=Clwhite;
     end
     else
     begin
       font.color:= Column.Font.color;
       if TDBGrid(Sender).dataSource.DataSet.RecNo mod 2 = 0 then
          Brush.Color := clwhite
       ELse
          Brush.Color := _DBGrid_ROW_ALTERNATE;
       end;
     
     
    fillrect(rect);
     
    brush.style:=bsclear;
    s := column.Field.DisplayText;
     
     
    if Column.Field.Index = 4 then
    begin
     
      case column.Field.AsInteger of
         2 : dm.GridIcons.Draw(TDBGrid(Sender).canvas, rect.Left, rect.Top,0, true);
         1 : dm.GridIcons.Draw(TDBGrid(Sender).canvas, rect.Left, rect.Top,1, true);
      end;
    end
    else
    begin
    If s<> '' then
    case column.Alignment of
      tacenter:  DrawTextEx(Handle, PChar(S), -1,
        R, DT_CENTER + DT_VCENTER + DT_SINGLELINE  + DT_END_ELLIPSIS,
        @DTParams);
     
      taleftjustify:  DrawTextEx(Handle, PChar(S), -1,
        R, DT_LEFT + DT_VCENTER + DT_SINGLELINE + DT_END_ELLIPSIS,
        @DTParams);
     
      tarightjustify:  DrawTextEx(Handle, PChar(S), -1,
        R, DT_RIGHT + DT_VCENTER + DT_SINGLELINE + DT_END_ELLIPSIS,
        @DTParams);
    end;
    end;
     
    end;
     
    end;
    Tout marche parfaitement lors du premier lancement de l'application, mais dès que je change de fenêtre et que je reviens, j'ai des problèmes d'affichage.

    1ère image tout est ok :




    2ème image tout n'est pas ok :




    Lazarus version :
    0.9.30.02
    date 2011-11-04
    révision SVN : 33306
    i386-win32/win64

    Merci pour votre aide

    Bonne journée
    Images attachées Images attachées   

Discussions similaires

  1. Réponses: 0
    Dernier message: 24/08/2012, 14h37
  2. Réponses: 3
    Dernier message: 23/06/2008, 15h08
  3. [ACESS][MEMO][ISNULL]Comportement bizarre
    Par seb.49 dans le forum ASP
    Réponses: 2
    Dernier message: 09/06/2004, 10h44
  4. [HttpClient] comportement bizarre, saute des catch()...
    Par iubito dans le forum Développement Web en Java
    Réponses: 4
    Dernier message: 04/02/2004, 15h25
  5. [Sybase] Comportement bizarre d'une table
    Par sdozias dans le forum Sybase
    Réponses: 4
    Dernier message: 03/02/2004, 10h39

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