Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2007.08.12;
Скачать: CL | DM;

Вниз

крашенный stringgrid   Найти похожие ветки 

 
bagos ©   (2007-07-19 22:37) [0]

крашу ячейки в гриде
For i:=2 to 29 do
 begin
   Rect := StringGrid1.CellRect(I, 1);
   StringGrid1.Canvas.Brush.Color := color_1;
   StringGrid1.Canvas.FillRect(Rect);
 end;


при разрешении 1280X1024 в котором я собственно работаю все нормально, принес к заказчику, врубаю у него разрешение 1024X768,сразу появился глюк с прорисовкой ячеек, начали закрашиваться другие ячейки,как решить эту проблему?

еще вопрос: покрасил и каждый раз когда делаю форму неактивной а потом активной то весь грид перерисовывается,можно этого избежать,как?

Спасибо за помощь


 
Loginov Dmitry ©   (2007-07-19 22:45) [1]

Через одно место ты эти ячейки-то красишь!
Думаешь зря разработчики Delphi предоставили возможность обработать событие OnDrawCell?


 
bagos ©   (2007-07-19 22:46) [2]

Loginov Dmitry, дык через него и крашу :)


 
sniknik ©   (2007-07-19 23:04) [3]

> Loginov Dmitry, дык через него и крашу :)
и из какой буквы приведенного кода это видно? или это между букв? т.к. проход в цикле это явно по ячейкам чего в событии отрисовки одной ячейки трудно себе представить.

> можно этого избежать,как?
обрабатывать событие OnDrawCell... правильно обрабатывать, как предусматривалось разработчиками.


 
bagos ©   (2007-07-20 00:27) [4]

если честно, то так и не могу разобраться как правильно красить ячейки.
Или имееца ввиду красить каждую отдельно без циклов, но это геморой покрасить сотни ячеек по одной, Мне кажетсяя чего то недопонимаю...
Прошу подсказать как "правильно обрабатывать"


 
Kostafey ©   (2007-07-20 00:39) [5]

const Rect: TRect;

В области Rect и есть ячейка.


> Или имееца ввиду красить каждую отдельно без циклов, но
> это геморой покрасить сотни ячеек по одной

Задаем какое-то условие.
Например, по столбцам такие-то цвета или по значениям записей,
номерам строк, да как угодно.


 
Anatoly Podgoretsky ©   (2007-07-20 00:49) [6]

> bagos  (20.07.2007 00:27:04)  [4]

Циклы не нужны, обработчик вызывается для каждой отдельной ячейки.


 
sniknik ©   (2007-07-20 00:58) [7]

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


 
Германн ©   (2007-07-20 02:37) [8]


> bagos ©   (20.07.07 00:27) [4]
>
> если честно, то так и не могу разобраться как правильно
> красить ячейки.
>

Вот эт точно!
Налицо - полное непонимание принципов отрисовки окон Windows.



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

Текущий архив: 2007.08.12;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.024 c
1-1180699210
DevilDevil
2007-06-01 16:00
2007.08.12
Frame.OldCreateOrder,PixelsPerInch,TextHeight. Откуда?


3-1177508561
DelphiLexx
2007-04-25 17:42
2007.08.12
DBGrid и опция dgEditing


2-1184748455
Groza
2007-07-18 12:47
2007.08.12
Как поменять метку диска с помощью Delphi?


15-1184418835
Anatoly Podgoretsky
2007-07-14 17:13
2007.08.12
Московский потоп


2-1184159539
Dr. Andrew
2007-07-11 17:12
2007.08.12
Как корректно переконвертировать PWideChar в WideString?