Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Delphi: Общие вопросы > Проблема с ProfGrid


Автор: green2005 29.11.2006, 07:31
Здравствуйте все!
Вопрос на счет ProfGrid-a
(версия 2.3.1) 
хороший компонент но возникает такая странная вещь:
если на экране объединенные по вертикали ячейки видны не целиком из-под фиксированных строк,
то при скролировании по горизонтали портится вид фиксированных ячеек 
(точнее на них сверху отображается невидимая чать объединённых ячеек)

Я с этим боролся следующим образом

Код

procedure TForm1.Profgrid1TopLeftChanged(Sender: TObject);
begin
  Profgrid1.Invalidate;
end;


но в этом случае, если фиксированные столбцы не видны
(если часть формы выдвинуть вне поля экрана)
то те же глюки возникают при скролировании по вертикали

Во всех случая скролинг производится мышкой по scrollbar-ам profgrida
ProfGrid содержит 50 строк и 50 столбцов
3 строки и 3 столбца фиксированные

Весь текст программы

Код

unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
  StdCtrls, Grids, ProfGrid;

type
  TForm1 = class(TForm)
    ProfGrid1: TProfGrid;
    procedure Profgrid1_TopLeftChanged(Sender: TObject);
    procedure FormCreate(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;

implementation

{$R *.DFM}

procedure TForm1.Profgrid1_TopLeftChanged(Sender: TObject);
begin
  Profgrid1.Invalidate;
end;

procedure TForm1.FormCreate(Sender: TObject);
var i,j:integer;
begin
  ProfGrid1.Cells[5,2].Text:='sss';
  ProfGrid1.MergeHoriz(5,7,0);
  ProfGrid1.MergeHoriz(5,7,1);

  ProfGrid1.MergeVert(0,3,10);
  ProfGrid1.MergeVert(1,3,10);
  for i:=3 to ProfGrid1.colCount-1 do
    for j:=2 to (ProfGrid1.RowCount-2)div 2 do
  ProfGrid1.MergeVert(i,2*j-1,2*j);
end;

end.


 smile


M
Girder
Пользуйся тегом CODE!
 

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)