Cobol Foro

Cobol Foro (https://www.cobolforo.es/index.php)
-   PowerCOBOL (ActiveX, v4 - v11) (https://www.cobolforo.es/forumdisplay.php?f=9)
-   -   [Sintaxis] Uso del raton para ampliar un registro de CmList (https://www.cobolforo.es/showthread.php?t=856)

Breew 25 de mayo de 2018 22:58

Uso del raton para ampliar un registro de CmList
 
Hola.

Quisiera conseguir que al posicionarme con el raton , se abriera un cuadro de dialogo , ampliando la informacion contenida en el registro del cmlist.

No tengo ni idea de como identificar la posicion del raton y si es posible hacer lo que quiero.

¿Alguien me puede orientar?

Gracias

Kuk 26 de mayo de 2018 09:19

Breew, quieres hacer algo parecido a la lupa de Windows?

https://www.portalprogramas.com/milb...nes/Vistas.jpg
http://www.reviversoft.com/blog/wp-c..._Magnifier.jpg

Breew 26 de mayo de 2018 15:57

Hola Kuk.

No, me he explicado mal. No queria que me saliera el tipo de letra aumentado, sino mas bien , que al posicionarme sobre un registro, aparecieran mas campos , es decir, que me salgan mas informacion .
el evento click lo tengo ocupado para modificar campos.

Gracias

Kuk 26 de mayo de 2018 23:04

Breew, puedes cambiar el modificado de campos al evento DblClick o incluso añadir un botón nuevo "Modificar" que modifica los datos del registro seleccionado (si es que hay uno seleccionado).

Si lo que quieres es algo tipo "ToolTip" (texto flotante), sin hacer selección va a ser complicado, por no decir imposible. Porque podrías hacer cálculos sobre un control fijo. Pero teniendo ScrollBar, que tiene, digamos, vida propia, y es el que controla el desplazamiento de los registros... Lo veo realmente muy chungo de hacer. Habría que entrar en el subclassing del control CmList, jugar con WinAPI e incluso añadir funcionalidades nuevas al control.

Breew 26 de mayo de 2018 23:42

Exactamente era eso lo que queria hacer, que fuera tooltip.
Pero no tengo conocimientos para poder jugar hasta conseguirlo ;-)

Tendre que limitarme a cambiar el modificado y no sera tan chulo, pero seguro que es practico.

Gracias

Kuk 27 de mayo de 2018 21:07

Breew, puedes simular el ToolTip, cogiendo un CmStatic, jugando con su propiedad Visible y que ira "flotando" cambiándole la posición obtenida vía GetCursorPos function (Windows)

Pero eso sí - sin clic en el registro no va poder ser ;)

Hrmcobol 29 de mayo de 2018 01:31

3 Archivos Adjunto(s)
Hola Breew, no se si te sirve, tengo una lista y quiero saber historia de un registro de la tabla, pongo una columna con algun icono que me muestre lo que puede ampliar, hago click en el icono y se abre un sub-texto (pintado en azul) que se mantiene (F01), como ves puedo hacerlo mas de una vez (F02), para borrarlo hago click con el botón izquierdo y desaparece(F03).
Saludos
Hrm

Breew 30 de mayo de 2018 07:44

Hola Hrmcobol.

Me gusta mucho la idea.
Me puedes dar detalles ?
es un ctList?
No lo tengo muy por la mano.

Gracias

---------- Post añadido : 07:44 ---------- Post anterior : 07:43 ----------

hola Kuk.

Me lo mirare, pero no tengo ni idea de como implementar esa funcion.

Gracias

Hrmcobol 2 de junio de 2018 13:56

1 Archivos Adjunto(s)
Hola Breew, si es un CtList de Dbi, otra que se me ocurre es que al cmlist le setees la opcion IsCheqBtn y logras el efecto que te mando en la imagen, podes buscar que item que esta marcado y acceder a la info del mismo
Saludos

Breew 2 de junio de 2018 17:29

Hola Hrmcobol.

La idea del ctlist , me ha encantado.

Como incorporas el texto en azul?.

Gracias

Hrmcobol 3 de junio de 2018 14:09

1 Archivos Adjunto(s)
Hola Breew, te paso las lineas para mostrar el SubText en el el CtList.
Ojo corte rápido las lineas, ya que estoy de vacaciones, no te fijes en la lógica.
En principio necesitas un 01. que contenga los datos a mostrar y saber la longitud desde el inicio del texto hasta el ultimo carácter distinto de espacios (wl-longi) y definir desde que columna queres que empiece a mostrar.
Empeza a probar y lo vamos viendo.
Por sino teles el Help del CtList te mando una foto.


Código COBOL:
  1.  ENVIRONMENT     DIVISION.
  2.  DATA            DIVISION.
  3.  WORKING-STORAGE SECTION.
  4.  
  5.  01 WL-LONGI   PIC S9(9)    COMP-5.  *> longitud del texto a mostrar
  6.  
  7.  01  WL-ALARMA.
  8.      02  WL-TABALR.
  9.          03  AL-VENCI  PIC X(012) VALUE "Vto: ".
  10.          03  AL-FECHA  PIC X(010).
  11.          03  AL-FILL   PIC X(001).
  12.          03  AL-DESCRI PIC X(070).
  13.          03  AL-0D0A   PIC X(002).
  14.  
  15.  LINKAGE         SECTION.
  16.  01  POW-NINDEX  PIC S9(9) COMP-5.
  17.  01  POW-NCOLUMN PIC S9(4) COMP-5.
  18.  PROCEDURE       DIVISION USING POW-NINDEX POW-NCOLUMN.
  19.  
  20. **>*--------------------------------------------------------------------------------------------------------------------      
  21.         MOVE ZEROS TO "ListSubHeight"(POW-NINDEX) OF CtList
  22.  
  23.         MOVE 3 TO "SubColumnStart" OF CtList *> columna del CtList donde comienza el SUbTexto en Azul
  24.  
  25.         MOVE WL-ALARMA(01:WL-LONGI) TO "ListSubText"  (POW-NINDEX) OF CtList  
  26.         INVOKE CtList "CalcSubTextHeight" USING POW-NINDEX RETURNING WL-CANTI
  27.         MOVE WL-CANTI TO "ListSubHeight"(POW-NINDEX) OF CtList
  28.  
  29. **>*-------------------------------------------------------------------------------------------------------      
  30.  
  31.      *> si el click es en la column zero borro en SubTexto
  32.      IF POW-NCOLUMN = ZEROS
  33.         MOVE ZEROS        TO "ListSubHeight"(POW-NINDEX) OF CT-011101
  34.         EXIT PROGRAM.
  35. **>*-------------------------------------------------------------------------------------------------------      
  36.  


La franja horaria es GMT +2. Ahora son las 16:21.

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