11 mar 2026, 0:16:03 (hace 24 horas)
a Comunidad de Visual Foxpro en Español
Que tal Amigos del Foro
Muy Buenas Noches
Aquí les muestro el código con algunas variantes, Muestra con la Barra Espaciadora DOLARES mas no SOLES
Local lcTecla
lcTecla = Chr(nKeyCode)
if INLIST(LASTKEY(),13,127,7,19,4)
return
endif
IF nKeyCode = 32
NODEFAULT
DO CASE
CASE This.Tag = "SOLES"
Thisform.TxtMoney.Value = "DOLARES"
Thisform.Refresh()
OTHERWISE
THISFORM.TXTMONEY.VALUE = "DOLARES"
Thisform.Refresh()
ENDCASE
endif
RETURN
Buscando encontre el siguiente codigo
LOCAL oForm
oForm = CREATEOBJECT("myform")
oForm.SHOW(1)
DEFINE CLASS MyForm AS FORM
DOCREATE = .T.
AUTOCENTER = .T.
CAPTION = "Imita la cláusula de formato M de Fox2.x"
WIDTH = 310
HEIGHT = 63
cTxtBoxValue = SPACE(2)
ADD OBJECT txtMformat AS TEXTBOX WITH ;
TOP = 5, ;
LEFT = 5, ;
HEIGHT = 24, ;
WIDTH = 200, ;
TAG = "Este,Ejemplo,Imita,La,M,Formato,Cláusula,Usado,En,Fox2.x,@Obtener regiones de edición", ;
CONTROLSOURCE = "thisform.cTxtBoxValue", ;
nListCount = 0, ;
nCurListItem = 0
ADD OBJECT txtTwo AS TEXTBOX WITH ;
TOP = THIS.txtMformat.TOP + THIS.txtmFormat.HEIGHT + 5, ;
LEFT = 5, ;
HEIGHT = 24, ;
WIDTH = 200
PROCEDURE txtMformat.INIT
THIS.nListCount = OCCURS(",",THIS.TAG)+IIF(OCCURS(",",THIS.TAG)>0,1,0)
IF EMPTY(THIS.VALUE)
THIS.VALUE = LEFT(THIS.TAG,AT(",",THIS.TAG)-1)
THIS.nCurListItem = 1
ENDIF
ENDPROC
PROCEDURE txtMformat.KEYPRESS
LPARAM nKeyCode, nShiftAltCtrl
DO CASE
CASE nKeyCode == 32 && space bar
THIS.nCurListItem = THIS.nCurListItem + 1
IF THIS.nCurListItem > THIS.nListCount
THIS.nCurListItem = 1
ENDIF
LOCAL cSelValue, nNxtCharPos
nNxtCharPos = IIF(THIS.nCurListItem>1,AT(",",THIS.TAG,THIS.nCurListItem-1)+1,1)
cSelValue = ""
DO WHILE SUBSTR(THIS.TAG,nNxtCharPos,1) <> "," .AND. nNxtCharPos<LEN(THIS.TAG)+1
cSelValue = cSelValue + SUBSTR(THIS.TAG,nNxtCharPos,1)
nNxtCharPos = nNxtCharPos + 1
ENDDO
THIS.VALUE = cSelValue
THIS.SELSTART = 0
NODEFAULT && Insure the space isn't pre-pended to the textbox
CASE INLIST(nKeyCode,5,13,19,24) && Allow UpArrow, Enter, LeftArrow, or DownArrow through
DODEFAULT(nKeyCode, nShiftAltCtrl)
OTHERWISE
NODEFAULT
ENDCASE
ENDDEFINE
Aqui el link del ejemplo que falta depurar..
Agradezco vuestra ayuda.
Atte.,
Integral