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
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.
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
- ignacio
- Site Admin
- Mensajes: 9253
- Registrado: Lun Abr 06, 2015 8:00 pm
- Ubicación: Madrid, Spain
- Contactar:
Problema de maskedit y nALignment
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
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
Problema de maskedit y nALignment
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
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
Problema de maskedit y nALignment
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
>
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
>