Ver Mensaje Individual
  #8
Antiguo 4 de agosto de 2022, 20:08
fastpho
El Foro es mi casa
Innovación: Por aportar innovaciones - Issue reason: SQLite + OO Cobol class Concurso: Primer puesto: Ganador/a del Primer puesto en un concurso - Issue reason: Acceso a datos Cobol vía web 
Última Actividad 21.08.2026 18:08
Posts Posts: 365
Likes enviados Enviados: 252
Likes recibidos Recibidos: 243

@Joseg Se puede mover , arrastrar y soltar el formulario perfectamente desde Box-LBLTITULO = Titulo con la siguientes lineas
Declarar en el WORKING-STORAGE
Código COBOL:
  1. *-----RUTINAS PARA MOVER LA FORM SIN TITULO
  2.  01 GLOBAL-DATA GLOBAL.
  3.     02  G-DRAG-START    PIC  1(1)  BIT.
  4.         88  G-IS-DRAG-START VALUE B"1".
  5.  01 tempx               PIC S9(9) COMP-5 IS GLOBAL.
  6.  01 tempy               PIC S9(9) COMP-5 IS GLOBAL.
  7.  01 new-tempx           PIC S9(9) COMP-5 IS GLOBAL.
  8.  01 new-tempy           PIC S9(9) COMP-5 IS GLOBAL.
  9.  01 ScreenLeft          PIC S9(9) COMP-5 IS GLOBAL.
  10.  01 ScreenTop           PIC S9(9) COMP-5 IS GLOBAL.
  11.  01 ScreenWidth         PIC S9(9) COMP-5 IS GLOBAL.
  12.  01 ScreenHeight        PIC S9(9) COMP-5 IS GLOBAL.
  13.  01 ScreenScale         PIC S9(4) COMP-5 IS GLOBAL.
  14.  01 W-BUTTON            PIC S9(4) COMP-5 IS GLOBAL.
  15.  01 W-BOOL  REDEFINES W-BUTTON IS GLOBAL.
  16.    02  FILLER           PIC  1(5)  BIT.
  17.    02  W-BUTTON-CENTER  PIC  1(1)  BIT.
  18.    02  W-BUTTON-RIGHT   PIC  1(1)  BIT.
  19. *      88  W-IS-BUTTON-RIGHT  VALUE B"0".
  20.    02  W-BUTTON-LEFT    PIC  1(1)  BIT.
  21.        88  W-IS-BUTTON-LEFT  VALUE B"1".
  22.    02  FILLER           PIC  1(8)  BIT.  
  23. *------------------------------------------------------
En el Evento Box-LBLTITULO-MouseUp
Código COBOL:
  1.  ENVIRONMENT     DIVISION.
  2.  DATA            DIVISION.
  3.  WORKING-STORAGE SECTION.
  4.  LINKAGE         SECTION.
  5.  01  POW-BUTTON  PIC S9(4) COMP-5.
  6.  01  POW-SHIFT   PIC S9(4) COMP-5.
  7.  01  POW-X       COMP-1.
  8.  01  POW-Y       COMP-1.
  9.  PROCEDURE       DIVISION USING POW-BUTTON POW-SHIFT POW-X POW-Y.
  10.        IF G-IS-DRAG-START THEN
  11.           MOVE B"0"   TO G-DRAG-START          
  12.           move 0 to "MousePointer" OF pow-self
  13.        end-if.  
En el Evento Box-LBLTITULO-MouseDown
Código COBOL:
  1.  ENVIRONMENT     DIVISION.
  2.  DATA            DIVISION.
  3.  WORKING-STORAGE SECTION.
  4.  LINKAGE         SECTION.
  5.  01  POW-BUTTON  PIC S9(4) COMP-5.
  6.  01  POW-SHIFT   PIC S9(4) COMP-5.
  7.  01  POW-X       COMP-1.
  8.  01  POW-Y       COMP-1.
  9.  PROCEDURE       DIVISION USING POW-BUTTON POW-SHIFT POW-X POW-Y.
  10.              
  11.        move POW-BUTTON to W-BUTTON.
  12.        move pow-x      to tempx.
  13.        move pow-y      to tempy.
  14.        IF W-IS-BUTTON-LEFT THEN
  15.            MOVE B"1" TO G-DRAG-START
  16.        end-if.        
En el Evento Box-LBLTITULO-MouseMove
Código COBOL:
  1.  ENVIRONMENT     DIVISION.
  2.  DATA            DIVISION.
  3.  WORKING-STORAGE SECTION.
  4.  LINKAGE         SECTION.
  5.  01  POW-BUTTON  PIC S9(4) COMP-5.
  6.  01  POW-SHIFT   PIC S9(4) COMP-5.
  7.  01  POW-X       COMP-1.
  8.  01  POW-Y       COMP-1.
  9.  PROCEDURE       DIVISION USING POW-BUTTON POW-SHIFT POW-X POW-Y.
  10.  
  11.      IF G-IS-DRAG-START THEN
  12.        compute new-tempy =  "Top" OF pow-self + pow-y - tempy
  13.        compute new-tempx =  "Left" OF pow-self + pow-x - tempx
  14.        move new-tempy to "Top" OF pow-self
  15.        move new-tempx to "Left" OF pow-self
  16.        MOVE 2  TO "MousePointer"  OF POW-SELF
  17.      END-IF.
Estas rutinas tambien las podes colocar en los eventos MouseDown - MouseUp - MouseMove del formulario para mover y soltar
desde el formulario
Saludos ........
fastpho is offline   Responder Con Cita