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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 15.11.2007, 15:34   #1
Dimon88
Пользователь
 
Регистрация: 18.10.2007
Сообщений: 41
По умолчанию StringGrid

Как сделать столбцы разлчиной ширины. Допустим первый столбец ширина:=20, второй:=50.
Dimon88 вне форума Ответить с цитированием
Старый 15.11.2007, 15:47   #2
Alex21
With best regards
Участник клуба
 
Регистрация: 20.04.2007
Сообщений: 1,448
По умолчанию

вот так:
Код:
form1.StringGrid1.ColWidths[1]:=10;
Alex21 вне форума Ответить с цитированием
Старый 11.02.2008, 08:06   #3
Almaas
Пользователь
 
Регистрация: 02.01.2008
Сообщений: 27
По умолчанию

Здравствуйте, не подскажете, как сделать форматирование текста в таблице при выводе в нее результатов расчета?
Т.е. мне надо, чобы выводились разным текстом:
1. надписи в фиксированных ячейках (заголовки столбцов);
2. строка ниже - как заголовок-разделитель (таких будет несколько);
3. остальные строки;
4. текст в одном из столбцов с буквенным обозначением выводимого параметра.
За ранее спасибо.
Almaas вне форума Ответить с цитированием
Старый 11.02.2008, 08:13   #4
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

что такое "Разным текстом"? Разными шрифтами и цветами?
Тогда в OnDrawCell проверяй на какой ячейке сработало событие и если это нужная ячейка ставь font и color в нужные тебе значения
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 11.02.2008, 09:18   #5
Almaas
Пользователь
 
Регистрация: 02.01.2008
Сообщений: 27
По умолчанию

Да, именно разными шрифтами и разными цветами.
У меня нет события OnDrawCell... Я заполняю таблицу по нажатию кнопки и точно знаю, в какой ячейке что будет записано. Может я чего-то недопонимаю... Не могли бы вы поподробнее объяснить?
Almaas вне форума Ответить с цитированием
Старый 11.02.2008, 10:04   #6
AlDelta
Реанимируюсь...
Участник клуба
 
Аватар для AlDelta
 
Регистрация: 19.07.2007
Сообщений: 1,445
По умолчанию

Цитата:
У меня нет события OnDrawCell...
Но это событие есть у StringGrid'a:
OnDrawCell возникает при необходимости перерисовать изображение ячейки
Пишите код так, как будто сопровождать его будет склонный к насилию психопат, который знает, где вы живёте.
Правила форума => Правила раздела => Для общего развития => Помощь студентам => Перед тем, как создавать тему, скачайте себе...
P.S.: форум не песочница (с)
название статьи на сайте MS: "Отмена принудительного отключения автоматического запуска в реестре Windows"
AlDelta вне форума Ответить с цитированием
Старый 11.02.2008, 10:19   #7
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Да, верно, присмотрись в Object Inspector на страничку СтрингГрида на его события
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 11.02.2008, 14:17   #8
Alter
Старожил
 
Аватар для Alter
 
Регистрация: 06.08.2007
Сообщений: 2,183
По умолчанию

Цитата:
Сообщение от Alex21 Посмотреть сообщение
Код:
form1.StringGrid1.ColWidths[1]:=10;
Вобщето в Таблицах строки и столбцы нумеруются с Нуля.
Поэтому так:
Код:
StringGrid1.ColWidths[0] := 10;
___________________________________ ______________________________
Как красить ячейки, есть на форуме.
Alter вне форума Ответить с цитированием
Старый 11.02.2008, 15:56   #9
Almaas
Пользователь
 
Регистрация: 02.01.2008
Сообщений: 27
По умолчанию

Господа, простите, но я не понимаю, что делать...
Ну создал я процедуру (в конце программы):

Код:
procedure TForm1.StringGrid1DrawCell(Sender: TOobgect; ACol, ARow: integer;
    Rect: Trect; State: TGridDrawState);
begin
 if (ACol=0) and (ARow=1) then
  TStringGrid(Sender).Font.Color:=clRed;
end;
Запускаю программу - ничего не происходит. Текст в первом столбце второй строки как был черным, так таким и остался...

Последний раз редактировалось Almaas; 11.02.2008 в 16:14.
Almaas вне форума Ответить с цитированием
Старый 11.02.2008, 16:17   #10
alexBlack
Участник клуба
 
Регистрация: 12.10.2007
Сообщений: 1,204
По умолчанию

А дальше ? С цветом определились. Теперь нужно нарисовать:

Код:
procedure TForm1.StringGrid1DrawCell(Sender: TObject; Col, Row: Integer;
  Rect: TRect; State: TGridDrawState);
begin
  if (Col=0) and (Row=1) then begin
     TStringGrid(Sender).Font.Color:=clRed;
     TStringGrid(Sender).Canvas.TextOut(2, 2, 'aaaaa');


  end;
end;
Кстати, что это в условиях используется присвоение вместо равенста ?
alexBlack вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
StringGrid Devikss Общие вопросы Delphi 8 25.05.2008 16:14
StringGrid MAcK Общие вопросы .NET 2 31.03.2008 11:40
StringGrid bart77 Помощь студентам 9 27.04.2007 09:35
StringGrid dj jo Компоненты Delphi 2 15.02.2007 07:47
Код 13 и stringGrid Alar Общие вопросы Delphi 1 08.02.2007 22:44