Форум: "Основная";
Текущий архив: 2003.11.24;
Скачать: [xml.tar.bz2];
ВнизСоздать таблицу Найти похожие ветки
← →
ostap (2003-11-14 11:54) [0]Мне нужна на форме небольшая таблица в которую я смогу вносить даные. Мои даные в одну ячейку не влазят. Как сделать штоб в одну ячйку таблицы поместить несколько строк даных (текст вводимый вручную). Можно ли ето сделать в TStringGrid DrawGrid.
Еслиесть иные компоненты где их можна скачать.
← →
Vlad Oshin (2003-11-14 12:52) [1]вы должны перекрыть событие OnDraw. Ниже приведен пример, делающий заголовок многострочным, центрированным и с жирным шрифтом:
--------------------------------------------------------------------------------
if Dispatch.GetIDsOfNames(GUID_NULL, @NameRefs, NameCount,
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;
(c) Ozerov
Страницы: 1 вся ветка
Форум: "Основная";
Текущий архив: 2003.11.24;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.01 c