Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Delphi [игнор отключен] [закрыт для гостей] / Автоматическое расширение формы / 17 сообщений из 17, страница 1 из 1
24.10.2018, 10:22
    #39721875
petrovichvanya
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Автоматическое расширение формы
Добрый день, подскажите как сделать чтобы форма раздвигалась автоматически под размер текста строки "Адрес"(т.к. адрес может быть разным, размер формы тоже может быть разным)
...
Рейтинг: 0 / 0
24.10.2018, 10:22
    #39721878
petrovichvanya
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Автоматическое расширение формы
...
Рейтинг: 0 / 0
24.10.2018, 10:24
    #39721880
wadman
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Автоматическое расширение формы
См. Canvas.TextWidth
...
Рейтинг: 0 / 0
24.10.2018, 10:26
    #39721885
DimaBr
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Автоматическое расширение формы
Лучше сделать многострочный текст и расширять вниз
...
Рейтинг: 0 / 0
24.10.2018, 10:31
    #39721887
DarkMaster
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Автоматическое расширение формы
DimaBrЛучше сделать многострочный текст и расширять вниз

Присоединяюсь к мнению. При расширении формы - например кнопки ОК/Отмена начинают смотреться инородно. Ну и есть шанс, что форма вообще уедет за границы экрана (например маленькое разрешение выставили, шрифты увеличили).
...
Рейтинг: 0 / 0
24.10.2018, 10:50
    #39721900
petrovichvanya
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Автоматическое расширение формы
Для вывода текста используется StaticText, там отсутствует Canvas.TextWidth и WordWrap(чтобы вниз расширить)
...
Рейтинг: 0 / 0
24.10.2018, 10:59
    #39721905
alekcvp
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Автоматическое расширение формы
petrovichvanyaДля вывода текста используется StaticText, там отсутствует Canvas.TextWidth и WordWrap(чтобы вниз расширить)

Псевдокод:
Код: plaintext
1.
2.
Адрес.AutoSize := True;
Адрес.Caption := 'blablabla';
Форма.ClientWidth := Адрес.Width + МеткаАдреса.Width + ШиринаПолей * 2; 

Для кнопок OK и Cancel сделать Anchors := [Right, Bottom];.
...
Рейтинг: 0 / 0
24.10.2018, 11:00
    #39721906
alekcvp
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Автоматическое расширение формы
Но вообще, по хорошему, туда-бы TLabel и перенос по словам + авторасширение формы вниз.
...
Рейтинг: 0 / 0
24.10.2018, 11:00
    #39721907
cptngrb
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Автоматическое расширение формы
Кнопки нормально будут смотреться, если использовать якоря.
А компонент для отображения текста можно использовать другой (если религия позволяет)
...
Рейтинг: 0 / 0
24.10.2018, 11:04
    #39721911
Valery_B
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Автоматическое расширение формы
petrovichvanya,

Автоматически - никак.
Надо написать Form.Width:=...
Далее надо вычислять длину в зависимости от: Шрифта, размера шрифта, длины текста и DPI экрана.

Совершенно очевидно, что StaticText не подходит для отображения адреса.
Поставь memo в режиме ReadOnly
...
Рейтинг: 0 / 0
24.10.2018, 11:13
    #39721924
petrovichvanya
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Автоматическое расширение формы
alekcvp, что такое МеткаАдреса ?
...
Рейтинг: 0 / 0
24.10.2018, 11:30
    #39721935
Мимопроходящий
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Автоматическое расширение формы
24.10.2018 11:00, cptngrb пишет:
> Кнопки нормально будут смотреться, если использовать якоря.

якоря изначально кривые.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
24.10.2018, 11:41
    #39721944
wadman
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Автоматическое расширение формы
petrovichvanyaДля вывода текста используется StaticText, там отсутствует Canvas.TextWidth и WordWrap(чтобы вниз расширить)
Канвас у формы.
...
Рейтинг: 0 / 0
24.10.2018, 11:51
    #39721955
Док
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Автоматическое расширение формы
Мимопроходящийякоря изначально кривые.
в Лазаре все пучком. Иногда этого жутко не хватает в Дельфях, приходится городить кучу парафункционального кода

petrovichvanyaДля вывода текста используется StaticText, там отсутствует Canvas.TextWidth и WordWrap(чтобы вниз расширить)
а так?
Код: pascal
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
uses
...
, Graphics
...

procedure ....
var ARect: TRect;
     h: integer; //высота текста внутри ARect
begin
...
//ATxt - отображаемый текст
//Self.Canvas - холст формы, где лежит StaticText
//высчитываем высоту текста 
          ARect:= Rect(0,0,StaticText.Width,StaticText.Height);
          h:= DrawText(Self.Canvas.Handle,PChar(ATxt),-1,ARect,DT_CALCRECT or DT_WORDBREAK);

//далее увеличиваем/уменьшаем высоту формы на разницу между текущей высотой StaticText и h
end;

...
Рейтинг: 0 / 0
24.10.2018, 14:13
    #39722113
Василий 2
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Автоматическое расширение формы
Якоря очень веселый эффект дают на увеличенном DPI в средах, которые не совсем DPI-aware (до 10ки как минимум, а судя по чейнджлогам только-только как следует допилили)
...
Рейтинг: 0 / 0
24.10.2018, 14:18
    #39722123
alekcvp
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Автоматическое расширение формы
petrovichvanyaalekcvp, что такое МеткаАдреса ?

Компонент с текстом "Адрес: ".
...
Рейтинг: 0 / 0
24.10.2018, 14:19
    #39722124
alekcvp
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Автоматическое расширение формы
Мимопроходящий24.10.2018 11:00, cptngrb пишет:
> Кнопки нормально будут смотреться, если использовать якоря.

якоря изначально кривые.


Не знаю про D6, но с XE начиная - всё отлично работает (у меня).
...
Рейтинг: 0 / 0
Форумы / Delphi [игнор отключен] [закрыт для гостей] / Автоматическое расширение формы / 17 сообщений из 17, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]