Necesito de vuestra ayuda por favor, tengo que dar click con el mouse, en cualquier lugar de la pantalla y que se muestre una X del tamaño que se la defina ... el problema es que doy click pero se me muestra en forma vertical porque le añadí + CRLF ... pero sin esto, entonces me salen todas horizontales, ambos casos partiendo de la ubicación 0,0
Alguna cosita está mal en el código, pero no encuentro el error ... podrían ayudarme ?
De antemano muchas gracias.
Saludos
Louis
Code: Select all
#include "hmg.ch"
PROCEDURE Main()
DEFINE WINDOW Win_Main ;
AT 0, 0 ;
WIDTH 800 HEIGHT 600 ;
TITLE "Click para Escribir una X en cualquier lugar de la Pantalla" ;
MAIN
// AREA DE DETECCION DEL CLICK (TODA LA VENTANA)
DEFINE LABEL lblClickArea
ROW 0
COL 0
WIDTH 800
HEIGHT 600
VALUE ""
TRANSPARENT .T.
ON CLICK { |nRow, nCol| HandleClick(nRow, nCol) }
END LABEL
// LABEL PARA MOSTRAR LA SALIDA DE LA X
DEFINE LABEL lblOutput
ROW 10
COL 10
WIDTH 780
HEIGHT 580
VALUE ""
FONTNAME "Arial"
FONTSIZE 12
TRANSPARENT .T.
END LABEL
END WINDOW
Win_Main.Center()
Win_Main.Activate()
RETURN
// Procedimiento para manejar el clic
PROCEDURE HandleClick(nRow, nCol)
LOCAL cText, cCurrentValue
// Genera el texto con la posición del clic
* cText := "X en posición (" + LTrim( Str( nCol ) ) + ", " + LTrim( Str( nRow ) ) + ")" + CRLF
cText := "X" + CRLF
// Obtiene el valor actual del LABEL
cCurrentValue := Win_Main.lblOutput.Value
// Actualiza el LABEL con el nuevo texto
Win_Main.lblOutput.Value := cCurrentValue + cText
RETURN