Форум программистов, компьютерный форум, киберфорум
Delphi для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.67/21: Рейтинг темы: голосов - 21, средняя оценка - 4.67
16 / 16 / 3
Регистрация: 28.05.2013
Сообщений: 185
1

Изменение размера видимых компонентов

10.12.2013, 13:53. Показов 4219. Ответов 15
Метки нет (Все метки)

Всем доброго времени суток!
Вопрос, собственно такой: Есть ли в дельфи компоненты (кроме формы), размеры которых можно менять мышкой после компиляции?
Т.е., к примеру, ставлю этот компонент на форму, внутрь сую Memo с выравниванием alClient, компиляю и уже после запуска хватаю курсором край этого компонента и меняю его размеры...
Понимаю, вопрос может показаться нестандартным, но в чатах (skype, Communicator) это используется, только не могу понять с помощью чего.
__________________
Помощь в написании контрольных, курсовых и дипломных работ здесь
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
10.12.2013, 13:53
Ответы с готовыми решениями:

Изменение размера компонентов пользователем
Доброго времени суток. Возник такой вопрос: можно ли как-то реализовать изменение размеров...

Увеличение размера компонентов формы в соответствии с ее размерами
Здравствуйте. Создаю простой текстовый редактор и нужно сделать, чтобы при расширении формы...

Сохранение размера компонентов после закрытия программы
Доброго времени суток. В Delphi, по умолчанию, если пользователь в процессе работы с конечной...

Anchors, Align и размещение компонентов исходя из размера формы
Сабж. Есть кнопки на форме, в таком виде: Ну и соответственно при разных размерах...

15
пофигист широкого профиля
4436 / 2926 / 828
Регистрация: 15.07.2013
Сообщений: 16,844
10.12.2013, 13:59 2
Цитата Сообщение от klaxwork Посмотреть сообщение
Есть ли в дельфи компоненты (кроме формы), размеры которых можно менять мышкой после компиляции?
У любых компонент можно менять размеры мышкой и мышкой же их таскать по форме. Нужно только добавить ручками некий небольшой код.
0
16 / 16 / 3
Регистрация: 28.05.2013
Сообщений: 185
10.12.2013, 14:28  [ТС] 3
northener, Ты имеешь в виду onMouseDown и onMouseMove?
Если так, то для каждой стороны и угла придется вручную высчитывать координаты и т.д...

Жаль... Я думал, может есть какой-то компонент со свойством, типа Component.Resize:=True;
0
пофигист широкого профиля
4436 / 2926 / 828
Регистрация: 15.07.2013
Сообщений: 16,844
10.12.2013, 14:44 4
Цитата Сообщение от klaxwork Посмотреть сообщение
northener, Ты имеешь в виду onMouseDown и onMouseMove?
Если так, то для каждой стороны и угла придется вручную высчитывать координаты и т.д...
Нет не так. Все механизмы уже заложены. Их только нужно включить.

Добавлено через 3 минуты
Вот посмотри это http://groups.google.com/group... a57ab5bc05
Тут и перемещение и изменение размеров.
1
16 / 16 / 3
Регистрация: 28.05.2013
Сообщений: 185
10.12.2013, 14:54  [ТС] 5
northener, тогда, может быть, поможете? Пример кода, или, хотя бы, ссылку, где можно об этом почитать? А то я уже искал, но так ничего не нашел... Буду премного благодарен.

Спасибо. Дома гляну, а то я на работе сейчас, а тут у меня большинство сайтов перекрыто...

Добавлено через 9 минут
northener, открылось... Посмотрел... Или там только про перетаскивание, но не про ресайз, или я что-то не так понял...
В любом случае нечто похожее мне пришлось бы писать... Значит никакого компонента со свойством типа Resize размеров нет? :'(
0
пофигист широкого профиля
4436 / 2926 / 828
Регистрация: 15.07.2013
Сообщений: 16,844
10.12.2013, 15:24 6
Цитата Сообщение от klaxwork Посмотреть сообщение
Или там только про перетаскивание, но не про ресайз, или я что-то не так понял...
В любом случае нечто похожее мне пришлось бы писать... Значит никакого компонента со свойством типа Resize размеров нет? :'(
Там перемещение и изменение размеров.
А готовых свойств типа Resize у компонент VCL практически нет.
0
16 / 16 / 3
Регистрация: 28.05.2013
Сообщений: 185
10.12.2013, 15:43  [ТС] 7
Ну хорошо... А можно как-то отследить координаты мыши только наведя курсор на, к примеру, panel, или на Memo?
onMouseOver или чего-то подобного я там не нашел...
Или onMouseMove как раз это и отлавливает?
0
Модератор
3476 / 2600 / 740
Регистрация: 19.09.2012
Сообщений: 7,966
10.12.2013, 15:52 8
Посмотри эту тему:
Как сделать поле Memo растягивающимся?
1
16 / 16 / 3
Регистрация: 28.05.2013
Сообщений: 185
12.12.2013, 10:48  [ТС] 9
Написал-таки сам... Сразу под Memo добавил тонкую полоску Label, поставил флаг на форме Press: Boolean,
На Label OnMouseDown сделал Press:=True, на OnMouseUp соответственно Press:=False.
При движении с нажатой левой кнопкой мыши по Label включается флаг и действует OnMouseMove. Там высчитывается из координат курсора положение низа, чтоб она совпадала с верхом Label.
Пример во вложении.
Может кому пригодится...
Вложения
Тип файла: rar Resize.rar (166.6 Кб, 59 просмотров)
1
0 / 0 / 0
Регистрация: 16.10.2015
Сообщений: 19
05.04.2017, 15:37 10
Без использования доп переменной можно просто:
Delphi
1
2
3
4
5
  if Shift = [ssLeft]  then
  begin
    Form1.Memo1.Height:=h;
    Resize.Top:=Form1.Memo1.Top+Form1.Memo1.Height;
  end;
0
Житель Земли
2904 / 2844 / 383
Регистрация: 26.07.2011
Сообщений: 11,100
Записей в блоге: 1
06.04.2017, 16:59 11
Цитата Сообщение от klaxwork Посмотреть сообщение
Написал-таки сам... Сразу под Memo добавил тонкую полоску Label, поставил флаг на форме Press: Boolean,
TSplitter для этого используется

Добавлено через 1 минуту
http://helpdelphi.ru/splitter/

Добавлено через 5 минут
https://delphicomponent.ru/425... itter.html
1
0 / 0 / 0
Регистрация: 16.10.2015
Сообщений: 19
06.04.2017, 21:40 12
TSplitter +
0
881 / 584 / 178
Регистрация: 28.02.2017
Сообщений: 2,359
Записей в блоге: 1
06.04.2017, 21:57 13
Цитата Сообщение от klaxwork Посмотреть сообщение
это используется, только не могу понять с помощью чего.
Где что, где-то интерфейс вообще на HTML, где-то взяли компонент такое умеющий из коробки.
Простейшие контролы VCL из коробки такого не умеют. Мало кому на практике надо.
Соответственно либо допиливать руками, либо найти сторонние уже это умеющие.

Добавлено через 1 минуту
При определённой ловкости конечно можно приспособить и сплиттер, но будет далеко не совсем то.
0
D1973
08.04.2017, 06:08
  #14

Не по теме:

И чего это вдруг некропостингом занялись?

0
GoodWeather
08.04.2017, 12:54
  #15

Не по теме:

ой.. Да потому что не видно глазом. Вчитываться надо, что делать не с руки.
Надо что ли сделать чтоб заголовок цветом окрашивался в зависимости от старости поста...

0
DenNik
08.04.2017, 20:24     Изменение размера видимых компонентов
  #16

Не по теме:

Цитата Сообщение от D1973 Посмотреть сообщение
И чего это вдруг некропостингом занялись?
фот плин! я и не заметил! просто кто-то до меня поднял тему, и она естественно, прыгнула на первую страницу :)

0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
08.04.2017, 20:24

Помощь в написании контрольных, курсовых и дипломных работ здесь.

Изменение размеров компонентов
На форме есть пару компонентов (RichEdit, WebBrauser, Panel) Нужно сделать чтобы при измении формы...

Изменение цвета границ компонентов
Можно ли менять цвет границ компонента Edit, LabeledEdit, ComboBox и т.д. Как только отключаю...

Перемещение и изменение цветов компонентов
Как сделать так, чтобы при нажатии на кнопку (TButton),кнопка переместилась в левый верхний угол и...

Изменение внешнего вида компонентов
Привет, подскажите пожалуйста как мне изменить стандартный вид компонентов, к примеру на такие:


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

Или воспользуйтесь поиском по форуму:
16
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2021, vBulletin Solutions, Inc.