Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 10.05.2013, 16:30   #11
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
они растягиваются на больше чем нужно
Я обычно выставляю align и autosize для компонентов, и выравниваю их панелями на форме.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 10.05.2013, 16:47   #12
Алексей_2012
t45t
Участник клуба
 
Аватар для Алексей_2012
 
Регистрация: 20.03.2012
Сообщений: 1,849
По умолчанию

Цитата:
Я обычно выставляю align и autosize для компонентов, и выравниваю их панелями на форме.
align у меня alCustom
autosize=false;

а как выравнять панелями?
from dark to light)
Алексей_2012 вне форума Ответить с цитированием
Старый 10.05.2013, 17:15   #13
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
как выравнять панелями?
Даже не знаю как на словах описать...
Кидаешь панель, задаешь ей выравнивание alTop. На нее две кнопки - одна alLeft вторая alClient. Таким образом при развороте формы кнопки сами будут разворачиваться. Понятное дело что все проблемы на этом не решаются, но я привык так делать. Некоторые свойства некоторых контролов конечно приходится описывать в OnResize, но при таком раскладе не всех.
Это как бы "говнокод верстки таблицами", но меня устраивает.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 10.05.2013, 20:00   #14
xrob
Форумчанин
 
Регистрация: 18.10.2010
Сообщений: 419
По умолчанию

Цитата:
А если разрешение экрана другое и/или размер шрифта
Не заметил у автора ничего, связанного со шрифтами, но это не суть.
Даже если бы от них чего и зависело, что мешает воспользоваться Canvas.TextHeight / TextWidth ?
или это неправильно? если это неправильно, зачем тогда нужны эти функции?
компонент написан для неправильных целей?

я в своих проектах все выравниваю ручками в OnResize,
по-моему это не так уж и сложно...
xrob вне форума Ответить с цитированием
Старый 10.05.2013, 20:03   #15
Yurk@
Участник клуба
 
Аватар для Yurk@
 
Регистрация: 19.12.2007
Сообщений: 1,100
По умолчанию

Цитата:
я в своих проектах все выравниваю ручками в OnResize,
по-моему это не так уж и сложно...
ну если у тебя на форме десяток компонентов - не сложно.
а когда их много десятков - каждый ровнять - к чем такие пляски если есть Anchors
На форуме: Помогаю за спасибо
ICQ\Skype: Это моё личное время ...
Yurk@ вне форума Ответить с цитированием
Старый 11.05.2013, 19:05   #16
Алексей_2012
t45t
Участник клуба
 
Аватар для Алексей_2012
 
Регистрация: 20.03.2012
Сообщений: 1,849
По умолчанию

верно, но анкорс не всегда помогает так, как хотелось бы
from dark to light)
Алексей_2012 вне форума Ответить с цитированием
Старый 11.05.2013, 19:13   #17
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
анкорс не всегда помогает так, как хотелось бы
Верно. Поэтому
Цитата:
я в своих проектах все выравниваю ручками в OnResize
Рекурсия, господа
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 11.05.2013, 23:55   #18
Алексей_2012
t45t
Участник клуба
 
Аватар для Алексей_2012
 
Регистрация: 20.03.2012
Сообщений: 1,849
По умолчанию

В общем анкорс для картинки три никак не сработал, картинка уходит за ричедит, в общем пришлось написать в ручную все

Код:
procedure TForm1.EffectButton1Click(Sender: TObject);
var io:shortint;
begin
 if Form1.WindowState<>wsMaximized then
  begin
  Form1.WindowState:=wsMaximized;
   for io := 0 to ComponentCount - 1 do
   begin
    if (Components[io] is Timage) then
    begin
     if Components[io]=image10 then continue;
    (Components[io] as Timage).height:=350;
    (Components[io] as Timage).width:=350;
    end;
    if (Components[io] is Tbutton) then  (Components[io] as Tbutton).Top:=image3.top+image3.height+50;
   end;
  effectbutton1.Hint:='Ñâåðíóòü';
  end
 else
  begin
   Form1.WindowState:=wsnormal;
   effectbutton1.Hint:='Ðàçâåðíóòü';
   for io := 0 to ComponentCount - 1 do
   begin
    if (Components[io] is Timage) then
    begin
     if Components[io]=image10 then continue;
    (Components[io] as Timage).height:=250;
    (Components[io] as Timage).width:=250;
    end;
      if (Components[io] is Tbutton) then  (Components[io] as Tbutton).Top:=image3.top+image3.height+50;
   end;
  end;
 effectbutton2.left:=statictext2.width-53;
 effectbutton1.left:=effectbutton2.left-60;
   image3.left:=richedit1.left-image3.Width-35;
 end;
как можно упростить?
from dark to light)
Алексей_2012 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Добавление своих объектов в Добавление своих объектов в двунаправленный кольцевой список voidmain C# (си шарп) 3 21.03.2013 13:08
Преобразование координат. Vegas Помощь студентам 15 17.12.2011 20:29
Создание и уничтожение объектов. Время жизни объектов C++/C# Anett// Помощь студентам 0 24.10.2011 23:26
упорядоченность координат homereader Помощь студентам 4 03.06.2011 14:16
Сортировка координат Sparky Помощь студентам 9 08.10.2009 16:31