Cobol Foro

Cobol Foro (https://www.cobolforo.es/index.php)
-   Cocina PowerCOBOL (https://www.cobolforo.es/forumdisplay.php?f=24)
-   -   [PowerCOBOL v3] Añadir evento "Resized" al SHEET (https://www.cobolforo.es/showthread.php?t=298)

Kuk 22 de diciembre de 2015 16:32

Añadir evento "Resized" al SHEET
 
Amigos, aquí os dejo el código para poder reposicionar/redimensionar los controles en caso de redimensionamiento del Sheet.

Para ver el ejemplo en funcionamiento, cread un SHEET, poned un PUSH en el centro del SHEET. Luego añadid un TIMER estableciendo el intervalo de ejecución en 10 y activadlo.

En el evento el TIMER poned lo siguiente:

Código COBOL:
  1.  ENVIRONMENT DIVISION.
  2.  DATA        DIVISION.
  3.  WORKING-STORAGE SECTION.
  4.  01  WS-SCR.
  5.      05  WS-POS.
  6.          10  WS-X       PIC S9(4) COMP-5.
  7.          10  WS-Y       PIC S9(4) COMP-5.
  8.      05  WS-DIM.
  9.          10  WS-W       PIC S9(4) COMP-5.
  10.          10  WS-H       PIC S9(4) COMP-5.
  11.          
  12.  01  SV-SCR.
  13.      05  SV-POS.
  14.          10  SV-X       PIC S9(4) COMP-5.
  15.          10  SV-Y       PIC S9(4) COMP-5.
  16.      05  SV-DIM.
  17.          10  SV-W       PIC S9(4) COMP-5.
  18.          10  SV-H       PIC S9(4) COMP-5.              
  19.          
  20.  01  BTN-SCR.
  21.      05  BTN-POS.
  22.          10  BTN-X       PIC S9(4) COMP-5.
  23.          10  BTN-Y       PIC S9(4) COMP-5.
  24.      05  BTN-DIM.
  25.          10  BTN-W       PIC S9(4) COMP-5.
  26.          10  BTN-H       PIC S9(4) COMP-5.    
  27.              
  28.  PROCEDURE   DIVISION.
  29.      
  30.      MOVE POW-POSITION OF SHEET1 TO WS-SCR
  31.      
  32.      IF  WS-DIM NOT = SV-DIM
  33.          MOVE WS-SCR  TO SV-SCR
  34.          
  35.          MOVE POW-POSITION OF PUSH1 TO BTN-SCR
  36.          
  37.          COMPUTE BTN-X = (WS-W - BTN-W) / 2
  38.      
  39.          MOVE BTN-SCR TO POW-POSITION OF PUSH1        
  40.      END-IF    

Compilad y ejecutad el programa. Al rediemnsionar el SHEET el PUSH se desplazará quedándose siempre en el centro horizontalmente.


La franja horaria es GMT +2. Ahora son las 05:27.

Powered by: vBulletin, Versión 3.8.7
Derechos de Autor ©2000 - 2026, Jelsoft Enterprises Ltd.