Un Pb de debutant pour creer un StringGrid

Signaler
Messages postés
79
Date d'inscription
samedi 28 décembre 2002
Statut
Membre
Dernière intervention
27 juin 2011
-
Messages postés
79
Date d'inscription
samedi 28 décembre 2002
Statut
Membre
Dernière intervention
27 juin 2011
-
Salut a tout le monde , j'ai un soucis de vrai debutant ,je n'arrive pas a faire apparaitre une grille dans mon compo.
je met mon code :

unit UCalendrier;


interface


USES
  SysUtils,
  WinTypes,
  WinProcs,
  Messages,
  Classes,
  Graphics,
  Controls,
  MMSystem,
  DateUtils,
  FileCtrl,
  Grids,
  ActiveX,
  ExtCtrls;


type
  TCalendrier = class(TPaintBox)
  private
    { Déclarations privées }
    FGrille : TStringGrid ;
  protected
    { Déclarations protégées }
    PROCEDURE Paint; OVERRIDE;
  public
    { Déclarations publiques }
    CONSTRUCTOR Create(AOwner: TComponent); OVERRIDE;
    DESTRUCTOR Destroy; OVERRIDE;
  PUBLISHED
    PROPERTY Align;
    PROPERTY Enabled;
    PROPERTY ParentShowHint;
    PROPERTY ShowHint;
    PROPERTY Font;
    PROPERTY OnMouseDown;
    PROPERTY OnMouseUp;
    PROPERTY OnMouseMove;
    PROPERTY Color;
  end;


procedure Register;


implementation
//******************************************************************************
procedure Register;
begin
  RegisterComponents('Michel 34', [TCalendrier]);
end;


//******************************************************************************
CONSTRUCTOR TCalendrier.Create(AOwner: TComponent);
BEGIN
  INHERITED Create(AOwner);
  Fgrille:=TStringGrid.Create(Self);

C'est ICI que j'ai le PB , il refuse le parent,car si je me souviens bien pour voir apparaitre
ma grille ,il faut que je lui designe le parent qui va le dessiner.

----------------> //  FGrille.Parent:=Self;     Erreur : Type incompatible    (TWinControl  et  TCalendrier)

  Fgrille.Align:=AlClient;
  FGrille.ColCount:=4;
  FGrille.RowCount:=31;

// Une simple grille de 4 colonnes et 31 lignes

  Width := 400;
  Height := 600;
  Self.Font.Color := ClYellow;
  Self.Font.Name := 'ELEPHANT';
END;


//******************************************************************************
DESTRUCTOR TCalendrier.Destroy;
BEGIN
  FGrille.Free;
  INHERITED Destroy;
END;


//******************************************************************************
PROCEDURE TCalendrier.Paint;
BEGIN


END;


//******************************************************************************


end.

Quelqu'un peut il me dire ou j'ai peché .

merci d'avance pour votre collaboration.
A+ Michel

2 réponses

Messages postés
4202
Date d'inscription
samedi 16 octobre 2004
Statut
Modérateur
Dernière intervention
13 juin 2020
37
TCalendrier = class(<strike>TPaintBox</strike>)

TCalendrier = class(TWinControl)

Modifier le code en consequence.

<hr size="2" width="100%" />
Messages postés
79
Date d'inscription
samedi 28 décembre 2002
Statut
Membre
Dernière intervention
27 juin 2011

Salut foxi ,
si je comprend bien je ne peux pas surcharge un TPaintBox avec d'autre compo ,Il me faudrait imperativement dessiner completement une grille dans le canvas ,mais ca va impliquer un rude travail.

A+ Michel