Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 2005.01.02;
Скачать: [xml.tar.bz2];

Вниз

Работа со строками в StringGrid   Найти похожие ветки 

 
ArchValentin ©   (2004-12-16 04:21) [0]

Мастера, help! кто знает как добится эффекта чтобы в стринггрид строки отображались разного цвета (одна белая, другая голубая, одна белая, другая голубая...) а то когда инфы много, читать неудобно :( ??? а может кто знает как эту проблемму решить другим путём...если не сложно, пошлите pls ответ на мыло...
Заранее благодарен.


 
Германн ©   (2004-12-16 04:25) [1]

Обрабатывай OnDrawCell. И никаких проблем не будет.


 
ArchValentin ©   (2004-12-16 19:28) [2]

...а теперь глупый вопрос: обработал, а чё дальше? как разукрашивать?


 
begin...end ©   (2004-12-16 19:32) [3]

> [2] ArchValentin ©   (16.12.04 19:28)

В обработчике OnDrawCell Вы получаете прямоугольник отрисовываемой ячейки (Rect). Закрасить его можно с помощью FillRect, вывести в нём текст можно с помощью TextRect.


 
ArchValentin ©   (2004-12-19 07:04) [4]

я такой исходничёк видел, вот толдько либо я лохонулся, либо исходник был корявый...разукрашивал красиво, а текст можно было выводить тока в первый столбик, в остальные он просто игнорировал! как лечить?
ЗЫ народ, кинте маленький пример, и мне проще, и вам не нужно будет всякую фигню писать...


 
begin...end ©   (2004-12-19 10:35) [5]

> [4] ArchValentin ©   (19.12.04 07:04)

> народ, кинте маленький пример

procedure TForm.StringGridDrawCell(Sender: TObject; ACol, ARow: Integer; Rect: TRect; State: TGridDrawState);
begin
 with (Sender as TStringGrid).Canvas do
 begin
   Brush.Color := Random($FFFFFF);
   FillRect(Rect);
   TextOut(Rect.Left, Rect.Top, Format("%d %d", [ACol, ARow]))
 end
end.


> и вам не нужно будет всякую фигню писать

Да мне, в общем-то, писать всякую фигню совсем не сложно...


 
begin...end ©   (2004-12-19 10:44) [6]

> ArchValentin

В Вашем случае, как я понял из [0], нужно менять цвет строк в зависимости от чётности номера строки, поэтому можно так, например:

procedure TForm.StringGridDrawCell(Sender: TObject; ACol, ARow: Integer;  Rect: TRect; State: TGridDrawState);
const
 ColorArray: array [False..True] of TColor = (clBlue, clWhite);
begin
 if (ACol > 0) and (ARow > 0) then
   with (Sender as TStringGrid).Canvas do
   begin
     Brush.Color := ColorArray[Odd(ARow)];
     FillRect(Rect);
     TextOut(Rect.Left, Rect.Top, Format("%d %d", [ACol, ARow]))
   end
end.


 
ArchValentin ©   (2004-12-19 18:06) [7]


> Да мне, в общем-то, писать всякую фигню совсем не сложно...

...извиняйте, никого не хотел обидеть...а вообще, спасиба, завтра попробую, счастливо



Страницы: 1 вся ветка

Форум: "Основная";
Текущий архив: 2005.01.02;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.46 MB
Время: 0.037 c
14-1102809368
Andy BitOff
2004-12-12 02:56
2005.01.02
Небольшое интервью с Кристианом Гислером (Christian Ghisler)


9-1094496510
Just3r
2004-09-06 22:48
2005.01.02
Перевод массива в текстуру


1-1103451288
idiliya
2004-12-19 13:14
2005.01.02
Как создавать thumbnails для больших изображений?


14-1102681118
Чеширский_Кот
2004-12-10 15:18
2005.01.02
Складывается ощущение, что...


3-1102058137
Ivanesus
2004-12-03 10:15
2005.01.02
Подскажите как в ХРАНИМОЙ ПРОЦЕДУРЕ выбрать уникальные записи?





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский