• 0
Авторизация  
Mars M

TExpander глюки при при isExpanded=False

Вопросы

Кинул на ScrollBox несколько TExpander, если у всех свойство isExpanded := True то все нормально.

Если у какого выставить в false то с ним во время выполнения программы начинаются проблемы, может не раскрыться или исчезнуть заголовок.

IDE Delphi Tokyo 10.2, в предыдущих версиях не проверял.

Отрыл проект из папки samples, там у всех TExpander установлено true, если устанавливаю в false то тоже такая же проблема.

Проблема только в Токио или во всех версиях так?

PS: пока вышел из положения вот так.

Выставил у всех isExpanded := True и в onCreate формы добавил

  for i := 0 to ComponentCount - 1 do
    if Components[i] is TExpander then
      TExpander(Components[i]).IsExpanded := False;

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

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

1 ответ на этот вопрос

  • 0

Проблема сохранилась и в IDE Delphi Rio 10.3 . Причиной оказалось то, что в модуле FMX.StdCtrls в процедуре TExpander.UpdateControlSize указана переменная FContentHeight вместо FContent.Height

procedure TExpander.UpdateControlSize(const ChangingState: Boolean);
begin
  FChangingState := ChangingState;
  try
    if FIsExpanded then
    begin
      FContent.Visible := FIsExpanded;
      if FButton <> nil then
        Height := FButton.Height + FContent.Height; // здесь заменил FContentHeight на FContent.Height и заработало
      Repaint;
    end
    else
    begin
      Repaint;
      FContent.Visible := FIsExpanded;
      if FButton <> nil then
        Height := FButton.Height;
    end;
  finally
    FChangingState := False;
  end;
end;

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Для публикации сообщений создайте учётную запись или авторизуйтесь

Вы должны быть пользователем, чтобы оставить комментарий

Создать учетную запись

Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!

Регистрация нового пользователя

Войти

Уже есть аккаунт? Войти в систему.

Войти
Авторизация  

  • Последние посетители   0 пользователей онлайн

    Ни одного зарегистрированного пользователя не просматривает данную страницу