Задать изменение ширины всем элементам ввода окна, при изменении ширины самого окна16.06.2017, 15:40. Показов 4829. Ответов 47
Метки нет (Все метки)
Товарищи коллеги!
Подскажите, а как подобным образом, задать изменение ширины всем элементам ввода окна, при изменении ширины самого окна? Пробовал сделать так:
Когда нажимаю кнопку окна "Развернуть", элементы пропорционально расширяются и сдвигаются друг относительно друга по ширине корректно и равномерно. Но вот при возвращении в исходное состояние окан, они почему-то в свои прежние позиции не становятся, а наезжают друг на друга. Подскажите, что я возможно забыл задать?
0
|
||||||
| 16.06.2017, 15:40 | |
|
Ответы с готовыми решениями:
47
Автоматическое изменение ширины столбца в DBGrid при изменении ширины формы Изменение размера картинки при уменьшении ширины окна
|
|
Супер-модератор
|
|||||||||||
| 16.06.2017, 16:08 | |||||||||||
|
Скорее всего проблема - в том, что деление:
0
|
|||||||||||
|
place status here
3186 / 2220 / 640
Регистрация: 20.07.2013
Сообщений: 6,010
|
|
| 17.06.2017, 15:00 | |
|
А использование свойства Anchors объектов разве не решает проблему?
0
|
|
| 17.06.2017, 15:09 [ТС] | ||||||||
|
Тогда в таком случае, вы предлагаете привести с помощью static_cast<float> переменную DefWith к типу float, а что же тогда с this->Width? Почему его тоже не нужно привести к float? Попутный вопрос #1: до, буквально, вчерашнего дня не видел и не пользовался конструкцией static_cast<...>, подскажите, в каких случаях её следует применять и чем она отличается от обычного приведения типов вида "(желаемый_тип)Переменная"? Попутный вопрос #2: тоже толком сам еще не пользовался (за исключением участков кода, взятых в свои проекты из источников в сети), но частенько видел в примерах, приводимых людьми, конструкцию цикла foreach. Сам с ней пока толком еще не разобрался и не привык, но что-то мне подсказывает, что с помощью неё можно как-то оптимизировать вот такие места:
Спасибо! Добавлено через 6 минут
0
|
||||||||
|
Супер-модератор
|
|||
| 17.06.2017, 16:29 | |||
|
0
|
|||
| 17.06.2017, 17:29 [ТС] | |||
|
А по оптимизации через foreach есть что добавить?
0
|
|||
| 19.06.2017, 12:15 [ТС] | |||||||||||||||||
|
1. Ну допустим привели мы переменную DefWith к типу float. А объявить её при этом тоже float'ом не следует? А то она у меня интовая так-то... 2. А на счёт проверок:
Добавлено через 8 минут 3. И вот в этих местах вида:
0
|
|||||||||||||||||
|
Супер-модератор
|
|
| 19.06.2017, 12:20 | |
|
У меня хрустальный шар в ремонте, и как изначально расположены контролы на форме, без него мне не видно. Соответственно, воспроизвести проблему я не могу, решить без воспроизведения тоже невозможно. А отвечать просто так, может вот это поможет, а может вот так сделать - это не ко мне, ждите других.
0
|
|
| 19.06.2017, 12:47 [ТС] | ||
|
0
|
||
| 20.06.2017, 12:49 [ТС] | ||
|
0
|
||
|
500 / 346 / 200
Регистрация: 20.10.2016
Сообщений: 1,101
|
|
| 20.06.2017, 21:00 | |
|
Cha1000000, зачем все это шаманство с изобилием компонентов? Так никто не делает. Создайте TStringGrid, в нужные вам ячейки поместите TComboBox и т.д. А далее в OnResize формы растягивайте грид и его ячейки.
И задайте для формы свойства Constraints, чтобы ее не сжимали менее нужного размера.
0
|
|
| 20.06.2017, 21:40 [ТС] | ||||
![]()
0
|
||||
|
500 / 346 / 200
Регистрация: 20.10.2016
Сообщений: 1,101
|
||
| 21.06.2017, 06:22 | ||
|
Сложного ничего нет, создаете динамически нужные объекты, привязываете их к нужным ячейкам, при необходимости уничтожаете. Разве что будите использовать сторонние компоненты, в которых это уже реализовано.
0
|
||
| 21.06.2017, 09:43 [ТС] | |
|
0
|
|
|
500 / 346 / 200
Регистрация: 20.10.2016
Сообщений: 1,101
|
||||||||||||
| 21.06.2017, 10:34 | ||||||||||||
0
|
||||||||||||
| 21.06.2017, 11:02 [ТС] | |||
|
0
|
|||
| 21.06.2017, 15:41 [ТС] | ||||||
|
По поводу "в ячейку 1,1 слово Тест не попало" ошибочка вышла. Всё там попало, просто забыл, что по умолчанию при запуске отображается ItemIndex = -1, а там пусто естественно...
Начал делать, предлагаемым вами способом. Да, достаточно удобно вставляются боксы в грид, спасибо! Однако, заполняя Items этих боксов, при компиляции и запуске, значения в них имеются, но если выбрать комбобокс и стрелкой на клавиатуре их перещёлкивать получается, а вот по нажатию на комбобокс список не выпадает. ![]() Кстати заметил, что при нажатии курсором мыши на такой получившийся комбобокс, перебирать элементы в нём удаётся только стрелками клавиатуры, а колёсиком мыши почему-то тоже не удаётся. Как сделать, чтоб список таки выпадал? На всякий случай вот код:
0
|
||||||
|
500 / 346 / 200
Регистрация: 20.10.2016
Сообщений: 1,101
|
|||
| 21.06.2017, 16:10 | |||
|
0
|
|||
| 21.06.2017, 16:58 [ТС] | |||||||
|
Попутно 2 вопроса: 1. Установил в свойстве Anchors стринггрида привязку к левой, верхней и правой сторонам, но при развороте во весь экран, расширяется только правая граница грида, а размер ячеек при этом не меняется. 2. Решая вопрос #1 вытекает следующий вопрос: следует ли дополнительно привязать ширину ячеек к ширине соответствующих им комбобоксов? Если да, то будет ли правильна такая запись:
0
|
|||||||
|
500 / 346 / 200
Регистрация: 20.10.2016
Сообщений: 1,101
|
|||||||
| 21.06.2017, 17:37 | |||||||
|
Не впадает список только в 1 случае - если бокс пуст, если итемы существуют то все выпадает, можете даже не спорить, я так делаю постоянно. По поводу ваших 1 и 2: - 1: Размер ячеек не имеет отношения к размерам самого грида, для их изменения есть свои свойства (DefaultColWidth, DefaultRowHeight, RowHeights, ColWidths). В третий раз вам пишу: обрабатывайте событие OnResize, в нем и присваивайте ячейкам нужные габариты. - 2: естественно следует за этим следить, фишка в том, что объект не помещается в ячейку, а всего лишь рисуется поверх нее, следовательно, в том же OnResize надо делать то же самое, что было сделано при размещении объекта над гридом, а именно:
0
|
|||||||
| 21.06.2017, 17:37 | |
|
Помогаю со студенческими работами здесь
20
Изменение длины и ширины окна влияет на размеры объектов Пропорциональное изменение высоты CardView при изменении ширины Изменение масштаба яндекс карты при изменении ширины экрана Не переносится блок при уменьшении ширины окна Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
||||
|
Учёным и волонтёрам проекта «Einstein@home» удалось обнаружить четыре гамма-лучевых пульсара в джете Млечного Пути
Programma_Boinc 01.01.2026
Учёным и волонтёрам проекта «Einstein@home» удалось обнаружить четыре гамма-лучевых пульсара в джете Млечного Пути
Сочетание глобально распределённой вычислительной мощности и инновационных. . .
|
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост.
Programma_Boinc 28.12.2025
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост.
Налог на собак: https:/ / **********/ gallery/ V06K53e
Финансовый отчет в Excel: https:/ / **********/ gallery/ bKBkQFf
Пост отсюда. . .
|
Кто-нибудь знает, где можно бесплатно получить настольный компьютер или ноутбук? США.
Programma_Boinc 26.12.2025
Нашел на реддите интересную статью под названием Anyone know where to get a free Desktop or Laptop?
Ниже её машинный перевод.
После долгих разбирательств я наконец-то вернула себе. . .
|
Thinkpad X220 Tablet — это лучший бюджетный ноутбук для учёбы, точка.
Programma_Boinc 23.12.2025
Рецензия / Мнение/ Перевод
Нашел на реддите интересную статью под названием The Thinkpad X220 Tablet is the best budget school laptop period . Ниже её машинный перевод.
Thinkpad X220 Tablet —. . .
|
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта
Симптом:
После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
|
|
Как объединить две одинаковые БД Access с разными данными
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
|
Новый ноутбук
volvo 07.12.2025
Всем привет.
По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне:
Ryzen 5 7533HS
64 Gb DDR5
1Tb NVMe
16" Full HD Display
Win11 Pro
|
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
|
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
|
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов
На странице:
https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/
нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
|