Форум по Delphi программированию

Delphi Sources



Вернуться   Форум по Delphi программированию > Все о Delphi > [ "Начинающим" ]
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 18.12.2009, 16:27
-=Virus=- -=Virus=- вне форума
Прохожий
 
Регистрация: 28.05.2009
Сообщения: 19
Репутация: 10
По умолчанию Уменьшение Panel1 программно

Подскажите как изменить Panel1 программно.
Допустим.Уменьшить до определёного размера и поставить дапустим поцентру его.
Ответить с цитированием
  #2  
Старый 18.12.2009, 16:37
lmikle lmikle вне форума
Модератор
 
Регистрация: 17.04.2008
Сообщения: 8,036
Версия Delphi: 7, XE3, 10.2
Репутация: 49089
По умолчанию

Установкой свойств Top, Left, Width и Height.
Да, еще якоря и выравнивание должны позволять это сделать.
Ответить с цитированием
  #3  
Старый 18.12.2009, 16:47
Аватар для Енот
Енот Енот вне форума
Прохожий
 
Регистрация: 17.12.2009
Сообщения: 28
Репутация: 10
По умолчанию

Чтобы поставить по центру:
Код:
Panel1.left:=(Form1.width div 2)-(Panel1.width div 2);
Panel1.top:=(Form1.height div 2)-(Panel1.height div 2);
Ответить с цитированием
  #4  
Старый 18.12.2009, 17:27
lmikle lmikle вне форума
Модератор
 
Регистрация: 17.04.2008
Сообщения: 8,036
Версия Delphi: 7, XE3, 10.2
Репутация: 49089
По умолчанию

Угу, только оптимальнее будет так:
Код:
Panel1.left:=(Form1.width - Panel1.width) div 2;
Panel1.top:=(Form1.height - Panel1.height) div 2;
Ответить с цитированием
  #5  
Старый 18.12.2009, 19:10
Аватар для Страдалецъ
Страдалецъ Страдалецъ вне форума
Гуру
 
Регистрация: 09.03.2009
Адрес: На курорте, из окна вижу теплое Баренцево море. Бррр.
Сообщения: 4,721
Репутация: 52347
По умолчанию

А быстрее и оптимальнее так:
Код:
Panel1.left:=(Form1.width - Panel1.width) shr 1;
Panel1.top:=(Form1.height - Panel1.height) shr 1;
__________________
Жизнь такова какова она есть и больше никакова.
Помогаю за спасибо.
Ответить с цитированием
  #6  
Старый 18.12.2009, 19:19
lmikle lmikle вне форума
Модератор
 
Регистрация: 17.04.2008
Сообщения: 8,036
Версия Delphi: 7, XE3, 10.2
Репутация: 49089
По умолчанию

Согласен
Но тогда еще вот это:

Код:
With Panel1 Do
  Begin
    left:=(Self.width - width) shr 1;
    top:=(Self.height - height) shr 1;
  End;

Убираем 3 из 4 операций разрешения ссылки
PS. про Self - не уверен, но есть подозрение, что это тоже более оптимально, чем обращение к переменной.

Страдалецъ, думаем дальше - как еще можно оптимизировать
Ответить с цитированием
  #7  
Старый 18.12.2009, 19:54
Аватар для Страдалецъ
Страдалецъ Страдалецъ вне форума
Гуру
 
Регистрация: 09.03.2009
Адрес: На курорте, из окна вижу теплое Баренцево море. Бррр.
Сообщения: 4,721
Репутация: 52347
По умолчанию

Но так получилось несколько больше писанины, что не радует.
__________________
Жизнь такова какова она есть и больше никакова.
Помогаю за спасибо.
Ответить с цитированием
  #8  
Старый 18.12.2009, 19:55
lmikle lmikle вне форума
Модератор
 
Регистрация: 17.04.2008
Сообщения: 8,036
Версия Delphi: 7, XE3, 10.2
Репутация: 49089
По умолчанию

Зато бинарный код компактнее и быстрее.
Ответить с цитированием
  #9  
Старый 18.12.2009, 20:02
Аватар для Страдалецъ
Страдалецъ Страдалецъ вне форума
Гуру
 
Регистрация: 09.03.2009
Адрес: На курорте, из окна вижу теплое Баренцево море. Бррр.
Сообщения: 4,721
Репутация: 52347
По умолчанию

С этим согласен. Думаю здесь можно остановится.
__________________
Жизнь такова какова она есть и больше никакова.
Помогаю за спасибо.
Ответить с цитированием
  #10  
Старый 18.12.2009, 20:16
lmikle lmikle вне форума
Модератор
 
Регистрация: 17.04.2008
Сообщения: 8,036
Версия Delphi: 7, XE3, 10.2
Репутация: 49089
По умолчанию

Наверное, да. Дальше - только если на асме переписать, но не факт, что даже так станет быстрее
Ответить с цитированием
Ответ


Delphi Sources

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 02:50.


 

Сайт

Форум

FAQ

RSS лента

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2023

ВКонтакте   Facebook   Twitter