理论教育 如何在同一组件中使用对话框?

如何在同一组件中使用对话框?

时间:2023-05-31 理论教育 版权反馈
【摘要】:如果用户想显示对话框,则相关内容要连接到当前组件,以此为目的,程序员应该在这个组件中创建相应的窗体。属性类型IF_WD_WINDOW必须在视图控制器中声明作为对话框。图 7-39用作该对话框的窗体必须已经在组件中存在注:CREATE_WINDOW方法仅创建了新的对话框,它不会打开它。对话框按钮可以使用BUTTON_KIND参数指定哪些按钮出现在对话框中。WDDOONOPEN方法可以用于实施初始化。

如何在同一组件中使用对话框?

如果用户想显示对话框,则相关内容要连接到当前组件,以此为目的,程序员应该在这个组件中创建相应的窗体

接口IF_WD_WINDOW_MANAGER的CREATE_WINDOW方法允许程序员在事件处理程序方法中,在运行时显示的窗体上创建一个对话框。打开的对话框窗体的名称作为参数传递给CREATE_WINDOW方法。属性类型IF_WD_WINDOW必须在视图控制器中声明作为对话框。在下面的例子中,这是属性m_popup1_1,如图7-39所示。

978-7-111-54749-5-Chapter07-68.jpg

图 7-39

用作该对话框(在这种情况下,POPUP1_1)的窗体必须已经在组件中存在

978-7-111-54749-5-Chapter07-69.jpg

注:CREATE_WINDOW方法仅创建了新的对话框,它不会打开它。要打开对话框,还需要OPEN方法。

(1)对话框按钮(www.daowen.com)

可以使用BUTTON_KIND参数指定哪些按钮出现在对话框中。在上面的例子中,设置的CO_BUTTONS_YESNOCANCEL常量。这个常量是ABAP字典中类型的域为WDR_POPUP_ BUTTON_KIND的常量,该域中有一组固定值。固定值代表所有的有意义的可能性对话框按钮组合,如OK、OK/Cancel或Yes/No/Cancel的常数,作为IF_WD_WINDOW接口的属性,默认值是5。这意味着,该组合包含常量CO_BUTTON_YES、CO_BUTTON_NO和CO_ BUTTON_CANCEL,而且在对话框中将创建3个按钮,分别代表“Yes”“No”和“Cancel”。

(2)窗体对话框

在对话框视图的WDDOINIT方法中,要将按键常数链接到适当的动作Action。为了这个目的,可使用接口IF_WD_WINDOW中的SUBSCRIBE_TO_BUTTON_EVENT方法。相应动作都必须在该对话框中直接创建,自动创建的事件处理程序方法必须进行相应的编程。

978-7-111-54749-5-Chapter07-70.jpg

注:该对话框阶段模型的实例被连接到相同组件的调用窗体的实例中。出于这个原因,打开对话框时,不仅所有对话框中视图的钩子方法被调用,嵌入窗体的所有视图的钩子方法也被调用。

(3)WDDOONOPEN 和 WDDOONCLOSE方法

每个窗体控制器具有WDDOONOPEN和WDDOONCLOSE钩子方法。这两个方法都只能在一个窗体作为一个对话框被打开或关闭时处理。由于打开一个对话框不涉及任何导航,没有入站插头被调用,因此没有事件处理程序方法被处理。WDDOONOPEN方法可以用于实施初始化

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈