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. OpenChild is also used to:
  • define the display position of child window,
  • pass parameters to the child window.
The following events are run when OpenChild is called:
  • "Global declarations" of the child window,
  • control initialization codes (undefined order),
  • processes/events after the call to the OpenChild function of the parent window,
  • the child window is displayed.
Remark: By default, the child window keeps focus once it is opened.
WEBDEV - Server codeWindowsLinux This function is available only to simplify the Webification of WINDEV projects. In a WEBDEV site, this function has the same behavior as PageDisplay.
// Open the child window named "WIN_EditWindow"
// without positioning and without passing parameters
OpenChild(WIN_EditWindow)
// 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".
OpenChild(WIN_EditWindow, EDT_EditCustomer)
// -- Event "Global declarations" of "WIN_EditWindow"
// Retrieve the parameters
PROCÉDURE WIN_EditWindow(Customer)
HReadSeek(Customer, CustomerName, Customer)
IF HFound() = True THEN
FileToScreen()
ELSE
Error("No customer matches")
END
Syntax

Opening a child window Hide the details

OpenChild(<Window> [, <Parameter 1> [... [, <Parameter N>]]])
<Window>: String or window name
  • Name of child window to open.
  • Name and full path of child window (".WDW" file) to open.
    Universal Windows 10 AppAndroidJava 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).

Opening a child window while defining its position and its display level Hide the details

OpenChild(<Window name [ + <Level>]> [, <Parameter 1> [... [, <Parameter N>]]])
<Window name [ + <Level>]>: Character string + Integer constant
Used to specify:
  • the window to open (<Window name>). This parameter can correspond to:
    • Name of child window to open.
    • Name and full path of child window (".WDW" file) to open.
      Universal Windows 10 AppAndroidJava You cannot specify the full name of file to open (".WDW" file).
    By default, the window is displayed according to the position defined in the editor. You can define the display position of the window. The window name is completed by the window display coordinates when opened. This parameter has the following format:
    "[<Alias>] = <Window name> [, <Y>, <X>]"

    where:
    • <Alias>: alias of the window if the same window is opened several times.
    • <Window name>: name of the child window to open.
      WINDEV To avoid giving focus to the opened window, use the following notation: <Window name> + NoFocus. The event "Gain of focus" of the child window will not be run. Caution: in this case, the window name must be enclosed in quotes.
    • <Y>: vertical display coordinate (in pixels) of window (in relation to the top left corner of screen or parent window).
    • <X>: horizontal display coordinates (in pixels) of window (in relation to the top left corner of screen or parent window).
    Remarks:
    • Universal Windows 10 App The <X> and <Y> parameters are not available.
    • The coordinates are ignored if the window is defined as centered in the editor. It is recommended to use WinSize to change the position of a window.
  • the window display level (<Level>):
    AboveWindow opened above all its sibling windows.
    AboveAllWindow opened above all the other windows (including the windows of other applications).
    Universal Windows 10 AppAndroidJava Constant not available.

    If one of these constants is used, the name of the window must be enclosed in quotes.
    Remark: If two windows are opened with the same constant (Above or AboveAll), the second window will be opened above the first one.
    It is recommended to use WinStatus to change the display level of a window.
    Universal Windows 10 App Parameter not available.
<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 OpenChild in the parent window are run.
  • the user will have the ability to click one of the parent windows of opened window.
    AndroidiPhone/iPadApple Watch The controls found in the parent windows cannot be accessed by the user as long as a child window is opened.
WINDEV Remark: 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 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).
WINDEVReports and QueriesUser 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

  • 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 OpenChild must not be called in the closing code of a child window.

Closing a window

A window opened with 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: wd300obj.dll
Minimum version required
  • Version 9
This page is also available for…
Comments
Click [Add] to post a comment

Last update: 05/26/2022

Send a report | Local help