Kbase P147040: Dialog using explicit positioning does not always position itself relative to its parent window
Autor |
  Progress Software Corporation - Progress |
Acesso |
  Público |
Publicação |
  5/28/2009 |
|
Status: Unverified
SYMPTOM(s):
AppBuilder generated window calls AppBuilder generated dialog box
Dialog box is defined to open at a specific ROW and COLUMN (relative to the parent window)
Sometimes dialog does not open in the correct position (relative to parent window)
When dialog does not open in the correct position it can open anywhere on the screen
FACT(s) (Environment):
OpenEdge 10.x
Windows
CAUSE:
The code generated by the AppBuilder checks to see if the dialogs :PARENT attribute is unknown and if so it sets it to the ACTIVE-WINDOW. The problem is that sometimes the ACTIVE-WINDOW handle does not point to what the user visually sees as the currently focused window.
FIX:
Modify the AppBuilder generated code by doing the following:
1) Define an input parameter with a data type of HANDLE.
2) In the Main Block replace the assignment of the :HANDLE attribute to ACTIVE-WINDOW with the input parameter name defined in step #1.
3) Modify the program which calls the dialog so that the RUN statement passes {&WINDOW-NAME}:HANDLE as a parameter to the dialog.
The above steps will replace the assignment of the dialogs parent attribute to ACTIVE-WINDOW with the assignment of the dialogs parent attribute to the explicitly passed parent windows handle. This will ensure that the explicitly positioned dialog will always open in the expected position.