Поиск:

Ответ в темуСоздание новой темы Создание опроса
> ЧекБокс и изменение высоты формы, ... жесть... <_< 
:(
    Опции темы
docwar
Дата 12.12.2006, 21:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


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

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



С вопросом бьюсь целый вечер...
Нужно, если ЧекБокс активен включить СтрингГрид и форму увеличить на 66 пикселей.
Если ЧекБокс выключен - отключить видимость СтрингГрида и уменьшить форму на 66 пикселей.

Изначально все показывается нормально. Как только включу галочку - форма увиличивается на 66 пикселей.
Выключу - СГ не виден, одна высота формы приняла изначальную высоту.

Жестко задать параметры не могу, посколько есть еще один случай изменения высоты приложения...<_<
Код
void __fastcall TForm5::CheckBox2Click(TObject *Sender)
{
if(CheckBox2->Checked==true)
{
 Form1->StringGrid1->Visible=true;
 Form1->Height=Form1->Height+66;
}
else
{
 Form1->StringGrid1->Visible=false;
 Form1->Height=Form1->Height-66;
}
}


Если будет желание мне помочь, то можно сразу на всем коде! =)
Код
void __fastcall TForm5::CheckBox1Click(TObject *Sender)
{
if(CheckBox1->Checked==false)
{
Form1->ToolBar1->Visible=false;
Form1->Panel1->Top=0;
Form1->StringGrid1->Top=359;
Form1->Height=Form1->Height-71;
}
else
{
Form1->ToolBar1->Visible=true;
Form1->Panel1->Top=71;
Form1->StringGrid1->Top=430;
Form1->Height=Form1->Height+71;
}
}
//---------------------------------------------------------------------------
void __fastcall TForm5::CheckBox2Click(TObject *Sender)
{
if(CheckBox2->Checked==true)
{
 Form1->StringGrid1->Visible=true;
 Form1->Height=Form1->Height+66;
}
else
{
 Form1->StringGrid1->Visible=false;
 Form1->Height=Form1->Height-66;
}
}


Заранее огромное спасибо!!!

Добавлено @ 21:09 
Если брать второй пример кода, то вот, что должно получится:
Включен ЧекБокс1:
Видимость панели активна,передвигаем панель и таблицу вниз, к высоте формы прибавляем 71 пиксель.
Выключен ЧекБокс1:
Вырабуаем видимость панели, передвигаем панель и таблицу вверх, высоту формы уменьшаем на 71 пиксель.
Включен ЧекБокс2:
активна видимость таблицы, высота формы увеличилась на 66 пикселей.
Выключен ЧекБокс2?
дезактивирована видимость таблицы, высота формы уменьшилась на 66 пикселей.

Т.о. никаких лишних областей(как у меня сейчас) внизу формы не должно образовываться.

Заранее ОГРОМНЕЙШЕЕ спасибо!!!


Это сообщение отредактировал(а) docwar - 12.12.2006, 21:10
PM MAIL   Вверх
codelord
Дата 12.12.2006, 23:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 777
Регистрация: 7.5.2005
Где: ты моя темноглаза я где?!

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



Цитата

Нужно, если ЧекБокс активен включить СтрингГрид и форму увеличить на 66 пикселей.
Если ЧекБокс выключен - отключить видимость СтрингГрида и уменьшить форму на 66 пикселей.

Цитата

 Как только включу галочку - форма увиличивается на 66 пикселей.
Выключу - СГ не виден, одна высота формы приняла изначальную высоту.

так у тебя происходит то, что надо  smile 

с трудом пытаюсь понять что тебе необходимо.
предложу если правильно догадываюсь.
в свойствах StringGrid значение Anchors, akTop = true, akBottom=true.


--------------------
Доступен поиск по исходным кодам в GOOGLE.
http://www.google.com/codesearch
PM MAIL   Вверх
docwar
Дата 13.12.2006, 11:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


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

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



Цитата(codelord @  12.12.2006,  23:33 Найти цитируемый пост)
так у тебя происходит то, что надо   

Ну, не совсем... Вопрос с ЧекБокс1 я уже решил, остался только второй ЧБ...

Вот, что у меня должно происходить: если ЧБ2 выключен, то мы убираем СтрингГрид и высоту формы уменьшаем на 66 пикселей. Если ЧБ2 включен, то включаем СГ и высоту формы увеличиваем на 66 пикселей.

Что же происходит на самом деле у меня:
Когда ЧБ2 включен - у меня к высоте формы добавляется 66 пикселей, т.е. после СГ еще есть свободное пространство, которого и не должно быть!
Когда ЧБ2 выключен - СГ отключается, а внизу есть свободное место - все теже 66 пикселей... 

Т.е. надо как-то исбавится от этих 66 пикселей...

PM MAIL   Вверх
docwar
Дата 13.12.2006, 12:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


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

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



Решил вопрос путем введения переменных, их проверки и точного(в пикселях) задания высота формы.
Вопрос решен.
codelord, спасибо за отзывчивость!!!
PM MAIL   Вверх
codelord
Дата 13.12.2006, 12:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 777
Регистрация: 7.5.2005
Где: ты моя темноглаза я где?!

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



если Anchors не подходит. 
тогда честно не врубаюсь прикрепи какую - нибудь демку.


--------------------
Доступен поиск по исходным кодам в GOOGLE.
http://www.google.com/codesearch
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "С++ Builder"
Rrader

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

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

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

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


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

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


 




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


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

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