Iniciar Sesión

Ver la Versión Completa : [Sintaxis] Posición del cursor en un textbox...


Fito
22 de enero de 2016, 22:46
Hola Amigos:

Estoy editando un cuadro de texto, de alguna manera puedo saber dónde está posicionado el cursor, supongamos que el cuadro de texto sea de 80 caracteres, necesito saber cuál de todos ellos estoy escribiendo.

Espero haber sido claro.

Saludos. Fito...

Rapinto
23 de enero de 2016, 20:50
Fito,

A CMText do Powercobol, não tem a propriedade "SelStart".
Não é possível diretamente saber onde está o cursor.
Usando as API's do Windows, claro que se pode saber.
Utiliza este código:


ENVIRONMENT DIVISION.
DATA DIVISION.
WORKING-STORAGE SECTION.
01 EM_GETSEL PIC S9(009) COMP-5 VALUE 176.
01 EM_SETSEL PIC S9(009) COMP-5 VALUE 177.
*
01 LCURPOS PIC S9(009) COMP-5.
01 TXTHWND PIC S9(009) COMP-5 VALUE ZERO.
01 WZERO PIC S9(009) COMP-5 VALUE ZERO.
*
PROCEDURE DIVISION.
MAIN SECTION.
MAIN-00.
INVOKE CMTEXT1 "SETFOCUS".
CALL "GetFocus" WITH STDCALL RETURNING TXTHWND.
*
CALL "SendMessageA" WITH STDCALL USING
BY VALUE TXTHWND
BY VALUE EM_GETSEL
BY VALUE WZERO
BY VALUE WZERO
RETURNING LCURPOS.
COMPUTE LCURPOS = LCURPOS / 65536
MOVE LCURPOS TO "CAPTION" OF CMSTATIC1.


No evento "MouseMove" e no evento "KeyUp" faz um "Call" a esta rotina.
Anexo um exemplo em PowerCobol 9.0

Un Saludo
Rui

Fito
3 de febrero de 2016, 16:14
Hola Rapinto:

Ahi estuve probando lo tuyo y funciona bien. El tema es que en las opciones de compilación tiene la cláusula NOALPHA, si inserto todo eso dentro de mi form esta cláusula me muchos errores.

Saludos. Fito...

Kuk
3 de febrero de 2016, 16:52
Fito, pon ALPHAL(WORD)