Stan |
Отправлено: 18.03.2005, 16:18 |
|
Не зарегистрирован
|
Вопрос собственно в названии темы.
Как в AdvStringGrid объединить несколько ячеек в одну и выровнять текст в ней (уже объединенной) по центру.
А то что-то у меня, глупого, как то не получилось |
|
Lizard |
Отправлено: 31.05.2005, 09:52 |
|
Ученик-кочегар
Группа: Участник
Сообщений: 20
|
Часто возникают вопросы по работе с ячейками AdvStringGrid'а: как выравнить текст по центру, изменить свойства шрифта и цвет ячейки (знаю по своему опыту).
Привожу пример изменения этих свойств без использования события OnDrawCell.
CODE |
void __fastcall TForm1::FormCreate(TObject *Sender)
{
int Col = 1, Row = 1, begin = 0x00E8B888, end = 0x00FEFCFA;
AnsiString s1 = "Способ №1", s2 = "Способ №2";
AdvStringGrid1->ShowSelection = 0;
//-----------------------первый способ--------------------------------------
AdvStringGrid1->Cells[Col][Row] = s1;
AdvStringGrid1->CellProperties[Col][Row]->FontStyle << fsBold;
AdvStringGrid1->CellProperties[Col][Row]->FontColor = clRed;
AdvStringGrid1->CellProperties[Col][Row]->FontSize = 10;
AdvStringGrid1->CellProperties[Col][Row]->FontName = "Times New Roman";
AdvStringGrid1->Alignments[Col][Row] = taCenter;
AdvStringGrid1->MergeCells(Col,Row,2,1);
// градиент цвета в ячейки
AdvStringGrid1->Colors[Col][Row] = (TColor)begin;
AdvStringGrid1->ColorsTo[Col][Row] = (TColor)end;
//-----------------------второй способ--------------------------------------
AdvStringGrid1->Cells[Col][++Row] = "<P align=\"center\"><FONT color = \"clred\" face = \"Times New Roman\" size = 10><B>" + s2 + "</P></B></FONT>";
AdvStringGrid1->MergeCells(Col,Row,2,1);
// градиент цвета в ячейки
AdvStringGrid1->Colors[Col][Row] = (TColor)begin;
AdvStringGrid1->ColorsTo[Col][Row] = (TColor)end;
}
|
Отредактировано Lizard — 31/05/2005, 10:26 |
|
Stan |
Отправлено: 31.05.2005, 11:10 |
|
Не зарегистрирован
|
QUOTE (Lizard @ 31/05/2005, 09:52) | Часто возникают вопросы по работе с ячейками AdvStringGrid'а |
Lizard, спасибо Вам за ответ, правда уже и не совсем актуально...
Хотя некоторые возможности, например по градиенту цвета заднего фонаCODE |
AdvStringGrid1->Colors[Col][Row] = (TColor)begin;
AdvStringGrid1->ColorsTo[Col][Row] = (TColor)end;
|
я до сих пор не знал и представляются мне интересными
Lizard, не подскажете как желаемый оттенок цвета получить в цифре, типа
CODE | begin = 0x00E8B888, end = 0x00FEFCFA; | ? |
|
Lizard |
Отправлено: 31.05.2005, 11:41 |
|
Ученик-кочегар
Группа: Участник
Сообщений: 20
|
А я отвечал не только для Вас, но и для других читателей потому-то когда впервые сталкиваешься с AdvStrinfGrid'ом пытаешься создать красивую таблицу, но не у всем получается с первого раза, приходится тратить время на поиск, а тут сразу свойства ячейки двумя способами, может кому-нибудь и пригодится.
Объясню на примере формы: двойным кликом кликнете по свойству формы Color, появится диалог "Цвет", выбираете нужный цвет и нажмите ОК, из свойства Color копируете значение цвета, например, 0x004080FF.
Цвет формы восстанавливаете из списка свойства Color.
А еще есть вопросы по AdvStrinfGrid'у? Пиши отвечу
Отредактировано Lizard — 31/05/2005, 11:45 |
|
|