Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 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;



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

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

Наверх





Память: 0.46 MB
Время: 0.004 c
6-2634
Di_wind
2002-02-19 20:35
2002.05.02
Максимальный размер файла в TSmtp


1-2516
anacronix
2002-04-20 18:23
2002.05.02
Ввод текста в Edit1 в любом регистре


3-2494
spbnt
2002-04-11 14:49
2002.05.02
Журнал транзакций в ADO


1-2618
anod
2002-04-20 11:02
2002.05.02
Свойство Style TFont


4-2726
alexey1
2002-02-26 23:18
2002.05.02
win api





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский