Cobol Foro

Cobol Foro (https://www.cobolforo.es/index.php)
-   PowerCOBOL (ActiveX, v4 - v11) (https://www.cobolforo.es/forumdisplay.php?f=9)
-   -   [Componente] Menú con Imágenes ¿?¿? (https://www.cobolforo.es/showthread.php?t=356)

Josber 27 de marzo de 2016 12:16

Hrmcobol, da error al abrir el proyecto y el exe de que el componente "toolbar" no está instalado, ¿puedes incluir el ocx en el fichero zip?

Gracias y un saludo.-

Hrmcobol 27 de marzo de 2016 14:29

1 Archivos Adjunto(s)
Aqui Va

Kuk 27 de marzo de 2016 14:46

Hrmcobol, a mi también me dice que no está registrado el OCX, debe ser una versión diferente la que usas.

Josber 28 de marzo de 2016 11:58

Registrando el ocx que ha subido Hrmcobol, se puede abrir el proyecto, aunque sólo es una muestra de un menú, no hay creado ningún evento asociado a los botones.

Por cierto Hrm, el archivo de ayuda que has subido junto al ocx, no se puede abrir, ¿puedes volver a subirlo para darle un vistazo?

Gracias

Un saludo.-

Roger 28 de marzo de 2016 19:11

Hola amigos
Probe con la versión Dbi-Tech Component Toolbox Ocx v.6.01 siguiendo el ejemplo de Hrmcobol y funciona solo que no se donde se pone los comandos
para llamar al sub-programa.

Si necesitas abrir un archivo de ayuda de Windows con extensión .hlp en Windows Vista o Windows 7, no podrás abrirlo, ya que estas versiones de Windows no soportan nativamente este tipo de archivos (Winhelp no viene instalado).
Existen parches ejemplo Descarga Windows8.1-KB917607-x64 si estas en 64 bits o x 86 a 32 bits este es un parche de windows si tienes windows 10 es imposible porque no es compatible ya hice muchas pruebas.
:nocreo:

Josber 28 de marzo de 2016 20:08

1 Archivos Adjunto(s)
Roger, ya lo he solucionado, he encontrado el archivo y ya lo he leido, gracias.

Por otro lado, es muy sencillo de utilizar, en el evento "ItemClick", es donde has de poner tu código, te paso el ejemplo de la prueba que estoy haciendo

Código COBOL:
  1.  ENVIRONMENT     DIVISION.
  2.  DATA            DIVISION.
  3.  WORKING-STORAGE SECTION.
  4.  LINKAGE         SECTION.
  5.  01  POW-ARG-NITEM   PIC S9(4) COMP-5.
  6.  01  POW-ARG-BARROW  PIC S9(4) COMP-5.
  7.  PROCEDURE       DIVISION USING POW-ARG-NITEM POW-ARG-BARROW.
  8.  
  9.      EVALUATE POW-ARG-NITEM
  10.  
  11.               WHEN 2
  12.  
  13.                    MOVE 0 TO AHIVA5
  14.                    INVOKE POW-SELF "CallForm" USING "F-CON-TRANSPORTISTA" "M-TRANSPORTISTA"
  15.                    MOVE AHIVA5 TO "Text" OF CAMPO1
  16.                    IF AHIVA5 NOT = 0
  17.                       MOVE AHIVA5 TO TRACOD
  18.        
  19.                       READ TRANSPORTISTA KEY IS XTCOD
  20.                            INVALID KEY
  21.                                    INVOKE POW-SELF "Alarm"
  22.                                    ADD POW-DMICONERROR POW-DMOK GIVING ESTILO
  23.                                    INVOKE POW-SELF "DisplayMessage"
  24.                                           USING "No existe el Registro, quizás haya sido borrado desde otro puesto ..."
  25.                                                 WS-ATENCION
  26.                                                 ESTILO
  27.                                    END-INVOKE
  28.                                    MOVE SPACES TO WSCAPTION
  29.                                    MOVE TRACOD TO TRA-EDI
  30.                                    STRING "Transportistas - Nuevo Registro: "
  31.                                           TRA-EDI DELIMITED BY SIZE INTO WSCAPTION
  32.                                    END-STRING
  33.                                    MOVE WSCAPTION TO "Caption" OF POW-SELF
  34.                                    CALL "VACIAR"
  35.                                    CALL "INHABILITAR"
  36.                                    INVOKE CAMPO1 "SetFocus"
  37.                                    EXIT PROGRAM
  38.                            NOT INVALID KEY
  39.                                CALL "HABILITAR"
  40.                                CALL "EXISTE"
  41.                                INVOKE CAMPO1 "SetFocus"
  42.                                EXIT PROGRAM
  43.                       END-READ
  44.                    ELSE
  45.                       MOVE SPACES TO WSCAPTION
  46.                       MOVE TRACOD TO TRA-EDI
  47.                       STRING "Transportistas - Nuevo Registro: "
  48.                              TRA-EDI DELIMITED BY SIZE INTO WSCAPTION
  49.                       END-STRING
  50.                       MOVE WSCAPTION TO "Caption" OF POW-SELF
  51.                       CALL "VACIAR"
  52.                       CALL "INHABILITAR"
  53.                       INVOKE CAMPO1 "SetFocus"
  54.                       EXIT PROGRAM
  55.                    END-IF
  56.  
  57.                 WHEN 4
  58.  
  59.                    INVOKE POW-SELF "OpenForm" USING "FORM-ACERCA" "M-ACERCA"
  60.  
  61.               WHEN 6
  62.  
  63.                    CALL "PARASALIR"
  64.  
  65.               WHEN 8
  66.  
  67.                    CALL "GRABAR"
  68.  
  69.               WHEN 9
  70.  
  71.                    INVOKE POW-SELF "Alarm"
  72.                    ADD POW-DMICONQUESTION POW-DMYESNO POW-DMDEFBUTTON2 GIVING ESTILO
  73.                    INVOKE POW-SELF "DisplayMessage"
  74.                           USING "¿Cancelar?, Perderá la información no guardada ..."
  75.                                 WS-ATENCION
  76.                                 ESTILO
  77.                           RETURNING RETORNO
  78.                    END-INVOKE
  79.  
  80.                    IF RETORNO = POW-DMRNO
  81.                       EXIT PROGRAM
  82.                    END-IF
  83.  
  84.                      CALL "INHABILITAR"
  85.                      CALL "VACIAR"
  86.                      INVOKE CAMPO1 "SetFocus"
  87.  
  88.               WHEN 10
  89.  
  90.                    MOVE 0 TO AHIVA5
  91.                    INVOKE POW-SELF "CallForm" USING "F-CON-TRANSPORTISTA" "M-TRANSPORTISTA"
  92.                    MOVE AHIVA5 TO "Text" OF CAMPO1
  93.                    IF AHIVA5 NOT = 0
  94.                       MOVE AHIVA5 TO TRACOD
  95.        
  96.                       READ TRANSPORTISTA KEY IS XTCOD
  97.                            INVALID KEY
  98.                                    INVOKE POW-SELF "Alarm"
  99.                                    ADD POW-DMICONERROR POW-DMOK GIVING ESTILO
  100.                                    INVOKE POW-SELF "DisplayMessage"
  101.                                           USING "No existe el Registro, quizás haya sido borrado desde otro puesto ..."
  102.                                                 WS-ATENCION
  103.                                                 ESTILO
  104.                                    END-INVOKE
  105.                                    MOVE SPACES TO WSCAPTION
  106.                                    MOVE TRACOD TO TRA-EDI
  107.                                    STRING "Transportistas - Nuevo Registro: "
  108.                                           TRA-EDI DELIMITED BY SIZE INTO WSCAPTION
  109.                                    END-STRING
  110.                                    MOVE WSCAPTION TO "Caption" OF POW-SELF
  111.                                    CALL "VACIAR"
  112.                                    CALL "INHABILITAR"
  113.                                    INVOKE CAMPO1 "SetFocus"
  114.                                    EXIT PROGRAM
  115.                            NOT INVALID KEY
  116.                                CALL "HABILITAR"
  117.                                CALL "EXISTE"
  118.                                INVOKE CAMPO1 "SetFocus"
  119.                                EXIT PROGRAM
  120.                       END-READ
  121.                    ELSE
  122.                       MOVE SPACES TO WSCAPTION
  123.                       MOVE TRACOD TO TRA-EDI
  124.                       STRING "Transportistas - Nuevo Registro: "
  125.                              TRA-EDI DELIMITED BY SIZE INTO WSCAPTION
  126.                       END-STRING
  127.                       MOVE WSCAPTION TO "Caption" OF POW-SELF
  128.                       CALL "VACIAR"
  129.                       CALL "INHABILITAR"
  130.                       INVOKE CAMPO1 "SetFocus"
  131.                       EXIT PROGRAM
  132.                    END-IF
  133.  
  134.                 WHEN 11
  135.  
  136.                      CALL "BORRAR"
  137.  
  138.                 WHEN 13
  139.  
  140.                    CALL "IMPRIMIR"
  141.  
  142.               WHEN 14
  143.  
  144.                    INVOKE POW-SELF "CallForm" USING "F-LIS-TRANSPORTISTA" "M-TRANSPORTISTA"
  145.  
  146.               WHEN OTHER
  147.  
  148.                    EXIT PROGRAM
  149.  
  150.      END-EVALUATE.

Ten en cuenta, que el menú empieza a numerear por 1 desde el primer elemento, en la imágen que adjunto, el primer elemento sería la opción "Menú", y que los separadores cuentan como un elemento en sí, por lo que has de tenerlo en cuenta a la hora de programar el EVALUATE.

Para poder dehabilitar un elemento del menú, usa, por ejemplo:
Código COBOL:
  1.        MOVE 0 TO "ItemEnabled"(08) OF ctToolBar1.
  2.        MOVE 0 TO "ItemEnabled"(09) OF ctToolBar1.
  3.        MOVE 0 TO "ItemEnabled"(11) OF ctToolBar1.
  4.        MOVE 0 TO "ItemEnabled"(14) OF ctToolBar1.

Es decir, el número entre paréntesis es el elemento a inhabilitar.

Si tienes más dudas, indícalo.

Un saludo.-

Hrmcobol 28 de marzo de 2016 21:10

Hola camaradas, yo uso el ItemCick
Saludos


La franja horaria es GMT +2. Ahora son las 15:17.

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