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

Часовой пояс: 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 часа


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

Сейчас этот форум просматривают: нет зарегистрированных пользователей


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

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