Code source
Code source

  Présentation
  Unités exemple gratuites
  Unités commercialisées
  Conditions d'utilisation
  Comment acheter
  Vendez vos codes
Unités exemple

  LRJ_ClassesPlus
  LRJ_GridsPlus
  LRJ_MenusPlus
  LRJ_WindowsPlus

   Accueil | GlobalDesk | Code source Delphi | Développements | Votre compte | Contact   

Code source : unité exemple LRJ_GridsPlus




Description : contient l'objet LRJ_TStringGrid qui dérive de TStringGrid et contient 9 méthodes supplémentaires. Une méthode sert à dimensionner les colonnes en fonction de la taille maximum prise par le texte des cellules, 3 méthodes servent à vider des cellules (toutes, selon une ligne et une colonne de départ, les cellules non fixées), une méthode pour supprimer une ligne et décaler les lignes restantes pour occuper la place vidée, une pour mettre en sur-brillance une ligne, une pour mettre en sur-brillance toutes les lignes, une pour donner l'index de la ligne sélectionnée et une dernière pour donner le nombre de lignes sélectionnées.

Utilise les unités : Windows et Grids.

Télécharger LRJ_GridsPlus version 1.1

//*********************************************************
//            LRJ_GridsPlus                               *
//            Version : 1.1                               *
//            Date dernière modif : 03.05.2009            *
//            Auteur : Laurent Hède                       *
//            Société LorenJo                             *
//            contact@lorenjo.com                         *
//            copyright LorenJo                           *
//            Réalisé en DELPHI 6                         *
//*********************************************************
unit LRJ_GridsPlus;

interface

                                  uses
                                  Windows,
                                  Grids;

type

   //------------OBJET----------------------------
LRJ_TStringGrid = class(TStringGrid)
   private //-----------PRIVATE--------------------------
   protected //-----------PROTEGE--------------------------
   public//-----------PUBLIC--------------------------
   //______nouveau ________________________________
   procedure ResizeCells(const AFreeSpacing: integer = 0);
   procedure ClearCells; overload;
   procedure ClearCells(const BeginCol: integer; const BeginRow: integer); overload;
   procedure ClearCellsNotFixed;
   procedure SelectAll;
   procedure DeleteOneRow(const ARowIndex: integer);
   procedure SelectOneRow(const ARowIndex: integer);
   function GetRowIndexSelect: integer;
   function GetCountRowSelect: integer;
   end;//-----------FIN--------------------------


implementation

{--------------------------------------------------------------}
{--------------------------------------------------------------}
{--------------------  LRJ_TStringGrid  ------------------------------------------}
{--------------------------------------------------------------}
{--------------------------------------------------------------}
procedure LRJ_TStringGrid.SelectOneRow(const ARowIndex: integer);
var
  zSelect:TGridRect;
begin
zSelect.Top := ARowIndex;
zSelect.Left := FixedCols;
zSelect.Bottom := ARowIndex;
zSelect.Right := ColCount-1;
Selection := zSelect;
end;
{--------------------------------------------------------------}
procedure LRJ_TStringGrid.DeleteOneRow(const ARowIndex: integer);
var
  i, j : integer;
begin
if (ARowIndex >= 0) and (ARowIndex < RowCount) then
  begin
  for i:= ARowIndex to RowCount-2 do
   for j:=0 to ColCount-1 do
     begin
     Cells[j,i] := Cells[j,i+1];
     end;
  for j:=0 to ColCount-1 do
    begin
    Cells[j,RowCount-1] := '';
    end;
  i := RowCount - 1;
  RowCount := i;
  end;
end;
{--------------------------------------------------------------}
function LRJ_TStringGrid.GetCountRowSelect: integer;
begin
result := 0;
if Selection.top > 0 then
  begin
  result := (Selection.Bottom - Selection.top) + 1;
  if result < 0 then result := 0;
  end;
end;
{--------------------------------------------------------------}
procedure LRJ_TStringGrid.SelectAll;
var
  zSelect:TGridRect;
begin
zSelect.Top := FixedRows;
zSelect.Left := FixedCols;
zSelect.Bottom := RowCount-1;
zSelect.Right := ColCount-1;
Selection := zSelect;
end;
{--------------------------------------------------------------}
procedure LRJ_TStringGrid.ClearCellsNotFixed;
var
  i, j: integer;
begin
for i:=FixedRows to RowCount-1 do
 for j:=FixedCols to ColCount-1 do
   Cells[j ,i] := '';
end;
{--------------------------------------------------------------}
procedure LRJ_TStringGrid.ClearCells(const BeginCol: integer; const BeginRow: integer);
var
  i, j: integer;
begin
for i:=BeginRow to RowCount-1 do
 for j:=BeginCol to ColCount-1 do
   Cells[j ,i] := '';
end;
{--------------------------------------------------------------}
procedure LRJ_TStringGrid.ClearCells;
var
  i, j: integer;
begin
for i:=0 to RowCount-1 do
 for j:=0 to ColCount-1 do
   Cells[j ,i] := '';
end;
{--------------------------------------------------------------}
function LRJ_TStringGrid.GetRowIndexSelect: integer;
begin
result := Selection.top;
end;
{--------------------------------------------------------------}
procedure LRJ_TStringGrid.ResizeCells(const AFreeSpacing: integer = 0);
var
  i, j : integer;
  zTabMax: array of integer;
  zTempLength: integer;
begin
SetLength(zTabMax,ColCount);
for i:=0 to RowCount-1 do
 for j:=0 to ColCount-1 do
   begin
   zTempLength := Canvas.TextWidth(Cells[j ,i]) + AFreeSpacing;
   if zTempLength > zTabMax[j] then zTabMax[j] := zTempLength;
   end;
for j:=0 to ColCount-1 do
  ColWidths[j] := zTabMax[j];
zTabMax := nil;  
end;
{--------------------------------------------------------------}
{--------------------------------------------------------------}
{--------------------  FIN  ------------------------------------------}
{--------------------------------------------------------------}
{--------------------------------------------------------------}
end.


 Accueil | GlobalDesk | Code source Delphi | Développements | Votre compte | Contact 
Copyright © LorenJo 2000-2009    Notice légale