Форум по Delphi программированию

Delphi Sources



Вернуться   Форум по Delphi программированию > Все о Delphi > Графика и игры
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 20.05.2016, 16:01
psiv psiv вне форума
Прохожий
 
Регистрация: 20.05.2016
Сообщения: 5
Версия Delphi: Delphi XE7
Репутация: 10
По умолчанию Форма с рисованным изображением не помещается на экране с большим разрешением

Добрый день!
В моей программе применяется форма с размерами 1280х335 пикселей.
На мониторе с разрешением экрана 1280х1024 выглядит нормально, занимает всю ширину экрана.
На мониторе с разрешением экрана 1920х1080 выглядит нормально, занимает положенные 66% ширины экрана.
А вот на планшете Teclast X98 3G с Windows 8.1 (ссылка) с диагональю 9,8" с разрешением экрана 2048х1536 и плотностью пикселей 320 dpi не помещается, обрезается правая часть. Разрешение экрана на планшете менял, плотность пикселей в параметрах формы менял, устанавливал 96, 200 и 320 dpi, результат прежний - размеры и положение стандартных контролов изменяются, а размеры формы и рисуемого программой изображения на канвасе формы - нет.
Создается впечатление, что реальное разрешение экрана планшета (по ширине) 1024, в 2 раза меньше заявленного. Но Antutu benchmark выдает те же 2048х1536.
В чем может быть проблема?
Поиск использовал, подходящей темы не обнаружил.

Последний раз редактировалось Admin, 22.05.2016 в 21:26.
Ответить с цитированием
  #2  
Старый 21.05.2016, 05:59
lmikle lmikle вне форума
Модератор
 
Регистрация: 17.04.2008
Сообщения: 8,055
Версия Delphi: 7, XE3, 10.2
Репутация: 49089
По умолчанию

FM?
Возможно не правильно определяется размер экрана устройства.
Попробуй для начала вывести что-нить типа:
Код:
ShowMessage(Format('%dx%d',[screen.width,screen.height]));
Ответить с цитированием
Этот пользователь сказал Спасибо lmikle за это полезное сообщение:
psiv (22.05.2016)
  #3  
Старый 22.05.2016, 20:31
psiv psiv вне форума
Прохожий
 
Регистрация: 20.05.2016
Сообщения: 5
Версия Delphi: Delphi XE7
Репутация: 10
По умолчанию

Спасибо, выводится 1024х768, значит режется "правильно". Но почему!?
Сайт myresolutionis.ru выводит тоже непонятное...
resolut.jpg
В чем причина? Как побороть? Не хочется перерисовывать под меньшую ширину...
Да, и что означает "FM?" в этом контексте?
Ответить с цитированием
  #4  
Старый 23.05.2016, 08:14
Аватар для NumLock
NumLock NumLock вне форума
Let Me Show You
 
Регистрация: 30.04.2010
Адрес: Северодвинск
Сообщения: 5,426
Версия Delphi: 7, XE5
Репутация: 59586
По умолчанию

А альтернативные методы тоже не помогают?

Код:
var
  dc: HDC;
begin
  Edit1.Text:=IntToStr(Screen.Width);
  Edit2.Text:=IntToStr(Screen.Height);
  //
  Edit3.Text:=IntToStr(GetSystemMetrics(SM_CXVIRTUALSCREEN));
  Edit4.Text:=IntToStr(GetSystemMetrics(SM_CYVIRTUALSCREEN));
  //
  Edit5.Text:=IntToStr(GetSystemMetrics(SM_CXFULLSCREEN));
  Edit6.Text:=IntToStr(GetSystemMetrics(SM_CYFULLSCREEN));
  //
  dc:=GetDC(0);
  Edit7.Text:=IntToStr(GetDeviceCaps(dc, HORZRES));
  Edit8.Text:=IntToStr(GetDeviceCaps(dc, VERTRES));
  ReleaseDC(0, dc);
end;
__________________
Пишу программы за еду.
__________________
Ответить с цитированием
  #5  
Старый 23.05.2016, 20:21
psiv psiv вне форума
Прохожий
 
Регистрация: 20.05.2016
Сообщения: 5
Версия Delphi: Delphi XE7
Репутация: 10
По умолчанию

Практически тоже самое...
Resolution.jpg
NumLock, прокомментируйте, пожалуйста, результат.
Возможно ли вывести мою форму с размерами 1280х335 на этот планшет полностью? Если да, то как это сделать?
Ответить с цитированием
  #6  
Старый 23.05.2016, 21:29
Аватар для NumLock
NumLock NumLock вне форума
Let Me Show You
 
Регистрация: 30.04.2010
Адрес: Северодвинск
Сообщения: 5,426
Версия Delphi: 7, XE5
Репутация: 59586
По умолчанию

Забавно. Решил проверить на своем китайском планшете Chuwi Vi8, у которого разрешение 1280*800. Программа выдала 1024*640 Кстати 1280 это и есть 125% от 1024, размер текста который и установлен в настройках экрана. Если же в настройках выбрать размер текста, приложений и друих элементов 100%, как это обычно сделано на декстопах, то все функции возвращают правильное значение. Хорошо хоть при повороте планшета ширина и высота меняются местами
__________________
Пишу программы за еду.
__________________
Ответить с цитированием
Этот пользователь сказал Спасибо NumLock за это полезное сообщение:
psiv (23.05.2016)
  #7  
Старый 23.05.2016, 23:05
psiv psiv вне форума
Прохожий
 
Регистрация: 20.05.2016
Сообщения: 5
Версия Delphi: Delphi XE7
Репутация: 10
По умолчанию

Спасибо за подсказку. В Windows 8.1 две раздельные регулировки - размер всех элементов и размер текста некоторых элементов. Поигравшись ими и найдя переключение дополнительных значений разрешения экрана, получил решение своей проблемы.
Ответить с цитированием
Ответ


Delphi Sources

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

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

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 20:14.


 

Сайт

Форум

FAQ

RSS лента

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2023

ВКонтакте   Facebook   Twitter