Page 1 of 1

Estilo de control (Solucionado)

PostPosted: Wed Aug 21, 2013 10:51 am
by cnavarro
Hola
Como saber si una determinada propiedad esta contenida en el estilo de un control?
Ejemplo, algo asi, saber si WS_BORDER $ ::nStyle (si el control lo han definido con borde)
Evidentemente esto no funciona.
Hace tiempo creo que lo vi en el foro pero no lo encuentro
Saludos

Re: Estilo de control

PostPosted: Wed Aug 21, 2013 5:40 pm
by Antonio Linares
Prueba asi:

MsgInfo( lAnd( GetWindowLong( hWnd, GWL_STYLE ), WS_BORDER ) )

Re: Estilo de control

PostPosted: Wed Aug 21, 2013 5:54 pm
by cnavarro
Antonio
Ya habia probado con:

? GetWindowLong( oXBrw:hWnd, -16 ) //GWL_STYLE )

y siempre obtenia 0, y eso me tiene parado

MsgInfo( lAnd( GetWindowLong( oXBrw:hWnd, -16 ), WS_BORDER ) )

Devuelve siempre .F.

El valor de GWL_STYLE es -16 ?, verdad?

Gracias y saludos

Re: Estilo de control

PostPosted: Wed Aug 21, 2013 5:59 pm
by cnavarro
Antonio
Como dices muchas veces, siempre lo mas sencillo es lo mejor y nos encargamos de hacerlo complicado
Esto si funciona:
Code: Select all  Expand view

 lAnd( ::nStyle, WS_BORDER )
 

Gracias

Re: Estilo de control (Solucionado)

PostPosted: Wed Aug 21, 2013 6:06 pm
by Antonio Linares
Cristobal,

Haces esa comprobación despues de haber llamado a oBrw:CreateFromCode() ?

Hasta ese momento no tiene un handle de ventana (hWnd) válido

Re: Estilo de control (Solucionado)

PostPosted: Wed Aug 21, 2013 6:08 pm
by cnavarro
Ese era el problema
Necesitaba conocer el estilo en tiempo de creacion y antes del CreateFrom...()
Por eso el uso del :hWnd me daba 0
Parece que funciona asi. Que te parece?
Gracias