Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2003.06.19;
Скачать: CL | DM;

Вниз

Странное поведение свойства Align:   Найти похожие ветки 

 
Alexander ©   (2002-09-22 12:30) [0]

кидаю на форму панель, Align=Left, потом кидаю BitBtn, Align=Left и добавляю такой код:

procedure TFormMain.pnlTopClick(Sender: PObj);
begin
pnlTop.Width := pnlTop.Width - 1;
Form.Caption := Int2Str(pnlTop.Width);
end;

и что в итоге? Ширина панели корректно уменьшается, но BitBtn остаётся на месте! Хотя по всем правилам должен смещаться на 1 после каждого нажатия.


 
Alexander ©   (2002-09-22 12:32) [1]

если же изменить строку:

pnlTop.Width := pnlTop.Width + 1;

то BitBtn благополучно затирается - это уже совсем никуда не годится!


 
SPeller ©   (2002-09-22 15:00) [2]

Припиши ещё строку
BitBtn.Left:=BitBtn.Left-1;


 
Alexander ©   (2002-09-22 15:08) [3]

Нет, я привел не рабочий код, а только пример. Реально всё посложнее: там изменяется зоголовок метки, на основе этого уже идут разные размеры. А если всё делать руками, тогда для чего все эти выравнивания - для Design time?

Вот ещё примерчик:
(реально там у меня всё на панель кидается, но для простоты можно на форму - суть от этого не меняется)
кидам на форму Label, Align=Right, потом кидаем ComboBox, Align=Client. Больше ничего и делать не надо, просто запускаем и наслаждаемся...

В общем как-то не очень работают методы выравнивания.


 
Vladimir Kladov   (2002-09-23 16:50) [4]

Хотелось бы посмотреть, как вы в VCL выравнивание комбобоксу будете задавать. В KOL можно хотя бы top/bottom/left/right без особых проблем иметь.

Насчет bitbtn (пример#1) я не понял - что не так. Он же caLeft. Он и не должен никуда менять свои размеры при изменении родителя.


 
Alexander ©   (2002-09-23 17:10) [5]

>Насчет bitbtn (пример#1) я не понял - что не так. Он же caLeft.
>Он и не должен никуда менять свои размеры при изменении родителя.
Нет, я BitBtn кладу не на панель. У них с панелью общий предок и располагаются они друг за другом.

>Хотелось бы посмотреть, как вы в VCL выравнивание комбобоксу
>будете задавать. В KOL можно хотя бы top/bottom/left/right
>без особых проблем иметь.
Да, но там есть якоря.
И вообще по моему у Label правое выравнивание не работает!
О! Я даже вычислил когда оно не работает!

В общем так: панель, на ней лабел с правым выравниванием. Эта панель на форме, которая создаётся динамически и показывается модально! Во загнул! Но без этого всё работает нормально.


 
Alexander ©   (2002-09-25 13:59) [6]

Ну что, лечение этому есть? (правое выравнивание лабела на модальной форме)



Страницы: 1 вся ветка

Текущий архив: 2003.06.19;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.018 c
14-60339
Udjin
2003-05-31 00:18
2003.06.19
13 билет на экзамене


1-60117
Seldon
2003-06-04 21:46
2003.06.19
Console Application


3-60073
Def
2003-05-28 17:22
2003.06.19
dbExpress не находит db2cli.dll


1-60198
Valeron
2003-06-05 09:52
2003.06.19
Как лучше реализовать векторные обьекты?


14-60351
RIMMER
2003-06-02 10:30
2003.06.19
Экзамен уже сегодня...