![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Как в одну ячейку StringGrid засунуть две строки? [D7, WinXP]
MBoris © (2005-10-24 13:41:00)Доброго времени суток! Подскажите, пож-та, как в одну ячейку StringGrid засунуть две строки, т.е. типа StringGrid.Cells [0,0]:='Привет'+#13+' Люди';
Спасибо!
MBoris (2005-10-24 17:52:00) [1]Большое спасибо за то, что помогаете новичкам-самоучкам!!!
umbra (2005-10-24 17:50:00) [2]
> procedure TForm1.StringGrid1DrawCell
Это процедура-обработчик события. На вашей форме отметьте StringGrid, в инспекторе обектов щелкните на закладку Events (События). Найдите там OnDrawCell и дважды щелкните по редактируемому полю справа от надписи. В редакторе кода появится заготовка процедуры. вставляете в нее код из примера. Она будет автоматически вызываться каждый раз, когда приложению надо будет нарисовать StringGrid. Все параметры передаются в нее приложением Изменять их без надобности не стоит.
Подробности - в справке про класс ТStringGrid
Германн (2005-10-24 17:48:00) [3]Он принимает значение того прямоугольника, который тебе нужно перерисовать. В данном случае это та самя ячейка грида. Если не ошибаюсь включая рамку.
MBoris (2005-10-24 17:43:00) [4]Ой простите при вызове процедуры.
Вот этой:
procedure TForm1.StringGrid1DrawCell(Sender: TObject; ACol, ARow: Integer;
Rect: TRect; State: TGridDrawState);
Германн (2005-10-24 17:41:00) [5]
> А какие значения может принимать Rect: TRect при вызове
> функции
Какая функция имеется в виду?
MBoris (2005-10-24 17:35:00) [6]>> begin...end © (24.10.05 15:23) [2]
>> OnDrawCell + DrawText
...это что ты имел ввиду?
MBoris (2005-10-24 17:33:00) [7]А какие значения может принимать Rect: TRect при вызове функции
Германн (2005-10-24 17:26:00) [8]Это Set of. А следовательно []
MBoris (2005-10-24 17:23:00) [9]Наверное, будет звучать глупо? А какие значения может принимать State: TGridDrawState. Я пытался подставить gdSelected, gdFocused, gdFixed - ничего не вышло!
begin...end (2005-10-24 15:23:00) [10]OnDrawCell + DrawText
umbra (2005-10-24 15:18:00) [11]Можно так:
procedure TForm1.StringGrid1DrawCell(Sender: TObject; ACol, ARow: Integer;
Rect: TRect; State: TGridDrawState);
var
h: Integer;
begin
StringGrid1.Canvas.Textout(rect.Left, rect.Top, 'Привет');
h := StringGrid1.Canvas.TextHeight('Привет');
StringGrid1.Canvas.Textout(rect.Left, rect.Top + h, 'Привет');
end;