Como revertir ::nStyle = nOr( ::nStyle, ES_READONLY )

Como revertir ::nStyle = nOr( ::nStyle, ES_READONLY )

Postby FiveWiDi » Mon Mar 25, 2024 10:50 am

Hola a todos,

Veo que en la lógica del control TEDIT está este código:

::nStyle = nOr( ::nStyle, ES_READONLY )

¿Cómo se puede revertir este código en tiempo de ejecución y si es necesario volverlo a aplicar?

Muchas gracias,
Un Saludo
Carlos G.

FiveWin 24.02 + Harbour 3.2.0dev (r2403071241), BCC 7.7 Windows 10
FiveWiDi
 
Posts: 1060
Joined: Mon Oct 10, 2005 2:38 pm

Re: Como revertir ::nStyle = nOr( ::nStyle, ES_READONLY )

Postby Antonio Linares » Mon Mar 25, 2024 11:26 am

Carlos,

Prueba con:

oEdit:WinStyle( ES_READONLY, .F. ) // ó .T. si necesitas volver a aplicarlo
regards, saludos

Antonio Linares
www.fivetechsoft.com
User avatar
Antonio Linares
Site Admin
 
Posts: 41314
Joined: Thu Oct 06, 2005 5:47 pm
Location: Spain

Re: Como revertir ::nStyle = nOr( ::nStyle, ES_READONLY )

Postby FiveWiDi » Mon Mar 25, 2024 1:57 pm

Antonio Linares wrote:Carlos,

Prueba con:

oEdit:WinStyle( ES_READONLY, .F. ) // ó .T. si necesitas volver a aplicarlo


Gracias Antonio,

Pero no ha funcionado, permitía editar el texto tanto con .F. como con .T.; le he aplicado:

oEdit:WinStyle( 2048 /* ES_READONLY */ , .F. )

2048 lo he encontrado en winapi.ch

A ver si se te ocurre algo.
Es un control que me muestra un texto que según que condiciones debe permitir editarlo o no.

Muchas gracias,
Un Saludo
Carlos G.

FiveWin 24.02 + Harbour 3.2.0dev (r2403071241), BCC 7.7 Windows 10
FiveWiDi
 
Posts: 1060
Joined: Mon Oct 10, 2005 2:38 pm

Re: Como revertir ::nStyle = nOr( ::nStyle, ES_READONLY )

Postby karinha » Mon Mar 25, 2024 2:37 pm

Carlos, ¿es posible publicar un ejemplo completo para probar, por favor?

Gracias.

Regards, saludos.
João Santos - São Paulo - Brasil - Phone: +55(11)95150-7341
User avatar
karinha
 
Posts: 7213
Joined: Tue Dec 20, 2005 7:36 pm
Location: São Paulo - Brasil

Re: Como revertir ::nStyle = nOr( ::nStyle, ES_READONLY )

Postby nageswaragunupudi » Mon Mar 25, 2024 5:21 pm

Code: Select all  Expand view

#define EM_SETREADONLY          0x00CF

//
//

     If( oEdit:WinStyle( ES_READONLY ), oEdit:SendMsg( EM_SETREADONLY, 0 ), ;
         oEdit:SendMsg( EM_SETREADONLY, 1 ) ) }
 
Regards

G. N. Rao.
Hyderabad, India
User avatar
nageswaragunupudi
 
Posts: 10247
Joined: Sun Nov 19, 2006 5:22 am
Location: India

Re: Como revertir ::nStyle = nOr( ::nStyle, ES_READONLY )

Postby nageswaragunupudi » Tue Mar 26, 2024 4:43 am

You can use the above code to Toggle ReadOnly status during runtime. This code is tested.

From the next version, we have provided DATA lReadOnly. We can toggle this at runtime with oEdit:lReadOnly := .T. or .F..
Regards

G. N. Rao.
Hyderabad, India
User avatar
nageswaragunupudi
 
Posts: 10247
Joined: Sun Nov 19, 2006 5:22 am
Location: India


Return to FiveWin para Harbour/xHarbour

Who is online

Users browsing this forum: No registered users and 62 guests