Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Delphi: Для новичков > Изменения ширины столбцов Стрингрида


Автор: ACMilian 22.2.2008, 13:40
Доброго дня всем!
Хочу при изминении ширины столбцов стринггрида заносить данные о ширине в ини файл. Но не могу найти событие, которое генерируется при изменении этой самой ширины. smile 
Хелп! 

Автор: kemiisto 23.2.2008, 00:44
Да нет там походу такого события. А вот у TJvStringGrid есть: OnColWidthsChanged. Компонент из библиотеки с говорящим названием - JEDI VCL. smile Там много всяких "вкусностей". smile 
Взять можно здесь: 
http://sourceforge.net/projects/jcl/
http://sourceforge.net/projects/jvcl/
Рекомендую!

Автор: SneG0K 23.2.2008, 01:09
Код

DBGrid1.Columns.SaveToFile(
  ExtractFilePath(Application.ExeName)+'grid.dat');
Вот так делаю я smile Тока с ДБгрид.... Но помойму в стингриде тоже есть такое свойство smile 

Автор: volvo877 23.2.2008, 01:32
Цитата(kemiisto @  22.2.2008,  23:44 Найти цитируемый пост)
Да нет там походу такого события. 

А что, добавить событие уже нельзя?

Код

// __Перед__ описанием класса формы:
type
  TStringGrid = class(Grids.TStringGrid)
  private
    FColWidthsChanged: TNotifyEvent;

  protected
    procedure ColWidthsChanged; override;

  public:
    property OnColWidthsChanged: TNotifyEvent read FColWidthsChanged write FColWidthsChanged;
  end;

// Дальше идет собственно класс формы...
type
  TForm1 = class(TForm)
    // ...
  end;

// И реализация ...
procedure TStringGrid.ColWidthsChanged;
begin
  inherited;
  if Assigned(OnColWidthsChanged) then
    OnColWidthsChanged(Self);
  ShowMessage('test'); // <--- Вот это будет происходить после изменения размеров столбца
end;


Автор: diamondd 29.2.2008, 23:44
а зачем тебе сохранять ширину столбца во время исполнения?

при закрытии формы сохраняй любые данные, а после создания загружай...

Код

procedure TForm1.FormCreate(Sender: TObject);
begin
  //загрузка данных
end;

procedure TForm1.FormDestroy(Sender: TObject);
begin
  //сохранение данных
end;


и по-моему для хранения определенных настроек твой программы проще использовать реестр... к тому же он специально для этого предназначен  smile 

Автор: ACMilian 4.3.2008, 13:00
я загружаю настройки грида при создании формы и сохраняю при уничтожении.
ещё на гриде висит таймер который обновляет грид через 2 минуты, поэтому сохраняю настройки перед срабатыванием таймера и загружаю сразу после срабатывания.
по поводу реестра...пока пользуюсь ини файлом   smile 

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