Вниз
Скачать: CL | DM;

Эффект ненужного растяжения   Найти похожие ветки 

← →
Smileman   (2005-01-31 11:19) [0]

Здравствуйте!

Проблему у меня возникла следующая: вот пример ее иллюстрирующий (Delphu 7 Enterprise Edition):

1) создайте новое приложение;
2) киньте на форму допустим TPanel, установите ему Align = alClient;
3) на этот TPanel киньте например TMemo (тут от самих типов используемых контролов мало что зависит);
4) выберите в Object Inspectore наш Panel и поменяйте ему размер, все равно заданием свойств Width Height или мышкой:
5) наблюдайте полученный эффект - TPanel не изменил своего размера (чего и следовало ожидать), но TMemo какого-то черта поменял!!!

Что с этим делать, как бороться? (для мя важно так как пишу контролы, которые в себе содержат другие)! Заранее спасибо!


← →
Smileman   (2005-01-31 11:59) [1]

прошу прощения

я забыл сказать у TMemo Align тоже надо поставить alClient


← →
Eraser ©   (2005-01-31 16:10) [2]

ReAlign


← →
Smileman   (2005-01-31 16:25) [3]

А я не сказал еще:

Проблема была исправлена очень и очень локально то есть, я в своем контейнере делаю так:

procedure TXVisualChart.WMSize(var Message: TWMSize);
begin
 inherited;
 FInnerCtrl.Realign
end;

но по сути проблема остается :-), ведь мой контрол могут кинуть куда угодно... попробовать установить ловушку на родителя?


← →
Eraser ©   (2005-01-31 18:53) [4]

Smileman
Скорее всего есть какое-то более простое решение.


← →
Smileman   (2005-02-01 11:24) [5]

всегда есть более простое решение, тока чем оно проще тем сложнее его найти...


← →
GrayFace ©   (2005-02-01 20:15) [6]

Правка исходников VCL сойдет? Если да, то можно так:

procedure TControl.DoConstrainedResize(var NewWidth, NewHeight: Integer);
var
 MinWidth, MinHeight, MaxWidth, MaxHeight: Integer;
begin
 if Align in [alNone, alLeft, alRight] then
   NewWidth := Width;
 if Align in [alNone, alTop, alBottom] then
   NewHeight := Height;

а дальше if Constraints.MinWidth > 0 then и т.д.


← →
Smileman   (2005-02-02 10:42) [7]

Спасибо, но правка исходников не катит, така кая я предоставляю пользователям тока компонент без права на замену Controls.pas, поставлю -таки Hook на родителя :-)

Все, всем большое спасибо за принятое участие (всем двоим :-)))!!!



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

Скачать: CL | DM;



Память: 0.46 MB
Время: 0.023 c
14-1129093537
Ega23
2005-10-12 09:05
2005.10.30
С днем рождения! 12 октября


4-1124894011
Суслик
2005-08-24 18:33
2005.10.30
Теоретический вопрос по перемещению окон.


3-1126997161
saNat
2005-09-18 02:46
2005.10.30
Программное создание БД Access


4-1124891862
MordLesS
2005-08-24 17:57
2005.10.30
Как вытащить иконки папок и засунуть их в TTreeView?


6-1120718169
zorik
2005-07-07 10:36
2005.10.30
Первый форум. Не судите строго.




   Наверх