Форум программистов, компьютерный форум, киберфорум
C++ Builder
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.71/35: Рейтинг темы: голосов - 35, средняя оценка - 4.71
Маэстро
Вирусоборец
 Аватар для Maestro
1244 / 365 / 40
Регистрация: 06.09.2009
Сообщений: 798

Компонент Spliter и изменение размера

01.10.2009, 11:32. Показов 7227. Ответов 4
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Всем привет. У меня вопрос касающийся компонента Spliter. Хочу использовать в своей программе возможность разделять окна в нужном мне размере. Есть две Panel и четыре GroupBox'a (на каждой Panel по два GroupBox) на каждом GroupBox по одному Memo, под каждым Memo есть свои кнопки Button. Иногда нужно делать два нижних Memo больше, иногда два верхних, со свойствами я разобрался, установил нужные свойства Anchors размеры изменяются и всё казалось бы отлично, но когда происходит перемещение Spliter'a, вверх или вниз, то кнопки слегка "едут" по GroupBox'у. Если перемещать вверх, то кнопки "заезжают" на поле Memo, если переместить Spliter вниз, то кнопки выходят за границы GroupBox'a. Скопилированый проект прилагаю, для визуального ознакомления, кода нет, так как всё настраивалось через свойства Anchors. Хотелось бы, чтобы кнопки, при перемещении Spliter'a перемещались бы равномерно с другими компонентами не налезая на другие компоненты и не выходя за положеные границы.
Вложения
Тип файла: rar Spliter.rar (197.3 Кб, 106 просмотров)
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
01.10.2009, 11:32
Ответы с готовыми решениями:

Изменение размера окна в зависимости от компонент
добавляю напанель JTextField с параметром setVisible(false);, в определённый момент нужно чтобы часть из таких компонент стали...

Компонент TButton: Изменение размера шрифта кнопки при нажатии
Необходимо разработать компоненты, основанные на модификации стандартных компонентов, в соответствии с заданием. Родительский...

Изменение размера окна -> изменение размера картинки
Есть картинка на Homepage, как сделать так, что бы при изменении окна браузера размер картинки автоматически изменялся соответственно...

4
125 / 116 / 17
Регистрация: 27.02.2007
Сообщений: 291
01.10.2009, 16:26
Посмотри, ты так хотел?
Вложения
Тип файла: zip Spliter2.zip (216.2 Кб, 240 просмотров)
1
Маэстро
Вирусоборец
 Аватар для Maestro
1244 / 365 / 40
Регистрация: 06.09.2009
Сообщений: 798
01.10.2009, 18:15  [ТС]
Да, АНК, именно так, пробовал разбираться с твоим проектом, не понимаю, вроде всё делаю так же, а получается, всё равно не то. Как же добиться такого эффекта?

Боковой сприттер мне в принципе не нужен, а вот горизонтальный, самое оно!
Решил всё-таки прикрепить архив проекта. Можно подправить мой проект, а я сравню что у меня не так?

Среда разработки Borland C++ Builder 6.0 Enterprise Suite
Вложения
Тип файла: rar Splitter.rar (200.8 Кб, 108 просмотров)
0
Маэстро
Вирусоборец
 Аватар для Maestro
1244 / 365 / 40
Регистрация: 06.09.2009
Сообщений: 798
01.10.2009, 18:26  [ТС]
АНК, Спасибо, разобрался окончательно! Там у компонентов Button в свойстве Anchors нужно в значении akTop выставить значение false, а у остальных, которые не нужны - true.

Вопрос решён. Спасибо ещё раз, АНК.
0
Маэстро
Вирусоборец
 Аватар для Maestro
1244 / 365 / 40
Регистрация: 06.09.2009
Сообщений: 798
26.03.2010, 15:53  [ТС]
Привет друзья. Вопрос появился. Вот окно. Компоненты Panel, Memo1, Splitter, Memo2.
Свойства:

Panel - Align - alBottom
Memo1 - Align - alLeft
Splitter - Align - alLeft
Memo2 - Align - alClient

Цель: Чтобы при изменении размеров окон оба Memo оставались равными по ширине относительно друг друга. Написал код ниже (придумал сам), действительно, при изменении размеров главной формы мышкой, размеры Memo изменяются симметрично. Но если использовать кнокпу максимизации, то симметричность работает в сторону максимизации, когда после разворачивания окна на весь экран опять пытаешься вернуть в прежний вид, то Panel и Memo2 как будто "прилипают" к правому краю и не приводятся к симметричности. Как это исправить? Или как правильно написать, чтобы при изменении размеров и максимизации симметричность окон обеих Memo не нарушалась? На всякий случай прикрепил архив проекта в формате .7z

[IMG]http://i063.***********/1003/50/b48a094e9bce.png[/IMG]

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
...
//---------------------------------------------------------------------------
void __fastcall TForm1::FormResize(TObject *Sender)
{
   int fw = Form1->ClientWidth;
   int fh = Form1->ClientHeight;
 
   Memo1->Width = fw / 2 - 1;
   Memo1->Height = fh;
   Memo2->Width = fw / 2 - 1;
   Memo2->Height = fh;
 
   Memo1->Lines->Add(Memo1->Width);
   Memo2->Lines->Add(Memo2->Width);
}
...
Вложения
Тип файла: 7z Splliter.7z (184.8 Кб, 73 просмотров)
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
26.03.2010, 15:53
Помогаю со студенческими работами здесь

Изменение размера обьектов при изменении размера графического окна
Можно ли в pascalABC.net сделать следующее: чтобы приизменении размера графического окна изменялись и размеры обьектов.Зарание спасибо:-|

Qml изменение размера Canvas при изменении размера окна
Может есть какой нибудь способ, чтобы при изменении размера окна (в моем случае window) изменялся размер рисунка Canvas (увеличивался или...

Пропорциональное изменение размера tabControl1 при изменении размера формы
Всем hello. Посоветуйте, что сделать. На форме есть компоненты, делаю, чтобы при изменении размера формы элементы притягивались к краям...

Изменение размера UserControl при изменении размера элемента на нем
Здравствуйте. У меня на UserControl находится TextBox. Выполняю построение. В конструкторе переношу мой UserControl на форму. Меняю в...

Изменение размера верхней навигации при изменении размера
Нужно сделать так чтобы при прокрутке страницы вниз меню уменьшалось а при прокрутке к верху меню снова становилось своих размеров внизу...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Новые блоги и статьи
Символьное дифференцирование
igorrr37 13.02.2026
/ * Логарифм записывается как: (x-2)log(x^2+2) - означает логарифм (x^2+2) по основанию (x-2). Унарный минус обозначается как ! */ #include <iostream> #include <stack> #include <cctype>. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL3_image
8Observer8 10.02.2026
Содержание блога Библиотека SDL3_image содержит инструменты для расширенной работы с изображениями. Пошагово создадим проект для загрузки изображения формата PNG с альфа-каналом (с прозрачным. . .
Установка Qt-версии Lazarus IDE в Debian Trixie Xfce
volvo 10.02.2026
В общем, достали меня глюки IDE Лазаруса, собранной с использованием набора виджетов Gtk2 (конкретно: если набирать текст в редакторе и вызвать подсказку через Ctrl+Space, то после закрытия окошка. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru