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:
Código COBOL:
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