![]() |
|
|
|||||||
| Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
![]() |
|
|
Опции темы | Поиск в этой теме | Опции просмотра |
|
|
|
#1
|
|||
|
|||
|
Скажите пожалуйста как программно можно закрасить ячейку DrawGrid в чёрный цвет и нажатием на неё мышкой????
|
|
#2
|
|||
|
|||
|
Проверяем на нажатие:
Код:
procedure TForm1.StringGrid2MouseDown(Sender: TObject;
Button: TMouseButton; Shift: TShiftState; X, Y: LongInt);
begin
try
if (X >= StringGrid1.Selection.Left) and (X <= StringGrid1.Selection.Right) and
(Y >= StringGrid1.Selection.Top) and (Y <= StringGrid1.Selection.Bottom) then
//можно записать в эту ячейку символ, ну или по желанию. Ты сам придумаешь че туда записать ;)
except
end;
end;Допустим нажали... Разрисовываем ячейку в которой, например находятся буквы "ЗЮ" Код:
procedure TForm1.StringGrid1DrawCell(Sender: TObject; ACol, ARow: Integer; Rect: TRect; State: TGridDrawState);
begin
if (ACol > 'ЗЮ') and (ARow > 'ЗЮ') then begin //в этой строке мог ошибиться!
StringGrid1.Canvas.Brush.color := clblack;
//Закрашиваем бэкграунд ячейки
StringGrid1.Canvas.FillRect(Rect);
//Если надо, то рисуем что-то на ней, например текс, который находится в ячейке.
StringGrid1.Canvas.TextOut(Rect.Left, Rect.Top, StringGrid1.Cells[ACol, ARow]);
end;
end;
Только переделай на DrawGrid Последний раз редактировалось ~ SaM ~, 09.01.2008 в 22:35. |
|
#3
|
|||
|
|||
|
Проверяем на нажатие:
Код:
procedure TForm1.StringGrid2MouseDown(Sender: TObject;
Button: TMouseButton; Shift: TShiftState; X, Y: LongInt);
begin
try
if (X >= StringGrid1.Selection.Left) and (X <= StringGrid1.Selection.Right) and
(Y >= StringGrid1.Selection.Top) and (Y <= StringGrid1.Selection.Bottom) then
//можно записать в эту ячейку символ, ну или по желанию. Ты сам придумаешь че туда записать ;)
except
end;
end;Допустим нажали... Разрисовываем ячейку в которой, например находятся буквы "ЗЮ" Код:
procedure TForm1.StringGrid1DrawCell(Sender: TObject; ACol, ARow: Integer; Rect: TRect; State: TGridDrawState);
begin
if (ACol > 'ЗЮ') and (ARow > 'ЗЮ') then begin //в этой строке мог ошибиться!
StringGrid1.Canvas.Brush.color := clblack;
//Закрашиваем бэкграунд ячейки
StringGrid1.Canvas.FillRect(Rect);
//Если надо, то рисуем что-то на ней, например текс, который находится в ячейке.
StringGrid1.Canvas.TextOut(Rect.Left, Rect.Top, StringGrid1.Cells[ACol, ARow]);
end;
end;
Только переделай на DrawGrid ![]() Последний раз редактировалось ~ SaM ~, 09.01.2008 в 22:35. |