Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Grid с автоматическим выравниванием ширины столбцов [D5, Paradox]


Ник ©   (2002-04-11 21:34:00) 

Подскажите такой хороший Grid. DBGridEh не подходит.


Lusha   (2002-04-12 10:23:00) [1]

Гы-гы. ShowMessage нужно убрать - это меня колбасит... :)


Lusha   (2002-04-12 10:20:00) [2]

Попробуйте такой обработчик...

type TMyDBGrid = class(TDBGrid);

...

procedure TForm1.GridMouseUp(Sender : TObject; Button : TMouseButton; Shift : TShiftState; X, Y : Integer);
var Cell : TGridCoord;
begin
with TMyDbGrid(Sender) do
if Sizing(X, Y) then
begin
Cell := MouseCoord(X, Y);
if dgIndicator in Options then dec(Cell.X);
DefaultColWidth := Columns[Cell.X].Width;
ShowMessage();
end;
end;


Vitek_m   (2002-04-12 05:16:00) [3]

Можно используя и обычный Grid или же есть хороший ExpressQuantumGrid который может многое.....

procedure AutoSizeGridColumn(Grid : TStringGrid; column : integer);
var
i : integer;
temp : integer;
max : integer;
begin
max := 0;
for i := 0 to (Grid.RowCount - 1) do
begin
temp := Grid.Canvas.TextWidth(grid.cells[column, i]);
if temp > max then max := temp;
end;
Grid.ColWidths[column] := Max + Grid.GridLineWidth + 3;
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
AutoSizeGridColumn(StringGrid1, 1);
end;



Наверх

Титульная страница Поиск, карта сайта Написать письмо