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

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

Свойства отдельно-взятой строки StringGrid [D6, Win2k]


Dmitriy Polskoy ©   (2002-09-17 14:02:00) 

Вопрос в следующем: как установить, например, высоту и цвет отдельно взятой строки в StringGride? Спасибо.


Dmitriy Polskoy   (2002-09-17 16:08:00) [1]

2 Johnny Smith (17.09.02 15:57)
Спасибо с высотой разобрался, а вот цвет установить не могу.


Johnny Smith   (2002-09-17 15:57:00) [2]

Вообще-то высота конкретной строки устанавливается так
TStringGrid.RowHeights[i]:=x;
Ширина конкретной колонки:
TStringGrid.RowHeights[j]:=y;


Dmitriy Polskoy   (2002-09-17 15:53:00) [3]

2 [NIKEL] © (17.09.02 14:09)
Попробовал. Что-то не получается установить высоту конкретной строки - высота устанавливается для всех строк, а сама сетка мерцает. Не подскажите как правильно нужно сделать?


Dmitriy Polskoy   (2002-09-17 15:27:00) [4]

Спасибо большое. Помогли.


[NIKEL]   (2002-09-17 14:09:00) [5]


procedure TForm1.grid1DrawCell(Sender: TObject; Col, Row: Longint;
Rect: TRect; State: TGridDrawState);

var l_oldalign : word;
l_YPos,l_XPos,i : integer;
s,s1 : string;
l_col,l_row :longint;

begin
l_col := col;
l_row := row;
with sender as tstringgrid do
begin
if (l_row=0) then
canvas.font.style:=canvas.font.style+[fsbold];
if l_row=0 then
begin
l_oldalign:=settextalign(canvas.handle,ta_center);
l_XPos:=rect.left + (rect.right - rect.left) div 2;
s:=cells[l_col,l_row];
while s<>"" do
begin
if pos(#13,s)<>0 then
begin
if pos(#13,s)=1 then
s1:=""
else
begin
s1:=trim(copy(s,1,pred(pos(#13,s))));
delete(s,1,pred(pos(#13,s)));
end;
delete(s,1,2);
end
else
begin
s1:=trim(s);
s:="";
end;
l_YPos:=rect.top+2;
canvas.textrect(rect,l_Xpos,l_YPos,s1);
inc(rect.top,rowheights[l_row] div 3);
end;
settextalign(canvas.handle,l_oldalign);
end
else
begin
canvas.textrect(rect,rect.left+2,rect.top+2,cells[l_col,l_row]);
end;

canvas.font.style:=canvas.font.style-[fsbold];
end;
end;



тут же можешь менять и цвет...


Song   (2002-09-17 14:03:00) [6]

TStringGrid.onDrawCell


Наверх

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