Page 1 of 1

Nuevo build de FWPPC con Tabs

Posted: Thu Mar 09, 2006 10:15 am
by Antonio Linares

Posted: Fri Mar 10, 2006 8:25 am
by astursoft
Admite el estilo TCS_BUTTONS ?
si es asi como ?
intento :

Code: Select all

 

#define TCS_BUTTONS  256

@ 2, 2 TABCONTROL oTabs PROMPTS { "One", "Two", "Three" } ;
      OPTION 2 ACTION { || MsgInfo( oTabs:nOption ) } ;
      SIZE 205, 80 OF oWnd
   
    oTabs:nStyle := nOR( WS_CHILD, WS_VISIBLE, TCS_BUTTONS ,TCS_VERTICAL , WS_TABSTOP )

pero no logro que me funciona.
Gracias

Posted: Fri Mar 10, 2006 9:00 am
by Antonio Linares
Jose Luis,

Tendrías que hacerlo así:

Code: Select all

#define GWL_STYLE        (-16) 

   SetWindowLong( oTabs:hWnd, GWL_STYLE,; 
                  nOr( GetWindowLong( oTabs:hWnd, GWL_STYLE ), WS_CHILD, WS_VISIBLE, TCS_BUTTONS ,TCS_VERTICAL , WS_TABSTOP ) ) 

Posted: Fri Mar 10, 2006 9:59 am
by astursoft
Antonio, el estilo del tab cambia , pero ahora no funcionan los botones , le das a los botones 1 o 3 y no cambia de tab .
Saludos y gracias.

Posted: Sun Mar 12, 2006 7:33 am
by Antonio Linares
Jose Luis,

Funciona, lo que ocurre es que si se muestra un mensaje, entonces no se completa la secuencia de cambio de opción. Este ejemplo funciona, pero te muestra la opción anterior, no la nueva, por la misma razón.

Code: Select all

#include "FWCE.ch"

function Main()

   local oWnd
   
   DEFINE WINDOW oWnd TITLE "TabControl"
   
   @ 2, 2 TABCONTROL oTabs PROMPTS { "One", "Two", "Three" } ;
      OPTION 2 ACTION oWnd:Say( 10, 4, oTabs:nOption ) ;
      SIZE 205, 80 OF oWnd

   #define GWL_STYLE        (-16) 
   #define TCS_BUTTONS     0x0100

   SetWindowLong( oTabs:hWnd, GWL_STYLE,; 
                  nOr( GetWindowLong( oTabs:hWnd, GWL_STYLE ), TCS_BUTTONS ) ) 
   
   ACTIVATE WINDOW oWnd ;
      ON CLICK MsgInfo( "Click!" )
   
return nil
La solución es modificar la clase para que se autoenvie un mensaje con PostMessage().

Posted: Sun Mar 12, 2006 7:40 am
by Antonio Linares
Jose Luis,

Solucionado :) y publicado un nuevo build.