SASGIS - SAS.Планета
View Issue Details
0003350SAS.Планета[All Projects] Багpublic08-07-2018 10:5613-07-2018 14:33
zed 
zed 
normalminorhave not tried
resolvedfixed 
160707 
181221181221 
0003350: Не работает масштабирование панелей вкладки Загрузить операций с выделенной областью при dpi <> 96
В Delphi Tokyo (и по-моему, в XE2 было так же) на фрейме TfrTilesDownload не масштабируется ширина панелей выбора карты (pnlMapSelect) и настроек (pnlBottom) при dpi большем, чем 96 (см. скриншот before - в системе с установленным dpi = 106). Delphi 2007 этот фрейм масштабирует нормально и растягивает указанные панели как надо.

Не знаю, как это можно исправить по-человечески, но работает вот такой фикс в TfrTilesDownload.Init:

  {$IF CompilerVersion > 19}
  if Screen.PixelsPerInch <> 96 then begin
    pnlMapSelect.Width := Self.Width - pnlZoom.Width;
    pnlBottom.Width := Self.Width - pnlZoom.Width;
  end;
  {$IFEND}


Если нет других предложений, то предлагаю добавить этот фикс.
No tags attached.
related to 0003317resolved zed Пропадают настройки вкладки "Загрузки" при масштабе Windows 200%  
png before.png (26,363) 08-07-2018 10:56
http://www.sasgis.org/mantis/file_download.php?file_id=2222&type=bug
png

png after.png (26,406) 08-07-2018 10:56
http://www.sasgis.org/mantis/file_download.php?file_id=2223&type=bug
png
Issue History
08-07-2018 10:56zedNew Issue
08-07-2018 10:56zedStatusnew => assigned
08-07-2018 10:56zedAssigned To => zed
08-07-2018 10:56zedFile Added: before.png
08-07-2018 10:56zedFile Added: after.png
09-07-2018 12:26vdemidovNote Added: 0018358
09-07-2018 13:08zedNote Added: 0018359
09-07-2018 15:35vdemidovNote Added: 0018360
13-07-2018 14:05zedNote Added: 0018365
13-07-2018 14:06zedStatusassigned => resolved
13-07-2018 14:06zedFixed in Version => 181221
13-07-2018 14:06zedResolutionopen => fixed
13-07-2018 14:20vdemidovNote Added: 0018366
13-07-2018 14:33zedRelationship addedrelated to 0003317

Notes
(0018358)
vdemidov   
09-07-2018 12:26   
Ну, не знаю, это уж как-то совсем костыльно выглядит. Нужно как-то в общем виде это решать. В других же фреймах почти такие же должны быть проблемы. А если там проблем нет - нужно смотреть в чем отличие.
(0018359)
zed   
09-07-2018 13:08   
Больше нигде проблем нету.
(0018360)
vdemidov   
09-07-2018 15:35   
Значит нужно искать в чем отличие. Там или какая-то пропертя явно установлена, котрая в других фреймах стоит в состоянии по-умолчанию и отличается в разных версиях, или наоброт не выставленна, а в остальных установлена. Или может чего-то забыли при инициализации в конструкторе или в создающем коде. Ну не бывает же чудес. Там плюс-минус одинаковые фреймы на всех вкладках используются.
(0018365)
zed   
13-07-2018 14:05   
Дело было (и есть) в свойстве Align. У указанных панелей оно было установлено в alCustom и новая Delphi из-за этого почему-то не смогла отмасштабировать размеры этих панелей. На остальных вкладках ни одна панель не выравнивается как alCustom, поэтому там и проблем нету.

Добавил панель-контейнер pnlCenter (с alClient) и положил в неё pnlMapSelect (с alTop) и (pnlMain из pnlBottom с alClient). В pnlBottom не было ничего кроме pnlMain, поэтому её удалил, так что в итоге число панелей и не увеличилось даже, но по сути, pnlCenter нужна только для фикса бага.
(0018366)
vdemidov   
13-07-2018 14:20   
> по сути, pnlCenter нужна только для фикса бага.
В любом случае, это гораздо менее костыльный вариант, чем условная компиляция.