Sugerencias para la nueva versión
Publicado: Sab Ene 23, 2016 11:09 am
Buenas xTeam.
Ya que se ha abierto la veda de sugerencias, tengo alguna.
Cuando un Browse es nMarqueeStyle = bmHIGHLROWMS el comportamiento es algo extraño en comparación con nMarqueeStyle = bmHIGHLROW, mas bién es anómalo y no acorde con el funcionamiento de Windows, me explico.
Para empezar, al entrar en el browse bmHIGHLROWMS y a pesar de tener el foco no marca en color nClrSelFocusPane+nClrSelFocusText la primera de las líneas como en bmHIGHLROW a no ser que hagas un Select(), además al moverte arriba o abajo con el teclado no marca la línea a la que te mueves con color a no ser que cojas el ratón y hagas clic en esa linea.
Pero lo anómalo es que si seleccionas un grupo de lineas y a continuación te mueves con el teclado arriba o abajo, sigue quedando pintado el grupo a pesar de que ya la linea seleccionada es otra en realidad, así lo indica el RecordSelector, con lo que al preguntar cual es la linea seleccionada es una de las que no están marcadas en color.... a no ser que uses el ratón que si deja de seleccionar el grupo y marca la línea que eliges con el color y el RecordSelector.
Tenemos sobrecargado el browse para que haga todo esto correctamente pero estaría bien que así lo hiciera Xailer, si puede ser.
Do Case
Case nKey=VK_UP
IF ::KeyNo=1 // Desde la primera línea con la flecha arriba
If ::lFilterBar // Si está visible el filtro moverse directamente a él
::oHeader:EditFilter( ::nColSel )
Else
MsgSound()
Endif
Else
::GoUp()
If ::nMarqueeStyle = bmHIGHLROWMS
If Len(::aSelected)>0
::aSelected:={}
::Refresh()
Endif
::Select()
Endif
Endif
Case nKey=VK_DOWN
If ::KeyNo=::nLen
MsgSound()
Else
::GoDown()
If ::nMarqueeStyle = bmHIGHLROWMS
If Len(::aSelected)>0
::aSelected:={}
::Refresh()
Endif
::Select()
Endif
Endif
OtherWise
uDev := ::Super:WMKeyDown( nKey, nFlags, hWnd ) // Browse por defecto
End
Ya que se ha abierto la veda de sugerencias, tengo alguna.
Cuando un Browse es nMarqueeStyle = bmHIGHLROWMS el comportamiento es algo extraño en comparación con nMarqueeStyle = bmHIGHLROW, mas bién es anómalo y no acorde con el funcionamiento de Windows, me explico.
Para empezar, al entrar en el browse bmHIGHLROWMS y a pesar de tener el foco no marca en color nClrSelFocusPane+nClrSelFocusText la primera de las líneas como en bmHIGHLROW a no ser que hagas un Select(), además al moverte arriba o abajo con el teclado no marca la línea a la que te mueves con color a no ser que cojas el ratón y hagas clic en esa linea.
Pero lo anómalo es que si seleccionas un grupo de lineas y a continuación te mueves con el teclado arriba o abajo, sigue quedando pintado el grupo a pesar de que ya la linea seleccionada es otra en realidad, así lo indica el RecordSelector, con lo que al preguntar cual es la linea seleccionada es una de las que no están marcadas en color.... a no ser que uses el ratón que si deja de seleccionar el grupo y marca la línea que eliges con el color y el RecordSelector.
Tenemos sobrecargado el browse para que haga todo esto correctamente pero estaría bien que así lo hiciera Xailer, si puede ser.
Do Case
Case nKey=VK_UP
IF ::KeyNo=1 // Desde la primera línea con la flecha arriba
If ::lFilterBar // Si está visible el filtro moverse directamente a él
::oHeader:EditFilter( ::nColSel )
Else
MsgSound()
Endif
Else
::GoUp()
If ::nMarqueeStyle = bmHIGHLROWMS
If Len(::aSelected)>0
::aSelected:={}
::Refresh()
Endif
::Select()
Endif
Endif
Case nKey=VK_DOWN
If ::KeyNo=::nLen
MsgSound()
Else
::GoDown()
If ::nMarqueeStyle = bmHIGHLROWMS
If Len(::aSelected)>0
::aSelected:={}
::Refresh()
Endif
::Select()
Endif
Endif
OtherWise
uDev := ::Super:WMKeyDown( nKey, nFlags, hWnd ) // Browse por defecto
End