• 15 апреля стартует «Курс «SQL-injection Master» ©» от команды The Codeby

    За 3 месяца вы пройдете путь от начальных навыков работы с SQL-запросами к базам данных до продвинутых техник. Научитесь находить уязвимости связанные с базами данных, и внедрять произвольный SQL-код в уязвимые приложения.

    На последнюю неделю приходится экзамен, где нужно будет показать свои навыки, взломав ряд уязвимых учебных сайтов, и добыть флаги. Успешно сдавшие экзамен получат сертификат.

    Запись на курс до 25 апреля. Получить промодоступ ...

Встраивание объектов в ячейки Stringgrid

  • Автор темы Guest
  • Дата начала
Статус
Закрыто для дальнейших ответов.
G

Guest

У меня такой небольшой вопросик.

На форме расположен StringGrid. Я создаю динамически CheckBox и вставляю его в одну из ячеек StringGrida. Но при нажатии на нем он не реагирует на события. Почему это может происходить?

Если просто создавать динамически CheckBox на форме то все реагирует.

Вот такой код:
Код:
//--------------------------------------------------------------------------
//Обработчик сообытия нажатия 
void __fastcall TForm1::ClickCheck(TObject *Sender)
{
//Вообщем что нить чтобы увидеть что всетаки нажалось
Label1->Caption = IntToStr(StrToInt(Label1->Caption) + 1);
}
//--------------------------------------------------------------------------
__fastcall TForm1::TForm1(TComponent* Owner)
: TForm(Owner)
{
TRect Rect;

TCheckBox *Check1 = new TCheckBox(this);

Check1->Visible = false;
Check1->Width =0;
Check1->Caption = "Ok";
Check1->Parent = StringGrid1;
Check1->Color = clLime;
Check1->Checked = true;
Check1->Enabled = true;

Rect = StringGrid1->CellRect(1, 1);
Check1->Left = Rect.Left;
Check1->Top = Rect.Top;
Check1->Width = Rect.Right - Rect.Left;
Check1->Height = Rect.Bottom - Rect.Top;
Check1->OnClick = ClickCheck;

Check1->Visible = true;

StringGrid1->Objects[1][1] = Check1;
}
//--------------------------------------------------------------------------
 
G

Guest

Что неужели не кто не сталкивался?
Куда делись блатные программеры?
 
E

EugenOS

года два назад решал эту проблему, в конце концов решил, сейчас не очень помню как. В понедельник, на работе поищу, в архивах должно валяться. Работало, но все равно остались глюки. попробуй для "чека" еще и овнера задать.
намного проще такие вещи делаются с TDrawGrid.
 
Статус
Закрыто для дальнейших ответов.
Мы в соцсетях:

Обучение наступательной кибербезопасности в игровой форме. Начать игру!