Форум: "Основная";
Поиск по всему сайту: delphimaster.net;
Текущий архив: 2002.05.02;
Скачать: [xml.tar.bz2];




Вниз

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;




Форум: "Основная";
Поиск по всему сайту: delphimaster.net;
Текущий архив: 2002.05.02;
Скачать: [xml.tar.bz2];




Наверх





Память: 0.73 MB
Время: 0.021 c
1-2618            anod                  2002-04-20 11:02  2002.05.02  
Свойство Style TFont


14-2681           Malder                2002-03-25 13:03  2002.05.02  
Книга Архангельский А.Я.


3-2489            Николай Бондаренко    2002-04-11 12:15  2002.05.02  
ADO и Oracle (как ускорить установление соединения с БД)


1-2515            LiNkS                 2002-04-20 23:30  2002.05.02  
Новые компоненты убирают старые....


3-2440            AlanB                 2002-04-09 11:09  2002.05.02  
Не работает программа под WinXP