Текущее время: Вс, июл 20 2025, 17:11

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


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


ВНИМАНИЕ!

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



Начать новую тему Ответить на тему  [ Сообщений: 14 ] 
Автор Сообщение
 Заголовок сообщения: растягивание контейнера на всю область подэкрана
СообщениеДобавлено: Ср, май 11 2005, 09:58 
Специалист
Специалист
Аватара пользователя

Зарегистрирован:
Пн, сен 20 2004, 12:06
Сообщения: 121
Пол: Мужской
Насколько мне известно , размеры подэкрана на форме изменяются в зависимости от разрешения экрана или при изменении размеров самой гуишки.

Как сделать так, чтоб и контейнер помещённый в область подэкрана тоже соответственно изменялся в размерах


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Ср, май 11 2005, 10:24 
Почетный гуру
Почетный гуру
Аватара пользователя

Зарегистрирован:
Чт, сен 09 2004, 07:32
Сообщения: 777
Откуда: Москва
Пол: Мужской
Укажи в качестве Parent'а к создаваемому SAP Enjoy элементу
cl_gui_container=>screen0,
не создавая на динпро контейнер.

_________________
"Прежде чем сделать что-то, подумай, к чему это может привести..."


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: растягивание контейнера на всю область подэкрана
СообщениеДобавлено: Ср, май 11 2005, 13:01 
Младший специалист
Младший специалист
Аватара пользователя

Зарегистрирован:
Пн, окт 18 2004, 12:27
Сообщения: 93
vinter написал:
Насколько мне известно , размеры подэкрана на форме изменяются в зависимости от разрешения экрана или при изменении размеров самой гуишки.

Как сделать так, чтоб и контейнер помещённый в область подэкрана тоже соответственно изменялся в размерах


Стандартный способ SAP: сделать очень большую область-для-контейнера на экране и включить у нее в свойствах галочки автомасштабирования.


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Ср, май 11 2005, 14:12 
Специалист
Специалист
Аватара пользователя

Зарегистрирован:
Пн, сен 20 2004, 12:06
Сообщения: 121
Пол: Мужской
Спасибо
реализовал Второй способ


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Ср, май 11 2005, 14:32 
Почетный гуру
Почетный гуру
Аватара пользователя

Зарегистрирован:
Ср, май 04 2005, 16:29
Сообщения: 687
Откуда: Нижневартовск->Москва
Пол: Мужской
nicky555 написал:
cl_gui_container=>screen0,

На мой взгляд несколько лучше использовать cl_gui_container=>default_screen


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Ср, май 11 2005, 14:42 
Почетный гуру
Почетный гуру
Аватара пользователя

Зарегистрирован:
Чт, сен 09 2004, 07:32
Сообщения: 777
Откуда: Москва
Пол: Мужской
готов поспорить :wink:
кстати, задачка из серии "проверь себя".
мне не очень понятно, что будет, если обращаться не к screen0, а к default_screen. Ведь эти экраны есть, как я понимаю, листинговые области (до 9-ти), то бишь на них нельзя поместить control... :roll:
что будет, если, находясь в одной из листинговых областей, я попытаюсь указать ее как parent?
и смогу ли я перемещаться между своими control'ами в пределах динпро, указав в качестве parenta screen0 - screen9?

_________________
"Прежде чем сделать что-то, подумай, к чему это может привести..."


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения:
СообщениеДобавлено: Ср, май 11 2005, 15:27 
Почетный гуру
Почетный гуру
Аватара пользователя

Зарегистрирован:
Ср, май 04 2005, 16:29
Сообщения: 687
Откуда: Нижневартовск->Москва
Пол: Мужской
nicky555 написал:
..эти экраны есть, как я понимаю, листинговые области (до 9-ти), то бишь на них нельзя поместить control...


Прикол в том, что листинг сам находится в контейнере :) И вот уже в него попадёт control. А листинг будет жить под ним :) Причём с возможностью сохраняться, печататься и т.п.


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Ср, май 11 2005, 15:51 
Почетный гуру
Почетный гуру
Аватара пользователя

Зарегистрирован:
Ср, май 04 2005, 16:29
Сообщения: 687
Откуда: Нижневартовск->Москва
Пол: Мужской
В любом случае этой фичей лучше не пользоваться (имеется в виду вообще и screen0 и default_screen ), поскольку возникает гемор с тем, что реально не будет связи между экраном (в программном смысле) и контролом. И если будут переходы между экранами, то все они будут "под" этим контролом.

в догонку мааааленький прикол :)
Code:
data: alvgrid type ref to cl_gui_alv_grid.

CREATE OBJECT ALVGRID EXPORTING I_PARENT
                          = CL_GUI_CONTAINER=>SCREEN1.
message i002(sy).


Ну и в итоге суть происходящего:

SCREEN1-9 это уровни диалога. Точнее "глубина" перехода по неполноэкранным окошкам. Если в примере звать вместо message call screen NNNN starting at ... , то получим то же самое. Соответственно, если занять контейнеры определённого уровня под свои "нужды", тогда то, что должно было бы попасть в него, будет закрыто нашим контролом.

Но если воспользоваться DEFAULT_SCREEN, то контрол попадёт в текущий уровень, каким бы по номеру он не был.

А гемор заключается в том, что если у вас после занятия, например, нулевого уровня вызовется экран в полный размер, то он тоже будет занят вашим контролом.


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Ср, май 11 2005, 17:26 
Почетный гуру
Почетный гуру
Аватара пользователя

Зарегистрирован:
Ср, май 04 2005, 16:29
Сообщения: 687
Откуда: Нижневартовск->Москва
Пол: Мужской
Сказанное выше про гемор относится к одной и той же internal сессии. При переходе из одной в другую уровни выстраиваются заново, поэтому всё будет ОК. Там свои SCREEN#.

PS И зафлудил же я эту тему... :oops:


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Ср, май 11 2005, 17:31 
Гость
Все вышесказанное Т подтверждается работой режима 'управления форматами'. При использовании cl_gui_container=>screen0 и cl_gui_container=>default_screen PF-статус, заголовок и т.д. от режима 'управления форматами', а вот вместо грида со списком форматов предыдущий грид. Аналогичная картины при вызове из одного грида второго, из второго - третьего при обработке нажатия на какую-то свою кнопку.


Принять этот ответ
Вернуться к началу
  
 
 Заголовок сообщения:
СообщениеДобавлено: Ср, май 11 2005, 17:44 
Почетный гуру
Почетный гуру
Аватара пользователя

Зарегистрирован:
Ср, май 04 2005, 16:29
Сообщения: 687
Откуда: Нижневартовск->Москва
Пол: Мужской
Stenj_90 написал(а):
вместо грида со списком форматов предыдущий грид.


Кстати, до меня только что дошло.. Если subscreen будет использовать эти контейнеры, то он займёт весь экран собой..

Точнее, кто последний туда что-то сунул, то и будет сверху плавать :)


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Чт, май 12 2005, 08:51 
Почетный гуру
Почетный гуру

Зарегистрирован:
Вт, авг 17 2004, 10:45
Сообщения: 550
Откуда: SAP_BASIS 640
Хочу внести в вопрос некоторую ясность. Вот выдержка из BC412
Цитата:
You can assign an SAP container to
An area on a screen (SAP Custom Container)
A entire screen (SAP Docking Container, SAP Dialog Box Container)
Another container (SAP Splitter Container, SAP Easy Splitter Container)

The fact that you can nest controls provides further display possibilities.

When you create an instance of a SAP container, you assign it to a dialog box level, which you cannot subsequently change.

A dialog box level is created in ABAP when the CALL SCREEN <screen_no> STARTING AT <left_column_no> <top_row_no> [ENDING AT <right_column_no> <bottom_row_number>].

When you instantiate a container, the class constructor creates the container instances SCREEN0, SCREEN1, ..., SCREEN9. These are assigned to the different dialog box levels. Dialog box level 0 = SCREEN0, level 1 = SCREEN1, ... Dialog box level 9 = SCREEN9.

The container instances SCREEN0, ... , SCREEN9 are called top-level containers. They are used directly as parent controls for the SAP Custom Control, SAP Docking Control, and SAP Dialog Box Control.

When you instantiate an SAP container, the top-level containers SCREEN0 to SCREEN9 are created.

They are created in the internal session in which the program is running.

The SAP container control at the frontend is controlled using the ABAP runtime object you create using the CREATE OBJECT <obj> statement.

When you create the container object in ABAP, the container object is assigned to a top-level container (by default, the current dialog box level). Once a container has been attached to a top-level container, you cannot change the assignment during the program.

The top-level container to which a container is assigned affects its visibility, and hence that of the other controls you display in it.

Controls in a container are only visible when the corresponding container is visible.

As a rule, a SAP container object at the frontend can be addressed for as long as the program that created the container is active in main memory (for the lifetime of the corresponding internal session). We say that the lifetime of the frontend control is linked to that of the internal session.

The container control is only visible at the frontend on screens with the same dialog box level.
Either on the screen with which the container control was created, or
On screens to which the container is subsequently assigned (re-linked).

The level in the screen stack to which a screen belongs is irrelevant - the decisive factor is the dialog box level:
In the graphic, the container control on screen 100 is assigned to dialog box level 0. The container is visible at the frontend whenever screen 100 appears in dialog box 0 (regardless of whether it is called using SET SCREEN 100 or CALL SCREEN 100 from dialog box level 0).
The container is not visible at the frontend (but still active) if the screen containing it is hidden by another screen at the same dialog box level or if the dialog box level changes up or down.


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения:
СообщениеДобавлено: Чт, май 12 2005, 09:43 
Почетный гуру
Почетный гуру
Аватара пользователя

Зарегистрирован:
Ср, май 04 2005, 16:29
Сообщения: 687
Откуда: Нижневартовск->Москва
Пол: Мужской
EGF написал(а):
Хочу внести в вопрос некоторую ясность. Вот выдержка из BC412


Thnx! Как раз сегодня заимел этот курс. Надо почитать, хватит экспериментов :)


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Ср, июл 27 2005, 15:10 
Гость
T написал:
EGF написал(а):
Хочу внести в вопрос некоторую ясность. Вот выдержка из BC412


Thnx! Как раз сегодня заимел этот курс. Надо почитать, хватит экспериментов :)


А он у тебя на английском? А то я никак не найду :( Пришли, пожалуйста, если не трудно: id_imp<злая собака>mail<дот>ru
Взамен могу на немецком выслать :)


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

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


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

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


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

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