Consultor Eletrônico



Kbase P21656: How to resize OCX contrl frame when the window resizes?
Autor   Progress Software Corporation - Progress
Acesso   Público
Publicação   10/14/2004
Status: Unverified

GOAL:

How to resize OCX contrl frame when window resize?

FACT(s) (Environment):

Progress 9.1x

FIX:

ON WINDOW-RESIZED OF {&WINDOW-NAME} DO:
DEF VAR frmEdge AS INT INITIAL 2.

IF {&WINDOW-NAME}:WIDTH > FRAME {&FRAME-NAME}:WIDTH THEN DO:
/* increaze size */
FRAME {&FRAME-NAME}:WIDTH = {&WINDOW-NAME}:WIDTH - frmEdge.
ctrlFrame:WIDTH = INTEGER( FRAME {&FRAME-NAME}:WIDTH * ratex ).
END.
ELSE DO:
/* decrease size */
ctrlFrame:WIDTH = INTEGER( {&WINDOW-NAME}:WIDTH * ratex ) .
FRAME {&FRAME-NAME}:WIDTH = {&WINDOW-NAME}:WIDTH - frmEdge .
END.

IF {&WINDOW-NAME}:HEIGHT > FRAME {&FRAME-NAME}:HEIGHT THEN DO:
/* increaze size */
FRAME {&FRAME-NAME}:HEIGHT = {&WINDOW-NAME}:HEIGHT - frmEdge .
ctrlFrame:HEIGHT = INTEGER( FRAME {&FRAME-NAME}:HEIGHT * ratex ) .
END.
ELSE DO:
/* decrease size */
ctrlFrame:HEIGHT = INTEGER( {&WINDOW-NAME}:HEIGHT * ratex ).
FRAME {&FRAME-NAME}:HEIGHT = {&WINDOW-NAME}:HEIGHT - frmEdge .
END.
END.

where ratex and ratey are initialized in initializeObject
ratex = ctrlFrame:WIDTH / FRAME {&FRAME-NAME}:WIDTH .
ratey = ctrlFrame:HEIGHT / FRAME {&FRAME-NAME}:HEIGHT .