Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Работа с компонентом 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 !?


Наверх

Титульная страница Поиск, карта сайта Написать письмо