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

ClientWidth и ClientHeight

Вопросы

Здравствуйте. Не могу найти в FMX у многих компонентов такие свойства как ClientWidth и ClientHeight. В частности, я хочу установить в TStringGrid ширину колонок, чтобы избежать появления вертикальной полосы прокрутки, но ширину клиентской области узнать не могу (в отличие от VCL, где пользовался ClientWidth). Или хотя бы, как узнать ширину полосы прокрутки, если напрямую ClientWidth не узнать?

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


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

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

  • 0

Нашёл, что ширину ScrollBar можем узнать так: 

int ScrollBarW=GetSystemMetrics(SM_CXVSCROLL);

А всё-таки,  клиентские размеры убрали из FMX?

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


Ссылка на сообщение
Поделиться на другие сайты
  • 0
1 час назад, Letos сказал:

Нашёл, что ширину ScrollBar можем узнать так: 


int ScrollBarW=GetSystemMetrics(SM_CXVSCROLL);

А всё-таки,  клиентские размеры убрали из FMX?

клиентские размеры есть у TCommonCustomForm (в следствии и у наследников, TForm) 
 

FWinService: IFMXWindowService;

...

function TCommonCustomForm.GetClientHeight: Integer;
begin
  Result := round(FWinService.GetClientSize(Self).Y);
end;

function TCommonCustomForm.GetClientWidth: Integer;
begin
  Result := round(FWinService.GetClientSize(Self).X);
end;
 

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


Ссылка на сообщение
Поделиться на другие сайты
  • 0
18 часов назад, Паршенко Виктор сказал:

клиентские размеры есть у TCommonCustomForm (в следствии и у наследников, TForm) 

Так как получить клиентский размер у StringGrid?

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


Ссылка на сообщение
Поделиться на другие сайты
  • 0
1 час назад, mmover сказал:

 cw :=  Grid1.Content.Width;
 ch :=  Grid1.Content.Height;

 

Спасибо. Хоть это не совсем то, что ClientWidth в VCL (как начинаю понимать, прямого аналога нет), так Content.Width меняется при появлении полосы прокрутки и при изменении ширины колонок, но из этого уже можно что-то слепить...

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


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

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

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

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

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

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

Войти

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

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

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

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