Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 21.12.2009, 10:32   #1
Mutagena
Пользователь
 
Регистрация: 06.10.2009
Сообщений: 39
По умолчанию Многострочный вывод в StringGrid

Подскажите, можно ли ка-нибудь осуществить многострочный вывод в ячейки StringGrid? Если нет, тогда какой альтернативный компонент для этого подходит?
Mutagena вне форума Ответить с цитированием
Старый 21.12.2009, 12:43   #2
Mutagena
Пользователь
 
Регистрация: 06.10.2009
Сообщений: 39
По умолчанию

Была бы благодарна, если бы кто-нибудь подсказал как это осуществить.
Mutagena вне форума Ответить с цитированием
Старый 21.12.2009, 12:48   #3
Скарам
Дружите с Linq ;)
Форумчанин
 
Аватар для Скарам
 
Регистрация: 15.10.2008
Сообщений: 823
По умолчанию

ну во первых поясните что Вы имеете в виду,когда говорите о многострочном выводе...(что Вы выводите? массив или,например,текстовый файл.Какую цель приследуете?).Ну и укажите язык программирования,на котором сие надо исполнить.
Не давай организму поблажки, каждый день тренируй его в шашки..
Скарам вне форума Ответить с цитированием
Старый 21.12.2009, 13:31   #4
Mutagena
Пользователь
 
Регистрация: 06.10.2009
Сообщений: 39
По умолчанию

Delphi 7.
Ну, допустим, в ячейке должна выводиться строка. Когда строка будет достаточно длинная, вывод будет происходить с несколько строк.
Mutagena вне форума Ответить с цитированием
Старый 21.12.2009, 14:35   #5
eoln
Старожил
 
Аватар для eoln
 
Регистрация: 26.04.2008
Сообщений: 2,645
По умолчанию

Выводит по N символов в строчку.
Код:
procedure TForm1.StringGrid1DrawCell(Sender: TObject; ACol, ARow: Integer;
  Rect: TRect; State: TGridDrawState);
const
  N = 5;
var
  st: string;
  kol_vo_strok, dl, i: integer;
begin
  StringGrid1.Canvas.FillRect(Rect);
  for i := 1 to length(StringGrid1.Cells[ACol, ARow]) div n + 1 do
  begin
    st := copy(StringGrid1.Cells[ACol, ARow], 1 + n * (i - 1), n);
    StringGrid1.Canvas.TextOut(Rect.Left, Rect.Top - (i - 1) * StringGrid1.Canvas.Font.Height, st)
  end
end;
З.Ы. Для выравнивания можно использовать свойство TextWidth и переносить строку как только кусок оказывается длиннее ширины колонки, но это всего лишь пример.
eoln вне форума Ответить с цитированием
Старый 21.12.2009, 15:45   #6
Mutagena
Пользователь
 
Регистрация: 06.10.2009
Сообщений: 39
По умолчанию

Так это в одной ячейке будет несколько строк или нет?
Mutagena вне форума Ответить с цитированием
Старый 21.12.2009, 16:45   #7
eoln
Старожил
 
Аватар для eoln
 
Регистрация: 26.04.2008
Сообщений: 2,645
По умолчанию

Цитата:
Сообщение от Mutagena Посмотреть сообщение
Так это в одной ячейке будет несколько строк или нет?
Так проверьте и да будет так
eoln вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Вывод из StringGrid program123 Общие вопросы Delphi 1 16.06.2009 22:43
Вывод числа в stringGrid Rusl92 Общие вопросы Delphi 1 19.10.2008 17:48
Вывод на печать StringGrid таблицу Македонский Общие вопросы Delphi 3 06.11.2007 01:21
Вывод столбцов StringGrid в Edit ***СкаЙ*** Помощь студентам 1 04.05.2007 08:16