Форум программистов, компьютерный форум, киберфорум
Delphi для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 5.00/21: Рейтинг темы: голосов - 21, средняя оценка - 5.00
 Аватар для artem_0108
0 / 0 / 0
Регистрация: 30.03.2015
Сообщений: 131

Масштабирование элементов

18.03.2018, 21:30. Показов 4360. Ответов 10
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Привет всем, уже 3 день по гуглу ищу как масштабировать компоненты на форме, anchors не работает, хотя не знаю, может кроме него еще надо что-то менять. Может есть у кого-нибудь мысли по этому поводу, а то как-то не хочется для каждого компонента вручную набирать и проект нагружать (у меня много компонентов)?
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
18.03.2018, 21:30
Ответы с готовыми решениями:

Масштабирование формы и ее элементов
Проблема в том, что при запуске проги и нажатие развернуть на весь экран она прижимается к левому краю(((( Помоги сделать так чтоб она...

Масштабирование элементов формы
Я написал код для масштабирование элементов формы и он наполовину работает, разворачивает он норм, а когда опять уменьшаешь, то программа...

Масштабирование
Всем доброго времени суток! В общем, затупил с одной проблемкой (сижу третий день и уже, что называется, "глаз затерся"). И...

10
 Аватар для krapotkin
6847 / 4674 / 1463
Регистрация: 14.04.2014
Сообщений: 20,660
Записей в блоге: 21
18.03.2018, 22:18
поясните, что вам надо. не очень ясно.
знаете ли вы как работает Align ?
0
 Аватар для Matan!
1882 / 1016 / 228
Регистрация: 31.05.2013
Сообщений: 6,645
Записей в блоге: 6
18.03.2018, 22:24
Либо через свойство Align, либо через обработчик OnResize формы прописываете размеры(типо Component.Width := ClientWidth, Component.Height:= ClientHeight).
0
 Аватар для Voronkin
469 / 296 / 166
Регистрация: 18.03.2018
Сообщений: 960
18.03.2018, 23:34
Delphi
1
2
3
4
5
6
procedure TForm4.FormResize(Sender: TObject);
begin
  Edit1.Width:=Width-506;
  ListBox1.Height:=Height-75;
  RxRichEdit1.Width:=Width-338;
  RxRichEdit1.Height:=Height-155;
Я масштабирую так. Едит - только по ширине, Listbox только по высоте. RichEdit и туда и туда.
Число после минуса вычисляется: Например для Эдита - Ширина формы-Ширина эдита (чтобы он всегда был на одном расстоянии от края)

Остальное по тому же принципу

Добавлено через 58 минут
Если же вы имели ввиду изменение размеров непосредственно на форме, то вот код изменения мемо по высоте, таская мышью Label, установленный прямо под мемо.
Delphi
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
procedure TForm1.Label1MouseDown(Sender: TObject; Button: TMouseButton;
  Shift: TShiftState; X, Y: Integer);
begin
  Press:=True;
end;
 
procedure TForm1.Label1MouseMove(Sender: TObject; Shift: TShiftState; X,
  Y: Integer);
var
  Pos: TPoint;
  h: integer;
begin
  GetCursorPos(Pos);
  h:=Pos.Y-Form1.Top-Form1.Memo1.Top-23;
  if Press then
  begin
    Form1.Memo1.Height:=h;
    Label1.Top:=Form1.Memo1.Top+Form1.Memo1.Height;
  end;
end;
 
procedure TForm1.Label1MouseUp(Sender: TObject; Button: TMouseButton;
  Shift: TShiftState; X, Y: Integer);
begin
  Press:=False;
end;
по тому же принципу можно сделать изменение по ширине.
1
 Аватар для Matan!
1882 / 1016 / 228
Регистрация: 31.05.2013
Сообщений: 6,645
Записей в блоге: 6
18.03.2018, 23:39
Voronkin, эк ты наворотил... Можно сделать намного проще и без этих Pos, используя X, Y...

Добавлено через 31 секунду
Но думаю, это не совсем в тему...
0
 Аватар для Voronkin
469 / 296 / 166
Регистрация: 18.03.2018
Сообщений: 960
18.03.2018, 23:56
Matan!, Покажи)
0
19.03.2018, 00:15

Не по теме:

Voronkin,

Цитата Сообщение от Matan! Посмотреть сообщение
думаю, это не совсем в тему...

0
 Аватар для Delphiist
1230 / 66 / 16
Регистрация: 23.04.2007
Сообщений: 127
19.03.2018, 12:06
Не замечал проблем с Anchors, покажите как Вы устанавливаете это свойство.
Например, если необходимо чтобы компонент всегда располагался в правом нижнем углу, то необходимо установить свойство
Delphi
1
Anchors := [akRight,akBottom];
0
 Аватар для Matan!
1882 / 1016 / 228
Регистрация: 31.05.2013
Сообщений: 6,645
Записей в блоге: 6
19.03.2018, 14:38
Delphiist, ну, ИМХО, конечно, но Anchors не для этого.. Игрался в одно время с ним, но для масштабирования -
то не совсем то. Лично мне помогал всегда Align..
0
 Аватар для Delphiist
1230 / 66 / 16
Регистрация: 23.04.2007
Сообщений: 127
19.03.2018, 14:55
Использовать Align удобно когда необходимо разместить например боковую панель или растянуть элемент по всей ширине формы (например Memo снизу формы в качестве лога), но что делать когда этот элемент должен растягиваться вместе с формой, и в тоже время располагаться на некотором расстоянии от краев формы. При использовании Align необходимо было бы создавать невидимые Bevel для отступа, а с Anchors все проще. Например, задав привязку к левой и правой части формы одновременно можно добиться пропорционального изменения размера элемента относительно формы, не зависимо где на форме этот элемент находится.
К сожалению сейчас не могу привести ни пример, ни даже картинку, так как нет возможности загружать файлы на сайт.

В любом случае нужно выбирать метод по конкретной задаче.
0
 Аватар для krapotkin
6847 / 4674 / 1463
Регистрация: 14.04.2014
Сообщений: 20,660
Записей в блоге: 21
19.03.2018, 15:27
есть и варианты с созданием дополнительных панелей, которые будут задавать отступы
в целом, через Align все обычно решается
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
19.03.2018, 15:27
Помогаю со студенческими работами здесь

масштабирование
Скажите, что можно придумать, чтобы увеличив фигуру в 2 раза, потом можно было вернуть ее первоначальный вид, поставив в масштабе 1? :(...

Масштабирование элементов формы в зависимости от разрешения экрана
Доброго времени суток. Пишу клиент-серверное приложение, клиент под android, сервер по windows. У клиента под android проблема с...

Масштабирование элементов
Добрый день. У меня следующая проблема: при масштабировании сайта сдвигаются дивы и бэкграунд тоже масштабируется. Как все это дело...

Масштабирование элементов формы
Всем привет, недавно начал изучать C#, делаю свою вторую программу. Как сделать что бы элементы на форме меняли свои размеры в зависимости...

Масштабирование элементов на странице
Доброго времени суток, уважаемые пользователи форума! Появилась очередная проблема, на этот раз с CSS. Искал решения в Интернете, нашел, но...


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

Или воспользуйтесь поиском по форуму:
11
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Работа со звуком через SDL3_mixer
8Observer8 08.02.2026
Содержание блога Пошагово создадим проект для загрузки звукового файла и воспроизведения звука с помощью библиотеки SDL3_mixer. Звук будет воспроизводиться по клику мышки по холсту на Desktop и по. . .
SDL3 для Web (WebAssembly): Основы отладки веб-приложений на SDL3 по USB и Wi-Fi, запущенных в браузере мобильных устройств
8Observer8 07.02.2026
Содержание блога Браузер Chrome имеет средства для отладки мобильных веб-приложений по USB. В этой пошаговой инструкции ограничимся работой с консолью. Вывод в консоль - это часть процесса. . .
SDL3 для Web (WebAssembly): Обработчик клика мыши в браузере ПК и касания экрана в браузере на мобильном устройстве
8Observer8 02.02.2026
Содержание блога Для начала пошагово создадим рабочий пример для подготовки к экспериментам в браузере ПК и в браузере мобильного устройства. Потом напишем обработчик клика мыши и обработчик. . .
Философия технологии
iceja 01.02.2026
На мой взгляд у человека в технических проектах остается роль генерального директора. Все остальное нейронки делают уже лучше человека. Они не могут нести предпринимательские риски, не могут. . .
SDL3 для Web (WebAssembly): Вывод текста со шрифтом TTF с помощью SDL3_ttf
8Observer8 01.02.2026
Содержание блога В этой пошаговой инструкции создадим с нуля веб-приложение, которое выводит текст в окне браузера. Запустим на Android на локальном сервере. Загрузим Release на бесплатный. . .
SDL3 для Web (WebAssembly): Сборка C/C++ проекта из консоли
8Observer8 30.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
SDL3 для Web (WebAssembly): Установка Emscripten SDK (emsdk) и CMake для сборки C и C++ приложений в Wasm
8Observer8 30.01.2026
Содержание блога Для того чтобы скачать Emscripten SDK (emsdk) необходимо сначало скачать и уставить Git: Install for Windows. Следуйте стандартной процедуре установки Git через установщик. . . .
SDL3 для Android: Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 29.01.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами. Версия v3 была полностью переписана на Си, в. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru