Yo tuve que hacer este "remedio" casero:
En propiedades de la ventana, le quité los "Style" Minimize, Maximize y Control.
Agregue arriba y a la izquierda de la ventana 3 imagenes de creación propia de "minimizar", "maximizar" y "cerrar".
Al hacer click en "minimizar" ejecuto:
COBOL Código:
CALL SHOWSHEET OF SHEET1 USING POW-SWSHOWMINIMIZED.
Al hacer click en "cerrar" ejecuto:
COBOL Código:
CALL CLOSESHEET OF SHEET1.
Eso es sencillo, solo se complica en el proceso que ejecutas en "maximizar".
Para esto uso un CHECK oculto llamado MAXIMIZA, asi se si estoy en modo maximizado o normal.
COBOL Código:
IF POW-CHECK OF MAXIMIZA = POW-OFF
CALL SHOWSHEET OF SHEET1 USING POW-SWSHOWMAXIMIZED
MOVE POW-ON TO POW-CHECK OF MAXIMIZA.
COBOL Código:
IF POW-CHECK OF MAXIMIZA = POW-ON
CALL SHOWSHEET OF SHEET1 USING POW-SWSHOWNORMAL
MOVE POW-OFF TO POW-CHECK OF MAXIMIZA.
Tener en cuenta que al cambiar la ventana, la posicion de las 3 imagenes quedaran descolocadas.
Asi que hay que leer la posicion de la ventana para obtener su ancho actual, restarle
los "pixeles" del ancho de la imagen "cerrar" y moverle ese valor a la posicion horizontal de la imagen.
Luego haremos lo mismo con la imagen de "maximizar", restandole los pixeles del ancho de "cerrar" + lo de "maximizar".
Y finalemente lo mismo con la imagen de "minimizar", restandolo los anchos de las 3 imagenes.
Complicado y muchas vueltas? No tanto. Peor es implementar la alternativa a la opcion "Resize".
Para eso, tenes que llamar a un procedure que lee la posicion y tamaño de cada boton, pic, label, edit, tabla... que tenes en la ventana, uno por uno, y aplicarle un porcentaje para agrandar o reducir su tamaño actual. (Y tambien a su tipo de letra!)
Es un laburo de hormiga pero es la unica forma que encontre en power cobol V3.
Si queres un ejemplo lo preparo un poco y lo subo...
Espero que te sirva.
Marcadores