如果用户想显示对话框,则相关内容要连接到当前组件,以此为目的,程序员应该在这个组件中创建相应的窗体。
接口IF_WD_WINDOW_MANAGER的CREATE_WINDOW方法允许程序员在事件处理程序方法中,在运行时显示的窗体上创建一个对话框。打开的对话框窗体的名称作为参数传递给CREATE_WINDOW方法。属性类型IF_WD_WINDOW必须在视图控制器中声明作为对话框。在下面的例子中,这是属性m_popup1_1,如图7-39所示。
图 7-39
用作该对话框(在这种情况下,POPUP1_1)的窗体必须已经在组件中存在
注: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方法。相应动作都必须在该对话框中直接创建,自动创建的事件处理程序方法必须进行相应的编程。
注:该对话框阶段模型的实例被连接到相同组件的调用窗体的实例中。出于这个原因,打开对话框时,不仅所有对话框中视图的钩子方法被调用,嵌入窗体的所有视图的钩子方法也被调用。
(3)WDDOONOPEN 和 WDDOONCLOSE方法
每个窗体控制器具有WDDOONOPEN和WDDOONCLOSE钩子方法。这两个方法都只能在一个窗体作为一个对话框被打开或关闭时处理。由于打开一个对话框不涉及任何导航,没有入站插头被调用,因此没有事件处理程序方法被处理。WDDOONOPEN方法可以用于实施初始化。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。