Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2002.05.02;
Скачать: CL | DM;

Вниз

TStringGrid.Objects   Найти похожие ветки 

 
roman001   (2002-04-18 18:32) [0]

Прочитал в Helpe про св-во Objects для каждой ячейки StringGrid.
По моему разумению значит, что в лубую ячейку можно вставить любой объект????? Да бог с ним с любым, не пожалейте кусок кода, которым можно вставить туда например CheckBox, а то я замаялся


 
Reindeer Moss Eater   (2002-04-18 18:53) [1]


StringGrid1.Objects[0,0]:=CheckBox1;


PS надеюсь ты не ожидаешь увидеть после этого checkbox в ячейке (0.0)?


 
Wasp ©   (2002-04-18 19:01) [2]

Здесь речь идет не о том, что привязав любой объект к ячейке, вы тут же увидите этот объект внутри ячейки. Массив Objects - это просто указатели и все. Для прорисовки, скажем CheckBox, привязанного к ячейке[m,n], вам надо повесить обработчик на OnDrawCell и в нем вызвать

if ACol=m and ARow=n then
SG1.(Objects as TWinControl).PaintTo(SG1.Canvas.Handle,Rect.Left,Rect.Top);


 
roman001   (2002-04-18 19:17) [3]

Вообщето именно checkboxа в ячейке я и ожидал, а иначе какой смысл?


 
Wasp ©   (2002-04-18 19:29) [4]

Основная задача StringGrid"а отображать текстовые данные, а уж от степени мастерства программиста зависит дополнительная функциональность. Кстати, в хелпе ни слова ни сказано о том, что Objects как-то отображаются, они просто привязаны к ячейке, причем не косвенно (черезы индексы в массивах) и эти объекты можно использовать, но делать это должен сам программист.


 
roman001   (2002-04-18 19:42) [5]

Вообщето именно checkboxа в ячейке я и ожидал, а иначе какой смысл?
SG1.(Objects as TWinControl).PaintTo SG1.Canvas.Handle,Rect.Left,Rect.Top); - не компилиться,

(SG1.Objects[1,1] as TCheckBox).PaintTo(SG1.Canvas.Handle,Rect.Left,Rect.Top); - компилиться, но в run time дает AccessViolation.


 
Wasp ©   (2002-04-18 20:02) [6]

Я надеюсь, вы понимаете, что этот checkbox (т.е. Objects[1,1]) должен быть создан где-нибудь, скажем в конструкторе формы

procedure TForm1.FormCreate(Sender: TObject);
begin
with SG1 do
begin
Objects[1,1] = TCheckBox1.Create(NIL);
end;
end;



Страницы: 1 вся ветка

Текущий архив: 2002.05.02;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.011 c
4-2722
Rail
2002-02-27 12:45
2002.05.02
Удаленное соединение


1-2501
Serguar
2002-04-18 13:38
2002.05.02
Работа с перечислимыми типами


14-2649
Praco
2002-03-26 11:52
2002.05.02
Где взять EhLib для Delphi 3 ?


1-2543
Stexen
2002-04-18 17:59
2002.05.02
Регистрация файлов в реестре


3-2441
SB.John
2002-04-10 08:15
2002.05.02
Визуальные компоненты для работы с данными