ONLINE HELP
 WINDEVWEBDEV AND WINDEV MOBILE

This content has been translated automatically.  Click here  to view the French version.
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
  • Limitation
  • Closing a window
  • Title of the window to be opened
  • Opening the window of a component
WINDEV
WindowsLinuxJavaReports and QueriesUser code (UMC)
WEBDEV
WindowsLinuxPHPWEBDEV - Browser code
WINDEV Mobile
AndroidAndroid Widget iPhone/iPadIOS WidgetApple WatchMac Catalyst
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 retains focus once opened.
WEBDEV - Server codeWindowsLinux This function is available only to simplify the Webification of WINDEV projects. In a WEBDEV website, 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.
    AndroidJava 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. Warning: in this case, the window name must be enclosed in quotation marks.
<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 be a variable of type array (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 be a variable of type array (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.
      AndroidJava 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> window alias if the same window is opened several times.
    • <Nom de la fenêtre> name of the child window to be opened.
      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. Warning: in this case, the window name must be enclosed in quotation marks.
    • <Y> Vertical coordinate (abscissa in pixels) of window display (relative to top left corner of screen or parent window).
    • <X>: horizontal coordinate (ordinate in pixels) of window display (relative to top left corner of screen or parent window).
    Note: If the window is declared centered in the editor, the coordinates are ignored.. 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).
    AndroidJava Constant not available.

    If one of these constants is used, the name of the window must be enclosed in quotes.
    Note: If two windows are opened with the same constant (Top or TopAll), the second window will be opened above the first window.
    It is recommended to use WinStatus to change the display level of a window.
<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 be a variable of type array (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 be a variable of type array (arrays can only be passed by reference).
Remarks

Parameters passed to the child window to open

The parameters are retrieved in the "Global declarations" event 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 Note: The OpenChild function focuses 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.

Limitation

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.

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 change the window title, use NextTitle or CurrentTitle.

Opening the window of a component

To open the window of a component, simply use the name of the component window (component 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: 01/16/2025

Send a report | Local help