Поиск:

Ответ в темуСоздание новой темы Создание опроса
> StringGrid и прокрутка 
:(
    Опции темы
MARIA123
Дата 24.11.2011, 01:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 9
Регистрация: 20.10.2011

Репутация: нет
Всего: нет



Задача такая: нужна таблица с привязанным к каждой строчке CheckBox, строк в таблице больше 50. При этом обязательно должны меняться размеры столбцов. Размеры окна тоже могут меняться, причем таблица должна занимать всегда всю клиентскую область. Нулевая строчка фиксирована - в ней заголовки. И надо реализовать прокрутку таблицы, причем при прокрутке обязательно должна оставаться видимой нулевая фиксированная строчка. Подскажите пожалуйста, как это можно сделать?

Пробовала так: 
Код

void __fastcall TForm1::FormCreate(TObject *Sender)
{ //строим таблицу и колонку для CheckBox
    StringGrid1->RowCount =RC;
    for (int i=1; i<=StringGrid1->RowCount; ++i)  {
      NewCheckBox[i-1] = new TCheckBox(Application->Handle);  //создали компонент
      StringGrid1->Objects[0][i] = NewCheckBox[i-1];  //привязали к таблице


      NewCheckBox[i-1]->OnClick = CheckBox1->OnClick;

      TRect Rect =  StringGrid1->CellRect(0,i);
      NewCheckBox[i-1]->Left =  StringGrid1->Left + Rect.Left+2;
      NewCheckBox[i-1]->Top = StringGrid1->Top + Rect.Top+2;
      NewCheckBox[i-1]->Width = Rect.Right - Rect.Left;
      NewCheckBox[i-1]->Height = Rect.Bottom - Rect.Top;
      NewCheckBox[i-1]->Name = "NCB"+IntToStr(i-1);

      NewCheckBox[i-1]->Visible = true;
      NewCheckBox[i-1]->Parent = Panel1;

      NewCheckBox[i-1]->Color = StringGrid1->Color;
      NewCheckBox[i-1]->Caption = "  "+IntToStr(i);

    }
}


Вылезла такая проблема : Panel1 всегда имеет размер равный клеентской области. Соответственно видны только те CheckBox, которые "влизают" в клиентскую область. А нужны все
PM MAIL   Вверх
sawfish
Дата 24.11.2011, 07:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 150
Регистрация: 30.7.2008
Где: Новосибирск

Репутация: 8
Всего: 8



Код

StringGrid1->FixedRows = 1;
Фиксированная строка всегда будет показана.
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "С++ Builder"
Rrader

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Литературу по С++ Builder обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Настоятельно рекомендуем заглянуть в DRKB (Delphi Russian Knowledge Base) - крупнейший в рунете сборник материалов по Дельфи


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Rrader.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C++ Builder | Следующая тема »


 




[ Время генерации скрипта: 0.0457 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.