Текущее время: Пн, июл 21 2025, 18:40

Часовой пояс: UTC + 3 часа


Правила форума


ВНИМАНИЕ!

Вопросы по SAP Query и Quick View - сюда



Начать новую тему Ответить на тему  [ Сообщений: 7 ] 
Автор Сообщение
 Заголовок сообщения: Как узнать разрешение экрана пользователя?
СообщениеДобавлено: Пт, дек 07 2012, 06:23 
Младший специалист
Младший специалист
Аватара пользователя

Зарегистрирован:
Ср, окт 05 2011, 17:54
Сообщения: 87
Пол: Мужской
Добрый день.

Есть необходимость устанавливать размеры экрана в зависимости от разрешения экрана пользователя.
Как узнать разрешение экрана и присвоить нормальную длину и высоту своим экранам!?

Заранее спасибо.


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Как узнать разрешение экрана пользователя?
СообщениеДобавлено: Пт, дек 07 2012, 09:11 
Старший специалист
Старший специалист

Зарегистрирован:
Пн, апр 17 2006, 21:49
Сообщения: 299
Откуда: Москва
WALL-E написал:
Добрый день.

Есть необходимость устанавливать размеры экрана в зависимости от разрешения экрана пользователя.
Как узнать разрешение экрана и присвоить нормальную длину и высоту своим экранам!?

Заранее спасибо.

а в чем проблема? эта тема уже обсуждалась:
Разрешение экрана...
Соотношение размера экрана отчета с экраном монитора


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Как узнать разрешение экрана пользователя?
СообщениеДобавлено: Пт, дек 07 2012, 13:06 
Модератор
Модератор
Аватара пользователя

Зарегистрирован:
Пт, июн 16 2006, 00:43
Сообщения: 1686
Откуда: Москва <-> Красноярск
Пол: Мужской
Как я понимаю, вопрос относится к модальным диалоговым экранам?

Достаточно давно писал ФМчик для центровки вызовов поп-апов. Думаю поможет.
Code:
*&---------------------------------------------------------------------*
*&      Form  calc_call_screen
*&---------------------------------------------------------------------*
*& Рассчитываем координаты вывода окна "по центру" экрана пользователя
*&---------------------------------------------------------------------*
FORM calc_call_screen USING    value(i_repid) TYPE syrepid
                               value(i_dynnr) TYPE sydynnr
                      CHANGING c_begrow TYPE i
                               c_begcol TYPE i
                               c_endrow TYPE i
                               c_endcol TYPE i.

  DATA: ls_header TYPE d020s,
        lt_fldtab TYPE TABLE OF d021s.

  CALL 'GET_WINDOW_DATA'
     ID 'BEGROW' FIELD c_begrow
     ID 'BEGCOL' FIELD c_begcol
     ID 'ENDROW' FIELD c_endrow
     ID 'ENDCOL' FIELD c_endcol.

  CALL FUNCTION 'IMPORT_DYNPRO'
       EXPORTING
            dyname = i_repid
            dynumb = i_dynnr
       IMPORTING
            header = ls_header
       TABLES
            ftab   = lt_fldtab.

  c_begrow = ( c_endrow / 2 ) - ( ls_header-noli / 2 ).
  c_begcol = ( c_endcol / 2 ) - ( ls_header-noco / 2 ).

  c_endrow = c_begrow + ls_header-noli - 1.
  c_endcol = c_begcol + ls_header-noco - 1.

ENDFORM.


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Как узнать разрешение экрана пользователя?
СообщениеДобавлено: Пн, дек 10 2012, 12:50 
Младший специалист
Младший специалист
Аватара пользователя

Зарегистрирован:
Ср, окт 05 2011, 17:54
Сообщения: 87
Пол: Мужской
Пономарев Артем написал:
Как я понимаю, вопрос относится к модальным диалоговым экранам?

Достаточно давно писал ФМчик для центровки вызовов поп-апов. Думаю поможет.
Code:
*&---------------------------------------------------------------------*
*&      Form  calc_call_screen
*&---------------------------------------------------------------------*
*& Рассчитываем координаты вывода окна "по центру" экрана пользователя
*&---------------------------------------------------------------------*
FORM calc_call_screen USING    value(i_repid) TYPE syrepid
                               value(i_dynnr) TYPE sydynnr
                      CHANGING c_begrow TYPE i
                               c_begcol TYPE i
                               c_endrow TYPE i
                               c_endcol TYPE i.

  DATA: ls_header TYPE d020s,
        lt_fldtab TYPE TABLE OF d021s.

  CALL 'GET_WINDOW_DATA'
     ID 'BEGROW' FIELD c_begrow
     ID 'BEGCOL' FIELD c_begcol
     ID 'ENDROW' FIELD c_endrow
     ID 'ENDCOL' FIELD c_endcol.

  CALL FUNCTION 'IMPORT_DYNPRO'
       EXPORTING
            dyname = i_repid
            dynumb = i_dynnr
       IMPORTING
            header = ls_header
       TABLES
            ftab   = lt_fldtab.

  c_begrow = ( c_endrow / 2 ) - ( ls_header-noli / 2 ).
  c_begcol = ( c_endcol / 2 ) - ( ls_header-noco / 2 ).

  c_endrow = c_begrow + ls_header-noli - 1.
  c_endcol = c_begcol + ls_header-noco - 1.

ENDFORM.


Спасибо. Попробую!


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Как узнать разрешение экрана пользователя?
СообщениеДобавлено: Пт, дек 14 2012, 19:43 
Старший специалист
Старший специалист

Зарегистрирован:
Чт, май 12 2011, 16:06
Сообщения: 351
WALL-E написал:
Как узнать разрешение экрана...
Code:
    DATA: ref_consumer TYPE REF TO cl_gui_props_consumer,
          metric_factors TYPE cntl_metric_factors.
    ref_consumer = cl_gui_props_consumer=>create_consumer( ).
    metric_factors = ref_consumer->get_metric_factors( ).
        " x = metric_factors-screen-x.
        " y = metric_factors-screen-y.


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Как узнать разрешение экрана пользователя?
СообщениеДобавлено: Пт, дек 14 2012, 22:16 
Модератор
Модератор
Аватара пользователя

Зарегистрирован:
Пт, июн 16 2006, 00:43
Сообщения: 1686
Откуда: Москва <-> Красноярск
Пол: Мужской
LAT, зачем эти сложности? CL_GUI_CFW=>GET_METRIC_FACTORS - умещается в одну строку. Только зачем кому-то может понадобиться разрешение в пикселях в ABAP'е?


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Как узнать разрешение экрана пользователя?
СообщениеДобавлено: Пн, дек 17 2012, 11:45 
Старший специалист
Старший специалист

Зарегистрирован:
Чт, май 12 2011, 16:06
Сообщения: 351
Пономарев Артем написал:
зачем эти сложности? CL_GUI_CFW=>GET_METRIC_FACTORS - умещается в одну строку.
В принципе, да: содержит почти этот же код, но вызов осуществляется одной строкой. Спасибо за информацию.
Пономарев Артем написал:
Только зачем кому-то может понадобиться разрешение в пикселях в ABAP'е?
Не знаю, но:
WALL-E написал:
Есть необходимость устанавливать размеры экрана в зависимости от разрешения экрана пользователя. Как узнать разрешение экрана...
:)


Принять этот ответ
Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 7 ] 

Часовой пояс: UTC + 3 часа


Кто сейчас на конференции

Сейчас этот форум просматривают: Yandex [Bot]


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  
cron
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Русская поддержка phpBB