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

Вниз

Выравнивание контролов   Найти похожие ветки 

 
Andrey_rus ©   (2007-08-02 14:20) [0]

Существует ли возможность использовать выравнивание не по краям формы, а по другому контролу?


 
Andrey_rus ©   (2007-08-02 14:21) [1]

Под выравниванием подразумевается AnchorBottom:= true;


 
Дмитрий К ©   (2007-08-02 14:44) [2]

если другой контрол - родитель


 
Andrey_rus ©   (2007-08-02 15:25) [3]

В том то и дело, что другой контрол не является родителем.


 
Andrey_rus ©   (2007-08-04 18:30) [4]

Дело в том, что я обнаружил неприятный глюк с расползанием интерфейса на Viste. Связан он с неправильным выравниванием контролов с AnchorBottom:= true; на форме с borderStyle:= fbsToolWindow; и CanReSize:= false; (run-time)

AnchorRight - работает нормально.


 
Vladimir Kladov   (2007-08-04 18:54) [5]

CanResize на Vista Aero не работает правильно, если устанавливать в run-time, точнее - добавляет ~8 пикселей справа и снизу. Либо форма изначально при создании должна быть CanResize=false.

По идее, с этим глюком можно бороться, устанавливая только обработчик, который не будет давать делать изменение размера, но не менять при этом стиль бордюра на thick. Тогда бы ещё надо обрабатывать WM_NCHITTEST, чтобы курсор мыши не пытался меняться на тот, которым меняют размер формы.


 
Dimaxx ©   (2007-08-05 09:18) [6]

Кстати "расползание" (правда не всего) интерфейса происходит и в ХРюше. Например, давненько приложение писал под темы (с манифестом). На одной из форм расположены метки и левее вровень с ними поля редактирования так, чтобы текст метки был на одной линии с текстом поля редактирования (ну вот нравится мне, чтобы все было аккуратно и красиво как по линейке! :) ). Так вот при отключении тем все "съехало" - текст находится не на одной линии. Как можно от этого избавится - хз, но походу никак. Только проверять при создании форм наличие включенных тем и если не включены (или наоборот) - править координаты ручками...


 
Vladimir Kladov   (2007-08-05 10:06) [7]

Координаты метки задаются всё-таки с верхнего левого угла, как и для всех контролов. В принципе можно использовать дополнительную родительскую панель, и выравнивать (метку - alLeft, edit - alClient), но это может быть накладно, если контролов много. В таком случае действительно лучше своим кодом в run-time поправлять. Опять же, темы могут поменяться на лету, тогда надо отлавливать соответствующее сообщение (посмотрите в коде от MTsvDN, он добавил перехват этот сообщения).



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

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

Наверх




Память: 0.48 MB
Время: 0.015 c
11-1186055013
Alexey_k
2007-08-02 15:43
2008.03.23
Не изменяется цвет TKolToolbar


2-1202884430
Alex
2008-02-13 09:33
2008.03.23
Новый обработчик иконки help окна


2-1202308435
dusha
2008-02-06 17:33
2008.03.23
Динамическая вставка фрейма в форму?


2-1204059135
Strate
2008-02-26 23:52
2008.03.23
Скорость работы.


15-1202726594
Циркуль
2008-02-11 13:43
2008.03.23
Сохранение документа в PDF