C++ Builder
| Главная | Уроки | Статьи | FAQ | Форум | Downloads | Литература | Ссылки | RXLib | Диски |

 
Помогите с редактором, Вывести ин-юв два столбика
Parasit
Отправлено: 21.02.2007, 11:01


Дежурный стрелочник

Группа: Участник
Сообщений: 68



Допустим есть информация:

первое значение
второе значение

третье значение
четвёртое значение

надо в любой компонент типа МЕмо и РичЕдит

вывести чтоб получилось в нём как бы два столбика

______________________________________________

первое значение.......................третье значение
вт-е значение............................четвёртое значение


______________________________________________



тоесть надо выстроить красиво


Если есть идеи то пожалуйста всё по проще (чтоб я понял:) )

Отредактировано Parasit — 21.02.2007, 11:02
Arsa
Отправлено: 21.02.2007, 11:31


Дежурный стрелочник

Группа: Участник
Сообщений: 77



В таком случае лучше воспользоваться TLisтView на вкладке Вин32, если мне память не изменяет ...

Отредактировано Arsa — 21.02.2007, 11:32
Valdemar
Отправлено: 21.02.2007, 14:27


Мастер участка

Группа: Участник
Сообщений: 433



Можно форматировать строки с помощью функций типа sprintf, а потом эти строки выводить в Memo. И использовать моноширинный шрифт чтобы все было ровно.
Termi_uc
Отправлено: 21.02.2007, 16:45


Дежурный стрелочник

Группа: Участник
Сообщений: 61



А простой TStringGrid не подойдёт?
Parasit
Отправлено: 21.02.2007, 17:13


Дежурный стрелочник

Группа: Участник
Сообщений: 68



Пример как работает есл моно smile.gif


дело в том что значений может быть больше чем размер окошка
и при опускании стрелки вниз надо чтоб значения двигались паралельно
Termi_uc
Отправлено: 21.02.2007, 17:44


Дежурный стрелочник

Группа: Участник
Сообщений: 61



Опускании стрелки чего? Скролбара?
И в TMemo и в TStringGrid, и в TLisтView значения двигаются паралельно.

Если берёш TStringGrid, то чтобы значение небыло больше окошка, пользуй
CODE
void __fastcall TForm1::StringGrid1DrawCell(TObject *Sender, int ACol,
     int ARow, TRect &Rect, TGridDrawState State)
{
if(StringGrid1->Canvas->TextWidth(StringGrid1->Cells[ACol][ARow]) >
   StringGrid1->ColWidths[ACol])
 StringGrid1->ColWidths[ACol] =
  StringGrid1->Canvas->TextWidth(StringGrid1->Cells[ACol][ARow]) + 10/*Запас*/;
}
//---------------------------------------------------------------------------
//Так провериш, что работает
void __fastcall TForm1::Button1Click(TObject *Sender)
{
StringGrid1->Cells[0][0] = "asdf asdfas df  slkdfj asdkljf";
}
//---------------------------------------------------------------------------

Вернуться в Вопросы программирования в C++Builder