Hola Antonio,
Como te dije, ya tengo casi listas todas las mejoras a la clase wbrowse.
Pero me he encontrado un bug y no tengo la función para resolverlo. Te comento:
Para pintar las cabeceras con look 2007, aparece esta línea:
DrawHeader( hWnd, hDC, nTop - 1, nLeft, nBottom, nRight, AnsiToOem( aValues[ n ] ) )
El problema es que o tengo manera de alinear el texto (Actualmente en FWH no funciona), mi idea es LEFT,RIGHT y CENTER.
Primero, veo que se convierte a Oem, lo cual me hace pensar que es por compatibilidad con DOS o es muy vieja y no se ha tocado.
El caso es que no la encuentro en los fuentes y así poder intentar reparar el bug. Sin look 2007 sí funciona todo.
Estas son las mejoras que he incorporado intentando compatibilizar nombres con xBrowse:
DATA lColDividerComplete AS LOGICAL INIT .T. // Si Línea separación entre columnas llega hasta el pie del Browse
DATA nHeaderLines AS NUMERIC INIT 2 // Number of lines of the header
DATA pxHeaderHeight AS NUMERIC INIT 0
DATA nDataLines AS NUMERIC INIT 1.5 // Number of lines of the data rows
DATA pxLineHeight AS NUMERIC INIT 0
DATA nFreeze AS NUMERIC INIT 0 // Columnas a la izquierda congeladas
DATA l2007 AS LOGICAL INIT .F. PROTECTED // 2007 look
METHOD isL2007() INLINE ::l2007
METHOD setLook2007() INLINE ::l2007 := IsAppThemed(), ::l2007
METHOD setLookOff() INLINE ::l2007 := .F., ::l2007
Implementado también el centrado de columnas si es nil el parámetro de aJustify.