GETOWHND

Use this routine to find the current window handle of the named Uniface object. For example this can be used to find the name of a session panel, or session panel button.

Please note: This then allows you to call other windows API functions that require the window handle of the current form.

Uniface objects are named using the guidelines in the Uniface reference manual (reproduced here but may not be correct, see example):

Names of Uniface Object in Windows

4GL debug UDEBUG.ApplicationName
Application ApplicationName
Entity scroll bar EntityName.ModelName.FormName.ApplicationName
Field FieldName.EntityName.ModelName.FormName.ApplicationName
Form FormName.ApplicationName
Form canvas FormName.ApplicationName
Form panel PanelName.FormName.ApplicationName
Form panel button1 ButtonText.PanelName.FormName.ApplicationName
Message frame UFRAME.ApplicationName
Message line ULINE.ApplicationName
Pop-up panel PanelName.FormName.ApplicationName
Session panel PanelName.ApplicationName
Session panel button1 ButtonText.PanelName.ApplicationName
Splash screen ULOGO.ApplicationName
Toolbar UTOOLBAR.ApplicationName
Toolbar button1 ButtonText.UTOOLBAR.ApplicationName

; disable the REMOCC button
$50="Rem_occ.UPANEL.A Test Application"
perform "_getowhnd"
if ($status < 0) done
$52=0 ; ie: disable
perform "_mhenable"

Here are the results from LSTOWHND for objects based on a test screen developed at the March Hare Unfiace Lab:

A Test Application
A3GLTST.A Test Application
A3GLTST.A Test Application
A3GLTST.A Test Application
OBJ.DUMMY.DUMMY.A3GLTST.A Test Application
F1.DUMMY.DUMMY.A3GLTST.A Test Application
UTBD.A3GLTST.A Test Application
GETOBJECT.DUMMY.DUMMY.A3GLTST.A Test Application
GETWNDH.DUMMY.DUMMY.A3GLTST.A Test Application
MHPRT.DUMMY.DUMMY.A3GLTST.A Test Application
SVEBIT.DUMMY.DUMMY.A3GLTST.A Test Application
.A3GLTST.A Test Application
.A3GLTST.A Test Application
.A3GLTST.A Test Application
UTOOLBAR.A Test Application
ULINE.A Test Application
UniCombo.ULINE.A Test Application
UPANEL.A Test Application
Add_occ.UPANEL.A Test Application
Accept.UPANEL.A Test Application
Detail.UPANEL.A Test Application
Erase.UPANEL.A Test Application
Print....UPANEL.A Test Application
Quit.UPANEL.A Test Application
Rem_occ.UPANEL.A Test Application
Store Data.UPANEL.A Test Application
Zoom Field.UPANEL.A Test Application

In the above example:

Application Title Bar/Description: A Test Application
Form Name: A3GLTST
Session Panel Name: SESS1
Fields on Form: F1,OBJ
Command Buttons on Form: GETOBJECT,GETWNDH,MHPRT,SVEBIT

Notes:

This function is only available under Win32 platforms (ie: Windows 95/98/ME and NT/2000). This function is only available in Uniface 7.2.02 and higher.

This function is not available in Uniface 8.

Trying to find the window handle of a window that has not been created results in a NULL return value from _getwhnd(). Therefore it is not possible to call it from the execute trigger.

$Revision: 1.11 $ $Date: 2003/07/16 00:34:42 $[go to top]