ONLINE HELP
 WINDEVWEBDEV AND WINDEV MOBILE

Help / WLanguage / WLanguage functions / Controls, pages and windows / Window functions
  • Parameters passed to the child window to open
  • Window opening mode
  • Position of parent window
  • Opening the same window several times
  • Limitations
  • Closing a window
  • Title of the window to be opened
  • Opening a component window
WINDEV
WindowsLinuxUniversal Windows 10 AppJavaReports and QueriesUser code (UMC)
WEBDEV
WindowsLinuxPHPWEBDEV - Browser code
WINDEV Mobile
AndroidAndroid Widget iPhone/iPadIOS WidgetApple WatchMac CatalystUniversal Windows 10 App
Others
Stored procedures
Opens a non-modal child window. <Page>.OpenChild is also used to:
  • define the display position of child window,
  • pass parameters to the child window.
The following events are run when <Page>.OpenChild is called:
  • "Global declarations" of the child window,
  • control initialization codes (undefined order),
  • processes/events after the call to the <Page>.OpenChild function of the parent window,
  • the child window is displayed.
Remark: By default, the child window keeps focus once it is opened.
WindowsLinux This function is available only to simplify the Webification of WINDEV projects. In a WEBDEV site, this function has the same behavior as <Page>.Display.
Example
// Open the child window named "WIN_EditWindow"
// without positioning and without passing parameters
WIN_EditWindow.OpenChild()
// Open the child window named "WIN_EditWindow".
// The value of the "EDT_EditCustomer" control is passed as parameter to the event
// "Global declarations" of "WIN_EditWindow".
WIN_EditWindow.OpenChild(EDT_EditCustomer)
// -- Event "Global declarations" of "WIN_EditWindow"
// Retrieve the parameters
PROCEDURE WIN_EditWindow(Customer)
Customer.ReadSeek(CustomerName, Customer)
IF Customer.Found() = True THEN
FileToScreen()
ELSE
Error("No customer matches")
END
Syntax

Opening a child window Hide the details

<Window>.OpenChild([<Parameter 1> [... [, <Parameter N>]]])
<Window>: Window name
  • Name of child window to open.
  • Name and full path of child window (".WDW" file) to open.
    Universal Windows 10 AppJava You cannot specify the full name of file to open (".WDW" file).
WINDEV To avoid giving focus to the opened window, use the following notation: <Window name> + NoFocus. The focus gain process of the child window will not be run. Caution: in this case, the window name must be enclosed in quotes.
<Parameter 1>: Type of value sent to the window (optional)
First parameter that will be passed to the "Global declarations" event of the window to open. This parameter is passed by value and is considered a variable global to the window.
This parameter cannot correspond to an array variable (arrays can only be passed by reference).
<Parameter N>: Type of value sent to the window (optional)
Nth parameter that must be passed to the "Global declarations" event of the window to open. This parameter is passed by value and is considered a variable global to the window.
This parameter cannot correspond to an array variable (arrays can only be passed by reference).
Remarks

Parameters passed to the child window to open

The parameters are retrieved in the event "Global declarations" of the window. Simply write the following line of code at the start:
PROCEDURE <Window name> (<Parameter1> [, <Parameter2> [, ...]])
These parameters are passed by value and not by reference.
For more details, see Window with parameters.

Window opening mode

The window is opened in non-modal mode:
  • the child window becomes the current window.
  • once the child window is opened, the processes following the call to <Page>.OpenChild in the parent window are run.
  • the user will have the ability to click one of the parent windows of opened window.
WINDEV Remark: <Page>.OpenChild gives focus to the child window. The code for gaining focus is run in the child window and the code for losing focus is run in the parent window. In order for the parent window to keep focus, use the NoFocus constant in the <Window name> parameter.
To manage MDI, use <Window>.MDIOpen.

Position of parent window

The parent window always remains below the child window, even if the parent window is in edit.
If this situation is not suitable, the child window must be opened by OpenSister (providing that the parent window is a non-modal window).
WINDEVUser code (UMC)

Opening the same window several times

  • If the same window is opened several time, we recommend that you use an alias. This alias is used to differentiate between each window.
  • The position of the calling window (relative to the screen or to the parent window) is chosen when the window is described in the editor. If the same window is opened several times (with an alias), the display positions must be modified at each opening (otherwise the windows will be stacked).
  • The number of windows that can be opened simultaneously depends on the available memory.

Limitations

  • <Page>.OpenChild must not be called in the project initialization code.
    WINDEV To display a "splash screen" window at the start of the application, use the "Splash screen" option when creating the executable.
  • Universal Windows 10 App <Page>.OpenChild must not be called in the closing code of a child window.

Closing a window

A window opened with <Page>.OpenChild can be closed with Close (without parameters) from any event:
  • of the window,
  • of a window control.
If a parent window is closed, its child windows are also closed.

Title of the window to be opened

By default, the window title is the one defined in the editor.
To modify the window title, use NextTitle or CurrentTitle.

Opening a component window

To open a component window, all you have to do is use the name of the component window (the component being included in the project). For example:
OpenChild(ComponentWindow)
If a conflict occurs with a project element, the element name must be prefixed by the component name. For example:
OpenChild(MyComponent.Window)
To use the name of the window in a variable, the name of the component must be specified. For example:
sWindow is string ="MyComponent.MyWindow"
OpenChild(sWindow)
Business / UI classification: UI Code
Component: wd290obj.dll
Minimum version required
  • Version 26
This page is also available for…
Comments
Click [Add] to post a comment

Last update: 06/21/2023

Send a report | Local help