Отправляет email-рассылки с помощью сервиса Sendsay

RFpro.ru: СУБД и Delphi/Lazarus

  Все выпуски  

RusFAQ.ru: СУБД и Delphi


РАССЫЛКИ ПОРТАЛА RUSFAQ.RU

/ КОМПЬЮТЕРЫ И ПО / Языки программирования / СУБД и Delphi

Выпуск № 205
от 18.09.2006, 19:05

Администратор:CJ
В рассылке:Подписчиков: 257, Экспертов: 36
В номере:Вопросов: 1, Ответов: 1


Вопрос № 55325: Помогите решить проблему. По данным из БД строится StringGrid. Ячейки закрашиваются и в них заносятся значения в зависимости от значений атрибутов. Но при закраске ячеек из всех них пропадают значения кроме верхней левой. ...

Вопрос № 55.325
Помогите решить проблему. По данным из БД строится StringGrid. Ячейки закрашиваются и в них заносятся значения в зависимости от значений атрибутов. Но при закраске ячеек из всех них пропадают значения кроме верхней левой.

Приложение:

Отправлен: 13.09.2006, 18:41
Вопрос задал: Daft82 (статус: Посетитель)
Всего ответов: 1
Мини-форум вопроса >>> (сообщений: 1)

Отвечает: Маренич Владимир
Здравствуйте, Daft82!

Посмотрите внимательно на строки в процедуре TFormPreview.StringGrid1DrawCell:
......
for i:=0 to (Sender as TStringGrid).Col do
for j:=0 to (Sender as TStringGrid).row do
begin
......
end;
......
У Вас прорисовка текста происходит от ячейки [0,0] до текущей ячейки.
Не нужно это делать в цикле. Отрисовывайте только одну ячейку!

.....
(Sender as TStringGrid).Canvas.FillRect(rect);
for i:=0 to (Sender as TStringGrid).Col do
for j:=0 to (Sender as TStringGrid).row do
begin
area:=Rect; //Вам в событие уже передают участок, который нужно прорисовать
(Sender as TStringGrid).Canvas.TextRect(area,area.X,area.Y,(Sender as TStringGrid).Cells[ACol,ARow]);
end;
(Sender as TStringGrid).Canvas.DrawFocusRect(rect);
end;

end.
Ответ отправил: Маренич Владимир (статус: Студент)
Ответ отправлен: 13.09.2006, 18:57
Оценка за ответ: 5
Комментарий оценки:
Спасибо. Уже сам разобрался.


Отправить вопрос экспертам этой рассылки

Приложение (если необходимо):

* Код программы, выдержки из закона и т.п. дополнение к вопросу.
Эта информация будет отображена в аналогичном окне как есть.

Обратите внимание!
Вопрос будет отправлен всем экспертам данной рассылки!

Для того, чтобы отправить вопрос выбранным экспертам этой рассылки или
экспертам другой рассылки портала RusFAQ.ru, зайдите непосредственно на RusFAQ.ru.


Форма НЕ работает в почтовых программах The BAT! и MS Outlook (кроме версии 2003+)!
Чтобы отправить вопрос, откройте это письмо в браузере или зайдите на сайт RusFAQ.ru.


© 2001-2006, Портал RusFAQ.ru, Россия, Москва.
Идея, дизайн, программирование: Калашников О.А.
Email: adm@rusfaq.ru, Тел.: +7 (926) 535-23-31
Авторские права | Реклама на портале
Версия системы: 4.36 от 06.09.2006
Яндекс Rambler's Top100

В избранное