Форум: "Основная";
Текущий архив: 2004.05.23;
Скачать: [xml.tar.bz2];
ВнизРаскраска StringGrid-а Найти похожие ветки
← →
killer © (2004-05-06 14:13) [0]В событии StringGrid-а DrawCell раскрашиваю StringGrid... а как мне узнать цвет другой какойнибудь уже прорисованной ячейки (над ней которая)?
StringGrid1.Canvas.Brush.Color:=...;
StringGrid.Canvas.FillRect(Rect);
SetBkMode(Handle, TRANSPARENT);
SetTextAlign(Handle, TA_LEFT);
StringGrid.Canvas.TextOut(Rect.Left+2, Rect.Top+2, StringGrid.Cells[ACol, ARow]);
← →
pasha_golub © (2004-05-06 14:20) [1]Так ты ж ее раскрашиваешь. Полосатость нужна?
Если да:
procedure XXX.DrawCell(...);
begin
with Sender as Tstringgrdid do
begin
if Odd(ARow) then
Brush.Canvas.Color := clRed
else
Brush.Canvas.Color := clGreen;
...
end;
end;
← →
killer © (2004-05-06 14:28) [2]у меня что-то вылетает на строке
Brush.Canvas.Color := clRed;
← →
killer © (2004-05-06 14:28) [3]пишет: [Error] Unit1.pas(40): Undeclared identifier: "Canvas"
← →
Mim1 © (2004-05-06 14:30) [4]а ты brush и canvas местами поменяй.
← →
TUser © (2004-05-06 14:31) [5]Canvas.Brush
Наверное лучше запоминать, какую ячейку ты покрасил в какой цвет.
← →
killer © (2004-05-06 14:36) [6]TUser Мне кажется можно в массиве сохранять... :)))
← →
TUser © (2004-05-06 14:39) [7]Это и называется - запомнить.
← →
pasha_golub © (2004-05-06 14:44) [8]Ой, да ошибся. :-)
← →
killer © (2004-05-06 15:07) [9]pasha_golub а так посмотреть каким цветом ячейка над этой ячейкой нельзя... да?
← →
pasha_golub © (2004-05-06 15:20) [10]killer © (06.05.04 15:07) [9]
Тебе полосатость нужна? Или нет?
if Odd(ARow) then
showmessage("clRed")
else
showmessage("clGreen")
← →
killer © (2004-05-06 17:09) [11]pasha_golub Да... но в зависимости от данных в таблице... т.е. 1 и 2 и 3 могут быть вподрят быть закрашеными...
← →
[lamer]Barmaglot © (2004-05-06 17:17) [12]так в чем проблема?
if uslovie = 1 then Brush.Canvas.Color := clRed;
if uslovie = 2 then Brush.Canvas.Color := clGreen;
и т.д....
← →
killer © (2004-05-06 17:27) [13]это-то понятно.. но мне надо какраз закрасить тем цветом который над яцейкой... одну строку... а потом в зависимости от данных следующую... :)))
← →
begin...end © (2004-05-06 17:38) [14]> killer
Ну если тебе нужен именно цвет определённой ячейки (хотя я так и не понял, зачем), то попробуй так (за правильность не ручаюсь):
function GetColor(ColNumber, RowNumber: Integer): TColor;
var
Rect: TRect;
begin
Rect := StringGridName.CellRect(ColNumber, RowNumber);
Result := StringGridName.Canvas.Pixels[Rect.Left + 2, Rect.Top + 2];
end;
Страницы: 1 вся ветка
Форум: "Основная";
Текущий архив: 2004.05.23;
Скачать: [xml.tar.bz2];
Память: 0.47 MB
Время: 0.039 c