Ver Mensaje Individual
  #1
Antiguo 22 de diciembre de 2015, 16:32
Kuk
Administrador
Última Actividad 21.09.2026 18:24
Posts Posts: 2.500
Likes enviados Enviados: 1037
Likes recibidos Recibidos: 1207
GUI Añadir evento "Resized" al SHEET
3 Inactivo Inactivo

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.



NORMAS DEL FORO - para garantizar el buen funcionamiento del Foro.
¿Te han ayudado? NO TE OLVIDES de darle a
¿Quieres dirigirte a alguien en tu post? Notifícale haciendo clic en su Nick
Kuk is offline   Responder Con Cita