C++ Builder
| Главная | Уроки | Статьи | FAQ | Форум | Downloads | Литература | Ссылки | RXLib | Диски |

 
ComboBox в ячейке таблицы
Ортодокс
Отправлено: 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();
}


Ну а дальше — дело техники: обрабатываешь события комбо и текущей ячей ставишь соответствующее значение, и т.д.

Вернуться в Вопросы программирования в C++Builder