DBGrid c FixedCols
|
Фирма Microsoft выпустила свой новый продукт - Презерватив 2000. Отличие этого продукта от Презерватив 98 состоит в следующем:
- он еще легче надевается на "инструмент", чем раньше;
- теперь он интегрируется с "инструментом" так, что практически получается одно целое;
- и главное, значительно улучшена навигация по пути прохождения, т.е. прекрасно входит и замечательно выходит.
К сожалению, не прошло и двух дней со дня выхода нового изделия, как известный хакер NoPreserve нашел дыру в Презерватив 2000. Надо отдать должное Microsoft, которая буквально через день оперативно среагировала на найденный брак, выпустив заплатку, которую каждый пользователь может бесплатно получить по почте со склада фирмы и пришить в нужное место, согласно инструкции.
|
Кам мне при прокрутке "зафиксировать" левое поле табличной
сетки?
Я делаю это таким образом:
unit Fcdgrid;
interface
uses
SysUtils, WinTypes, WinProcs, Messages, Classes, Graphics, Controls,
Forms, Dialogs, Grids, DBGrids, DBCtrls, DB, Menus;
type
TFixedColDBGrid = class(TDBGrid)
private
FUserFixedCols: Integer;
protected
procedure LayoutChanged; override;
procedure SetUserFixedCols(I: Integer);
published
property UserFixedCols: Integer read FUserFixedCols write SetUserFixedCols;
end;
procedure Register;
implementation
procedure Register;
begin
RegisterComponents('Data Controls', [TFixedColDBGrid]);
end;
procedure TFixedColDBGrid.LayoutChanged;
begin
inherited LayoutChanged; { присваиваем FixedCols 1 если индикатор, иначе 0 }
if ((inherited FixedCols + FUserFixedCols) < inherited ColCount) then
inherited FixedCols := (FUserFixedCols + inherited FixedCols);
end;
procedure TFixedColDBGrid.SetUserFixedCols(I: Integer);
begin
FUserFixedCols := I;
LayoutChanged;
end;
end.
|
|