Вниз
Скачать: CL | DM;

Смещение ячеек в TDrawGrid   Найти похожие ветки 

← →
Fr   (2011-03-27 00:02) [0]

На форме лежит TDrawGrid. При создании формы ячейки растягиваются так, чтобы занять всю область грида:

procedure TForm1.FormCreate(Sender: TObject);
begin
 DrawGrid1.DefaultColWidth:=DrawGrid1.Width div DrawGrid1.ColCount;
 DrawGrid1.DefaultRowHeight:=DrawGrid1.Height div DrawGrid1.RowCount;
end;

После запуска "приложения" :) выделяю мышью ячейку крайнего правого столбца или нижней строки и все ячейки вдруг сдвигаются, оставляя по бокам грида пространство без сетки.
Как сделать так, чтобы не было этого сдвига?

http://dl.dropbox.com/u/8204815/Grid_1.jpg  (34,5 КБ)
слева на скриншоте до выделения ячейки, справа - после.


← →
Германн ©   (2011-03-27 00:10) [1]

В расчетах не учтена ширина линий сетки GridLineWidth.


← →
Fr   (2011-03-27 00:20) [2]


> В расчетах не учтена ширина линий сетки GridLineWidth.

Ничего не меняется, если GridLineWidth выставить в 0


← →
Fr   (2011-03-27 00:26) [3]

Точнее, при выставленном GridLineWidth в 0, сетка уже сдвигается только по вертикали. Но надо, чтобы она вся оставалась на месте...


← →
Германн ©   (2011-03-27 00:45) [4]

Так учесть надо было, а не обнулять!
DrawGrid1.DefaultColWidth:=(DrawGrid1.Width - DrawGrid1.ColCount*DrawGrid1.GridLineWidth) div DrawGrid1.ColCount;


← →
Fr   (2011-03-27 10:49) [5]


> Так учесть надо было, а не обнулять!

Так подставьте 0 вместо DrawGrid1.GridLineWidth в
DrawGrid1.DefaultColWidth:=(DrawGrid1.Width - DrawGrid1.ColCount*DrawGrid1.GridLineWidth) div DrawGrid1.ColCount;
и получите на выходе то же самое, что и у меня.

На всякий случай заменил в коде на
 
 DrawGrid1.DefaultColWidth:=(DrawGrid1.Width-DrawGrid1.ColCount*DrawGrid1.GridLineWidth) div DrawGrid1.ColCount;
 DrawGrid1.DefaultRowHeight:=(DrawGrid1.Height-DrawGrid1.RowCount*DrawGrid1.GridLineWidth) div DrawGrid1.RowCount;


Ничего не изменилось - при выборе нижней ячейки вся сетка сдвигается вверх, оставляя под ней пустое место (без ячеек).


← →
_Юрий   (2011-03-27 11:10) [6]

>>DrawGrid1.Width

DrawGrid1.ClientWidth ?


← →
Fr   (2011-03-27 11:12) [7]


> _Юрий   (27.03.11 11:10) [6]

Спасибо! Заработало :)



Страницы: 1 вся ветка

Скачать: CL | DM;



Память: 0.46 MB
Время: 0.008 c
15-1300102057
Иван
2011-03-14 14:27
2011.07.03
Можно ли готовую программу разбить на исходники?


15-1300053471
KilkennyCat
2011-03-14 00:57
2011.07.03
о последствиях в японии наглядно


15-1300321466
Дмитрий Тимохов
2011-03-17 03:24
2011.07.03
Нашел по рекламе на delphimaster.ru


15-1300133801
tesseract
2011-03-14 23:16
2011.07.03
аквариум


2-1301336263
Drowsy
2011-03-28 22:17
2011.07.03
В обработчике какого события можно перехватить ошибку




   Наверх