Citación del post de
Juanes
|
❞
Josber, excelente aporte. Por favor me puede decir, como define el checkbox dentro del CmListView?
gracias.
|
Código COBOL:
*>
*> Variables para poner el checkbox en el ListView
*>
01 WS-HANDLE PIC S9(09) COMP-5 VALUE 0.
01 LVM-SETEXTENDEDLISTVIEWSTYLE PIC S9(09) COMP-5 VALUE 4150.
01 LVS-EX-CHECKBOXES PIC S9(09) COMP-5 VALUE 05.
*>
*> Variables para Drag'n'Drop de columnas
*>
01 WS-DRAG PIC S9(09) COMP-5.
01 LVS-EX-HEADERDRAGDROP PIC S9(09) COMP-5 VALUE 16.
*>
*> Variables para colorear linea entera
*>
01 WS-LINHA-INTEIRA PIC S9(09) COMP-5.
01 LVS-EX-FULLROWSELECT PIC S9(09) COMP-5 VALUE 32.
Y en la PROCEDURE ...
Código COBOL:
*
*
* Poner el "checkbox" en el ListView
*
MOVE "hWnd" OF VIEW2 TO WS-HANDLE.
CALL "SendMessageA" WITH STDCALL USING BY VALUE WS-HANDLE
BY VALUE LVM-SETEXTENDEDLISTVIEWSTYLE
BY VALUE LVS-EX-CHECKBOXES
BY VALUE LVS-EX-CHECKBOXES
CANCEL "SendMessageA".
*
CALL "SendMessageA" WITH STDCALL USING BY VALUE WS-HANDLE
BY VALUE 4150
BY VALUE 64
BY VALUE 64 *> COLUMNA 1, TIPO HiperLink
CANCEL "SendMessageA".
*
MOVE 32 TO WS-LINHA-INTEIRA. *> SELECCIONAR LA LÍNEA ENTERA
CALL "SendMessageA" WITH STDCALL USING BY VALUE WS-HANDLE
BY VALUE LVM-SETEXTENDEDLISTVIEWSTYLE
BY VALUE LVS-EX-FULLROWSELECT
BY VALUE WS-LINHA-INTEIRA
CANCEL "SendMessageA".
*
MOVE 16 TO WS-DRAG. *> ARRASTRAR Y CAMBIAR UNA COLUMNA DE SITIO
CALL "SendMessageA" WITH STDCALL USING BY VALUE WS-HANDLE
BY VALUE LVM-SETEXTENDEDLISTVIEWSTYLE
BY VALUE LVS-EX-HEADERDRAGDROP
BY VALUE WS-DRAG
CANCEL "SendMessageA".
*
IF POW-CHECK OF CHECK2 = POW-ON
CALL "SendMessageA" WITH STDCALL USING BY VALUE WS-HANDLE
BY VALUE LVM-SETEXTENDEDLISTVIEWSTYLE
BY VALUE 1
BY VALUE 1 *> GRIDLINES - 1 = Si - 0 = No
CANCEL "SendMessageA"
ELSE
CALL "SendMessageA" WITH STDCALL USING BY VALUE WS-HANDLE
BY VALUE LVM-SETEXTENDEDLISTVIEWSTYLE
BY VALUE 1
BY VALUE 0 *> GRIDLINES - 1 = Si - 0 = No
CANCEL "SendMessageA"
END-IF.
Un saludo.-