Me refiero a si tememos algun ejemplo donde se use un BtnBmp independiente ( no como boton de barra ) que funcione como si fuera un checkbox .
Gracias anticipadas por la respuesta .
Me refiero a si tememos algun ejemplo donde se use un BtnBmp independiente ( no como boton de barra ) que funcione como si fuera un checkbox .
Gracias anticipadas por la respuesta .
Manuel,
Revisa el uso de lPressed en FWH/samples/msgdate.prg ![]()
#include "FiveWin.ch"
//----------------------------------------------------------------------------//
function Main()
local oDlg
local obtn
SET _3DLOOK ON
DEFINE DIALOG oDlg RESOURCE "Main" //COLOR "N/B"
REDEFINE BTNBMP obtn ID 110 OF oDlg ;
RESOURCE "Yes" NOBORDER // ACTION oDlg:End()
obtn:lPressed:= .t.
obtn:bAction:= {|o| if( o:lpressed, msginfo(1),msginfo(2)) , o:lPressed:= !(o:lPressed),o:refresh() }
// oDlg:aControls[ 1 ]:lTransparent = .t.
REDEFINE BTNBMP ID 120 OF oDlg ;
RESOURCE "No"
REDEFINE BTNBMP ID 130 OF oDlg ;
RESOURCE "Cancel"
ACTIVATE DIALOG oDlg CENTERED
return nilParece que la solución de Daniel es la correcta , se podria implementar en la clase y asi poder suarla como sustituto de los checkbox ( queda muy bien )
viewtopic.php?f=3t=19571p=103143hilit=lpressed#p103144
&&&
METHOD Click() CLASS TBtnBmp
if ::bWhen != NIL
if ! Eval( ::bWhen )
MsgBeep()
return NIL
endif
endif
if ! ::lProcessing // .and. ! ::lPressed // aqui !!!#include "FiveWin.ch"
//----------------------------------------------------------------------------//
function Main()
local oDlg, oBtn
DEFINE DIALOG oDlg RESOURCE "Main" //COLOR "N/B"
REDEFINE BTNBMP oBtn ID 110 OF oDlg ;
RESOURCE "Yes" NOBORDER ;
ACTION ( oBtn:Toggle(), MsgBeep() )
REDEFINE BTNBMP ID 120 OF oDlg ;
RESOURCE "No"
REDEFINE BTNBMP ID 130 OF oDlg ;
RESOURCE "Cancel"
ACTIVATE DIALOG oDlg CENTERED ;
ON INIT oBtn:GoDown()
return nil#include "FiveWin.ch"
//----------------------------------------------------------------------------//
function Main()
local oDlg, oBtn
DEFINE DIALOG oDlg RESOURCE "Main" //COLOR "N/B"
REDEFINE BTNBMP oBtn ID 110 OF oDlg ;
RESOURCE "Yes" NOBORDER ;
ACTION ( oBtn:Toggle(), MsgBeep() )
oBtn:GoDown()
REDEFINE BTNBMP ID 120 OF oDlg ;
RESOURCE "No"
REDEFINE BTNBMP ID 130 OF oDlg ;
RESOURCE "Cancel"
ACTIVATE DIALOG oDlg CENTERED
return nilMETHOD aGrad() INLINE If( ::bClrGrad != nil, Eval( ::bClrGrad, ( ::lMOver .OR. ::lPressed ) ),;
If( ::oWnd:bClrGrad != nil, Eval( ::oWnd:bClrGrad, ::lMOver ) , ) )Manuel,
Incluido, gracias! ![]()