Ортодокс |
Отправлено: 02.07.2006, 00:00 |
|
Ученик-кочегар
Группа: Участник
Сообщений: 4
|
Как вообще создаётся таблица (типа StringGrid), где определённые ячейки представляют собой различные объекты, например ComboBox, CheckBox? |
|
ShibaOn |
Отправлено: 02.07.2006, 06:15 |
|
Дежурный стрелочник
Группа: Участник
Сообщений: 37
|
Принцип тут такой: создаешь StringGrid или что то подобное, потом создаешь ComboBox или там чего хочешь. На OnCreate формы парент у этого комбо ставишь StringGrid и скрываешь комбо, кроме того нужно для каждой строки установить высоту как у комбо, т.к. сам комбо высоту свою менять не может. У всех гридов есть такое событие, OnSelectCell называется, дык вот на него пишешь примерно такой код:
CODE |
void __fastcall TForm2::StringGrid1SelectCell(TObject *Sender, int ACol,
int ARow, bool &CanSelect)
{
ComboBox1->Parent = StringGrid1;
ComboBox1->BoundsRect = StringGrid1->CellRect(ACol, ARow);
ComboBox1->Height = 100; // чтобы было место для выпадающего списка
ComboBox1->Text = StringGrid1->Cells[ACol][ARow];
ComboBox1->Show();
ComboBox1->SetFocus();
}
|
Ну а дальше — дело техники: обрабатываешь события комбо и текущей ячей ставишь соответствующее значение, и т.д.
|
|
|