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

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

Вернуться   Форум программистов > Delphi программирование > Компоненты Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

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

Ответ
 
Опции темы Поиск в этой теме
Старый 03.12.2007, 18:26   #1
Иринкаа
Пользователь
 
Регистрация: 11.11.2007
Сообщений: 44
По умолчанию StringGrid - длина заголовка

Я задаю названия строк, столбцов через обработчик события формы OnCreate.
И у меня получается так, что целиком заголовок не виден. Т.е. в компоненте StringGrid под заголовок отведена определенная длина. Как это изменить? Чтобы отображались длинные заголовки?

Можно ли задавать заголовки не программно?
Подскажите плиз.
Иринкаа вне форума Ответить с цитированием
Старый 03.12.2007, 18:37   #2
_Dmitry
Участник клуба
 
Аватар для _Dmitry
 
Регистрация: 02.09.2007
Сообщений: 1,193
По умолчанию

Как я понял, нужно изменить ширину столбца:
StringGrid1.ColWidths[3]:=200;
Изменить ширину всех столбцов:
StringGrid1.DefaultColWidth:=200;
_Dmitry вне форума Ответить с цитированием
Старый 03.12.2007, 18:45   #3
Alex21
With best regards
Участник клуба
 
Регистрация: 20.04.2007
Сообщений: 1,448
По умолчанию

Напримере такой вариант. Задаете ширину заголовков вручную:
Код:
form1.StringGrid1.Cells[0,0]:='qwertyuiopasdf';
Form1.StringGrid1.ColWidths[0]:=100;
или делаете возможным изменять ширину мышкой:
Код:
Form1.StringGrid1.Options:=[goFixedVertLine,
                            goFixedHorzLine,
                            goVertLine,
                            goHorzLine,
                            goRangeSelect,
                            goRowSizing,
                            goColSizing];
за это отвечает свойство goColSizing.
Alex21 вне форума Ответить с цитированием
Старый 03.12.2007, 18:52   #4
Иринкаа
Пользователь
 
Регистрация: 11.11.2007
Сообщений: 44
По умолчанию

Цитата:
Сообщение от Alex21 Посмотреть сообщение
Напримере такой вариант. Задаете ширину заголовков вручную:
Код:
form1.StringGrid1.Cells[0,0]:='qwertyuiopasdf';
Form1.StringGrid1.ColWidths[0]:=100;
или делаете возможным изменять ширину мышкой:
Код:
Form1.StringGrid1.Options:=[goFixedVertLine,
                            goFixedHorzLine,
                            goVertLine,
                            goHorzLine,
                            goRangeSelect,
                            goRowSizing,
                            goColSizing];
за это отвечает свойство goColSizing.
goColSizing позволяет изменить ширину (высоту), а не длину
Иринкаа вне форума Ответить с цитированием
Старый 03.12.2007, 19:04   #5
Alex21
With best regards
Участник клуба
 
Регистрация: 20.04.2007
Сообщений: 1,448
По умолчанию

Цитата:
Сообщение от Иринкаа Посмотреть сообщение
goColSizing позволяет изменить ширину (высоту), а не длину
StringGrid состоит только из ячеек, "шапка" и "боковина" - теже ячейки, только в другом отображении.
Какую длину вы хотите изменить?
Alex21 вне форума Ответить с цитированием
Старый 03.12.2007, 19:14   #6
mihali4
*
Старожил
 
Регистрация: 22.11.2006
Сообщений: 9,201
По умолчанию

Цитата:
Сообщение от Иринкаа
goColSizing позволяет изменить ширину (высоту), а не длину
goRowSizing - изменение высоты строки (ширины у нее нет, по физическому смыслу), goColSizing - изменение ширины столбца (высоты у него нет, по физическому смыслу).
mihali4 вне форума Ответить с цитированием
Старый 03.12.2007, 19:15   #7
Иринкаа
Пользователь
 
Регистрация: 11.11.2007
Сообщений: 44
По умолчанию

Цитата:
Сообщение от Alex21 Посмотреть сообщение
StringGrid состоит только из ячеек, "шапка" и "боковина" - теже ячейки, только в другом отображении.
Какую длину вы хотите изменить?
надо изменить длину именно "шапки" и "боковины" - т.е. заголовки очень длинные у меня
данные же в ячейках будут числовые, короткие
Иринкаа вне форума Ответить с цитированием
Старый 03.12.2007, 19:22   #8
Alex21
With best regards
Участник клуба
 
Регистрация: 20.04.2007
Сообщений: 1,448
По умолчанию

Изменять можно только ширину всей (!) колонки.
Возможно есть смысл экспериментировать с многострочной шапкой?

Вот например:
Код:
procedure TForm1.StringGrid1DrawCell(Sender: TObject; ACol, ARow: Integer;
  Rect: TRect; State: TGridDrawState);
begin
 s := 'Hello world1! Hello world2! Hello world3! Hello world4!';
 DrawText(StringGrid1.Canvas.Handle,PChar(s),length(s),Rect,DT_WORDBREAK);
end;
Alex21 вне форума Ответить с цитированием
Старый 03.12.2007, 19:28   #9
Иринкаа
Пользователь
 
Регистрация: 11.11.2007
Сообщений: 44
По умолчанию

Получается изменять ширину заголовков столбцов
А мне нужно изменить ширину заголовков строк - подписи сбоку
Иринкаа вне форума Ответить с цитированием
Старый 04.12.2007, 01:39   #10
mihali4
*
Старожил
 
Регистрация: 22.11.2006
Сообщений: 9,201
По умолчанию

Цитата:
Сообщение от Иринкаа Посмотреть сообщение
Получается изменять ширину заголовков столбцов
А мне нужно изменить ширину заголовков строк - подписи сбоку
Подписи сбоку - это ширина нулевого столбца.
mihali4 вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Длина слова IGoDoVaN Общие вопросы Delphi 14 12.06.2008 08:04
Форма без заголовка Михаил Юрьевич Общие вопросы Delphi 1 29.02.2008 21:40
длина массива skif93 Microsoft Office Excel 2 24.11.2007 11:45
Длина множества ElenaA Общие вопросы Delphi 1 02.07.2007 12:10
Шрифт заголовка Elena БД в Delphi 9 31.05.2007 13:30