Показать сообщение отдельно
  #4  
Старый 01.09.2012, 21:45
andrey_60 andrey_60 вне форума
Прохожий
 
Регистрация: 01.09.2012
Сообщения: 3
Репутация: 10
По умолчанию

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

Код:
procedure TForm3.FormResize(Sender: TObject);
begin
  if ScrollBox.Height < pnlAlClientOrAlTop.Constraints.MinHeight + 10 then
  begin
    if pnlAlClientOrAlTop.Align <> alTop then
    begin
      pnlAlClientOrAlTop.Align := alTop;
      mouse_event(MOUSEEVENTF_LEFTUP, 0, 0, 0, 0);
      mouse_event(MOUSEEVENTF_LEFTDOWN, 0, 0, 0, 0);
    end;
  end
  else
  begin
    if pnlAlClientOrAlTop.Align <> alClient then
      pnlAlClientOrAlTop.Align := alClient;
  end;
end;

Буду благодарен за другие решения, а также за комментарий этого.
Ответить с цитированием