Вниз
Скачать: 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 вся ветка

Скачать: CL | DM;



Память: 0.46 MB
Время: 0.008 c
1-2562
VEG
2002-04-18 15:44
2002.05.02
OpenDialod


3-2461
MCFire
2002-04-10 18:31
2002.05.02
Как грамотно составить TreeView из таблицы?


1-2613
Satirus
2002-04-20 15:51
2002.05.02
TreeView : LoadFromFIle( file.xml );


3-2470
Helen
2002-04-10 16:25
2002.05.02
Преобразование типа Byte к вещественному Double...


1-2528
Демон
2002-04-21 14:36
2002.05.02
Проблема с 6-ой ДЕЛФЁЙ




   Наверх