In order for this site to work correctly we need to store a small file (called a cookie) on your computer. Most every site in the world does this, however since the 25th of May 2011, by law we have to get your permission first. Please abandon the forum if you disagree.

Para que este foro funcione correctamente es necesario guardar un pequeño fichero (llamado cookie) en su ordenador. La mayoría de los sitios de Internet lo hacen, no obstante desde el 25 de Marzo de 2011 y por ley, necesitamos de su permiso con antelación. Abandone este foro si no está conforme.

Problema de maskedit y nALignment

Foro de Xailer profesional en español
Responder
jmartial
Mensajes: 397
Registrado: Vie May 20, 2005 8:53 pm

Problema de maskedit y nALignment

Mensaje por jmartial »

Hola,
En el IDE se puede cambiar la propiedad nALignment y funciona.
Pero si quiero cambiarlo en el formInitialize() , lo siguiente pasa
totalmente de mi:
::oMaskEdit1:nALignment := taRIGHT
¿Es un bug o hay que hacer algo especial para cambiarlo en runtime?
Un Saludo,
Joaquí­n
Avatar de Usuario
ignacio
Site Admin
Mensajes: 9253
Registrado: Lun Abr 06, 2015 8:00 pm
Ubicación: Madrid, Spain
Contactar:

Problema de maskedit y nALignment

Mensaje por ignacio »

Joaquín,
Como puedes comprobar en la ayuda esa propiedad sólo es modificable en
tiempo de diseño, lo que quiere decir que una vez que se ha ejecutado el
método Create no hay forma de cambiar esa propiedad. Es una limitación del
API de Windows.
Un saludo
--
Ignacio Ortiz de Zúñiga
http://www.xailer.com
"Joaquín Martínez" <jmartial@interbook.net> escribió en el mensaje
news:4742c0ce$[email=1@ozsrv2.ozlan.local...]1@ozsrv2.ozlan.local...[/email]
> Hola,
>
> En el IDE se puede cambiar la propiedad nALignment y funciona.
>
> Pero si quiero cambiarlo en el formInitialize() , lo siguiente pasa
> totalmente de mi:
>
> ::oMaskEdit1:nALignment := taRIGHT
>
>
> ¿Es un bug o hay que hacer algo especial para cambiarlo en runtime?
>
> Un Saludo,
> Joaquín
Ignacio Ortiz de Zúñiga
[Equipo de Xailer / Xailer team]
https://www.xailer.com
Xevi
Mensajes: 1706
Registrado: Jue Sep 08, 2005 12:58 pm

Problema de maskedit y nALignment

Mensaje por Xevi »

Joaquí­n,
En el caso que necesites cambiar de alineación un Edit, yo lo que hago es
"destruir" el Edit y volverlo a crear...
por ej. en un Form yo necesito de un Edit que se encarga de recibir los
datos de búsqueda en un Browse, y no quiero crear un Edit por cada columna
del Browse para buscar. Bien, pues al hacer clic en el mi botón de búsqueda,
eso es lo que hago...
::oEditRecerca:Destroy()
WITH OBJECT ::oEditRecerca := TMaskEdit():New( ::oPanelTop )
:nTop := 11
:OnChange := "xEditRecercaChange"
:OnKeyDown := "xEditRecercaKeyDown"
:OnExit := {|oSender| ::oLblRecerca:lVisible := oSender:lVisible :=
..F., oSender:Value := "", ::oBrowse1:SetFocus() }
:nLeft := 0
For n:=1 to nCol-1
:nLeft := ::oBrowse1:aCols[n]:nWidth
Next
:nWidth := ::oBrowse1:aCols[nCol]:nWidth
:cPicture := ::oBrowse1:aCols[nCol]:cPicture
If nCol = 1 .or. nCol = 5 .or. nCol = 8
:nAlignment := taRIGHT
:Value := If( nCol = 1, ::oDbfDataSet1:ASSENT, If( nCol = 5,
::oDbfDataSet1:IMPORT, ::oDbfDataSet1:ORDRE ) )
ElseIf nCol = 2
:Value := ::oDbfDataSet1:DATAA
EndIf
:Create()
END
WITH OBJECT ::oLblRecerca
:nLeft := ::oEditRecerca:nLeft
:nWidth := ::oEditRecerca:nWidth
END
::oLblRecerca:lVisible := .T.
::oEditRecerca:SetFocus()
Return 0
Espero te sirva.
A mi me funciona perfecto!!!
Un Saludo,
Xevi.
"Joaquí­n Martí­nez" <jmartial@interbook.net> escribió en el mensaje de
noticias news:4742c0ce$[email=1@ozsrv2.ozlan.local...]1@ozsrv2.ozlan.local...[/email]
> Hola,
>
> En el IDE se puede cambiar la propiedad nALignment y funciona.
>
> Pero si quiero cambiarlo en el formInitialize() , lo siguiente pasa
> totalmente de mi:
>
> ::oMaskEdit1:nALignment := taRIGHT
>
>
> ¿Es un bug o hay que hacer algo especial para cambiarlo en runtime?
>
> Un Saludo,
> Joaquí­n
jmartial
Mensajes: 397
Registrado: Vie May 20, 2005 8:53 pm

Problema de maskedit y nALignment

Mensaje por jmartial »

Gracias Xevi,
Pero no me sirve, yo sólo quiero cambiar la alineación en cualquier get
en una clase estándar para toda la aplicación, y destruir y crear serí­a
una pasada.
Un Saludo,
Joaquí­n
Xevi escribió:
> Joaquí­n,
>
> En el caso que necesites cambiar de alineación un Edit, yo lo que hago
> es "destruir" el Edit y volverlo a crear...
> por ej. en un Form yo necesito de un Edit que se encarga de recibir los
> datos de búsqueda en un Browse, y no quiero crear un Edit por cada
> columna del Browse para buscar. Bien, pues al hacer clic en el mi botón
> de búsqueda, eso es lo que hago...
>
> ::oEditRecerca:Destroy()
> WITH OBJECT ::oEditRecerca := TMaskEdit():New( ::oPanelTop )
> :nTop := 11
> :OnChange := "xEditRecercaChange"
> :OnKeyDown := "xEditRecercaKeyDown"
> :OnExit := {|oSender| ::oLblRecerca:lVisible := oSender:lVisible :=
> .F., oSender:Value := "", ::oBrowse1:SetFocus() }
> :nLeft := 0
> For n:=1 to nCol-1
> :nLeft := ::oBrowse1:aCols[n]:nWidth
> Next
> :nWidth := ::oBrowse1:aCols[nCol]:nWidth
> :cPicture := ::oBrowse1:aCols[nCol]:cPicture
> If nCol = 1 .or. nCol = 5 .or. nCol = 8
> :nAlignment := taRIGHT
> :Value := If( nCol = 1, ::oDbfDataSet1:ASSENT, If( nCol = 5,
> ::oDbfDataSet1:IMPORT, ::oDbfDataSet1:ORDRE ) )
> ElseIf nCol = 2
> :Value := ::oDbfDataSet1:DATAA
> EndIf
> :Create()
> END
>
> WITH OBJECT ::oLblRecerca
> :nLeft := ::oEditRecerca:nLeft
> :nWidth := ::oEditRecerca:nWidth
> END
>
> ::oLblRecerca:lVisible := .T.
> ::oEditRecerca:SetFocus()
> Return 0
>
>
> Espero te sirva.
> A mi me funciona perfecto!!!
>
>
> Un Saludo,
> Xevi.
>
>
> "Joaquí­n Martí­nez" <jmartial@interbook.net> escribió en el mensaje de
> noticias news:4742c0ce$[email=1@ozsrv2.ozlan.local...]1@ozsrv2.ozlan.local...[/email]
>> Hola,
>>
>> En el IDE se puede cambiar la propiedad nALignment y funciona.
>>
>> Pero si quiero cambiarlo en el formInitialize() , lo siguiente pasa
>> totalmente de mi:
>>
>> ::oMaskEdit1:nALignment := taRIGHT
>>
>>
>> ¿Es un bug o hay que hacer algo especial para cambiarlo en runtime?
>>
>> Un Saludo,
>> Joaquí­n
>
Responder