Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Rezise Формы

290
20 января 2013 года
Patr1ot
458 / / 09.02.2008
Добрый день.

Пишу приложение состоящее из формы и 25 кнопок на ней, суть в том что нужно при изменение формы изменять положение и размер кнопок пропорционально эти изменениям. В общем сделал обработчик у формы onResize работает, но проблема в том что из за деления правая и нижняя часть кнопок не устанавливаются так же ровно как верхняя и левай (по верхней и левой выравниваются кнопки)
В общем вот код из OnResize:
Код:
float wid = ((this->Width -13)+0.5)/5;
   float hei = ((this->Height -34)+0.5)/5;

         this->Button1->Width=wid;
         this->Button1->Height=hei;
         this->Button2->Width=wid;
         this->Button2->Height=hei;
         this->Button3->Width=wid;
         this->Button3->Height=hei;
         this->Button4->Width=wid;
         this->Button4->Height=hei;
         this->Button5->Width=wid;
         this->Button5->Height=hei;
         this->Button6->Width=wid;
         this->Button6->Height=hei;
         this->Button7->Width=wid;
         this->Button7->Height=hei;
         this->Button8->Width=wid;
         this->Button8->Height=hei;
         this->Button9->Width=wid;
         this->Button9->Height=hei;
         this->Button10->Width=wid;
         this->Button10->Height=hei;
         this->Button11->Width=wid;
         this->Button11->Height=hei;
         this->Button12->Width=wid;
         this->Button12->Height=hei;
         this->Button13->Width=wid;
         this->Button13->Height=hei;
         this->Button14->Width=wid;
         this->Button14->Height=hei;
         this->Button15->Width=wid;
         this->Button15->Height=hei;
         this->Button16->Width=wid;
         this->Button16->Height=hei;
         this->Button17->Width=wid;
         this->Button17->Height=hei;
         this->Button18->Width=wid;
         this->Button18->Height=hei;
         this->Button19->Width=wid;
         this->Button19->Height=hei;
         this->Button20->Width=wid;
         this->Button20->Height=hei;
         this->Button21->Width=wid;
         this->Button21->Height=hei;
         this->Button22->Width=wid;
         this->Button22->Height=hei;
         this->Button23->Width=wid;
         this->Button23->Height=hei;
         this->Button24->Width=wid;
         this->Button24->Height=hei;
         this->Button25->Width=wid;
         this->Button25->Height=hei;



         this->Button2->Left=Button1->Left+Button1->Width;
         this->Button2->Top=Button1->Top;
         this->Button3->Left=Button2->Left+Button2->Width;
         this->Button3->Top=Button2->Top;
         this->Button4->Left=Button3->Left+Button3->Width;
         this->Button4->Top=Button3->Top;
         this->Button5->Left=Button4->Left+Button4->Width;
         this->Button5->Top=Button4->Top;

         this->Button6->Top=Button1->Top+Button1->Height;
         this->Button7->Left=Button6->Left+Button6->Width;
         this->Button7->Top=Button6->Top;
         this->Button8->Left=Button7->Left+Button7->Width;
         this->Button8->Top=Button7->Top;
         this->Button9->Left=Button8->Left+Button8->Width;
         this->Button9->Top=Button8->Top;
         this->Button10->Left=Button9->Left+Button9->Width;
         this->Button10->Top=Button9->Top;

         this->Button11->Top=Button6->Top+Button6->Height;
         this->Button12->Left=Button11->Left+Button11->Width;
         this->Button12->Top=Button11->Top;
         this->Button13->Left=Button12->Left+Button12->Width;
         this->Button13->Top=Button12->Top;
         this->Button14->Left=Button13->Left+Button13->Width;
         this->Button14->Top=Button13->Top;
         this->Button15->Left=Button14->Left+Button14->Width;
         this->Button15->Top=Button14->Top;

         this->Button16->Top=Button11->Top+Button11->Height;
         this->Button17->Left=Button16->Left+Button16->Width;
         this->Button17->Top=Button16->Top;
         this->Button18->Left=Button17->Left+Button17->Width;
         this->Button18->Top=Button17->Top;
         this->Button19->Left=Button18->Left+Button18->Width;
         this->Button19->Top=Button18->Top;
         this->Button20->Left=Button19->Left+Button19->Width;
         this->Button20->Top=Button19->Top;

         this->Button21->Top=Button16->Top+Button16->Height;
         this->Button22->Left=Button21->Left+Button21->Width;
         this->Button22->Top=Button21->Top;
         this->Button23->Left=Button22->Left+Button22->Width;
         this->Button23->Top=Button22->Top;
         this->Button24->Left=Button23->Left+Button23->Width;
         this->Button24->Top=Button23->Top;
         this->Button25->Left=Button24->Left+Button24->Width;
         this->Button25->Top=Button24->Top;
Вот скрин:



В общем как сделать так чтобы расстояние от прового\нижнего края были такими же как у верхнего\левого края.
И еще вопрос при увелечение отображение не могу загрузить значок программы, размер 256 на 256?? В чем проблема?
Мне нужно чтобы при увеличение отображения размера значков в винде, значок программы увеличивался. А он не увеличивается.
277
21 января 2013 года
arrjj
1.7K / / 26.01.2011
читай доки по формам и панелям свойство align , AlignWithMargins , Margins, padding - сделай норм верстку формы и в коде ничего не придется считать
1
20 января 2013 года
kot_
7.3K / / 20.01.2000
ужас. Я так понимаю о циклах и переборе компонентов на форме ты ничего не слышал?
Что имеется ввиду под "прового\нижнего края были такими же как у верхнего\левого края"?
290
20 января 2013 года
Patr1ot
458 / / 09.02.2008
Да нет, я знаю циклы, просто элементов не много решил обойтись без цикла.
В общем как видно в коде размер элементов зависит от ширины и высоты формы, поэтому когда например после деления формы
float wid = ((this->Width -13)+0.5)/5;
float hei = ((this->Height -34)+0.5)/5;
Получается какое то не четное значение промежуток между правым краем и кнопками, так же и промежуток нижнего края формы и кнопок, становится больше или меньше аналогичного расстояния относительно правого края формы и кнопок и верхнего края формы и кнопок.

И еще был вопрос по значку.
290
21 января 2013 года
Patr1ot
458 / / 09.02.2008
Спасибо, сделал верстку все, и сделал выравнивание формы через AutoSize все ок.
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог