![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Работа с компонентом StringGrid [D5]
Nikson © (2002-08-12 12:55:00)Ответьте, пожалуйста, на глупый вопрос - для выделения группы ячеек в компоненте StringGrid другим цветом создаю тип TGridrect:
type TGridCoord = record
X: Longint;
Y: Longint;
end;
type TGridRect = record
case Integer of
0: (Left, Top, Right, Bottom: Longint);
1: (TopLeft, BottomRight: TGridCoord);
end;
property Selection: TGridRect;
но компилятор ругается на строчку:
property Selection: TGridRect;
мол ожидается Declaration а найдено PROPERTY.
Далее программа имеет вид:
procedure TForm3.Button1Click(Sender: TObject);
var
myRect: TGridRect;
begin
myRect.Left := 3;
myRect.Top := 1;
myRect.Right := 2;
myRect.Bottom := 4;
Form4.StringGrid1.Selection := myRect;
end;
компилятор указывает на несоответствие типов в строке:
Form4.StringGrid1.Selection := myRect;
В чем тут дело?
sudiv (2002-08-17 13:30:00) [1]Некоторая область определяется какими-то условиями,
определяй и OnDrawDataCell если не ошибаюсь.
Nikson (2002-08-17 12:52:00) [2]>Skier
Возможно ли оставить некоторую область выделенной при изменении фокусировки?
Skier (2002-08-15 15:42:00) [3]>Nikson
Бывает :)
Nikson (2002-08-15 15:40:00) [4]Извини, Skier,что морочил тебе голову, просто я по глупости в uses забыл прописать Grids, а теперьо все нормально тип TgridRect действительно нафиг не нужен
Skier (2002-08-15 14:07:00) [5]>Nikson
Покажи код перввоначальной версии...
Nikson (2002-08-15 14:04:00) [6]Спасибо Skier!!!
Однако еще вопрос в перввоначальной версии у меня никакого TGridRect не было и компилятор на строку:
myRect: TGridRect;
говорил мол TGridRect - неизвестный тип
Skier (2002-08-15 13:53:00) [7]>Nikson
Свой TGridRect удали не нужен он...
или так (если не удалять) :
procedure TForm1.Button2Click(Sender: TObject);
var
myRect: Grids.TGridRect;
begin
myRect.Left := 3;
myRect.Top := 1;
myRect.Right := 2;
myRect.Bottom := 4;
StringGrid1.Selection := myRect;
end;
Nikson (2002-08-15 13:46:00) [8]Тогда получается невозможно привести в соответствие типы в строке:
Form4.StringGrid1.Selection := myRect;
Skier (2002-08-15 12:02:00) [9]>Nikson
> ...переопределить свойство Selection
Нет. Т.к. GetSelection и SetSelection "лежат"
в разделе private.
> или просмотреть код этого класса
VCL вообще-то поставляется и исходными текстами :)
Nikson (2002-08-15 11:56:00) [10]Возможно ли как нибудь переопределить свойство Selection в классе TStringGrid или просмотреть код этого класса
Skier (2002-08-12 13:00:00) [11]>Nikson
Если ты так прямо и пишешь property Selection: TGridRect;
(не в классе) то - ЧЕГО ЖЕ ТЫ ХОТИШЬот Delphi !?