I have a Tree with TVS_CHECKBOXES.
Is it possible to know if CHECKBOX is ON or OFF ( without use :Cargo ) ?
Regards Maurizio
Maurizio
www.nipeservice.com
www.nipeservice.com
I have a Tree with TVS_CHECKBOXES.
Is it possible to know if CHECKBOX is ON or OFF ( without use :Cargo ) ?
Regards Maurizio
HB_FUNC( TVISCHECKED ) // hTreeView, hItem
{
hb_retl( TreeView_GetCheckState( ( HWND ) hb_parnl( 1 ), ( HTREEITEM ) hb_parnl( 2 ) ) );
}It works.
Thanks again, Antonio
Hello Antonio
is possible enable or disable CHECKBOX ?
Regards Maurizio
HB_FUNC( TVSETCHECK ) // hTreeView, hItem, lOnOff
{
hb_retl( TreeView_SetCheckState( ( HWND ) hb_parnl( 1 ), ( HTREEITEM ) hb_parnl( 2 ), hb_parl( 3 ) ) );
}Hello Antonio
I have this error
Expression syntax in function HB_FUN_TVSETCHECK.
But the function TreeView_SetCheckState , chek or unchek the CHEKBOX, that I need is to disable or hide the chekbox in front of the Item .
Regrads Maurizio
Maurizio,
I don't know if it is possible to hide it.
...
METHOD SetCheck( nIt, lFlag ) INLINE TVSetCheck( ::hWnd, nIt, lFlag )
METHOD IsChecked( nIt ) INLINE TVIsChecked( ::hWnd, nIt )
...#pragma BEGINDUMP
#include "windows.h"
#include "commctrl.h"
#include "hbapi.h"
HB_FUNC( TVSETCHECK ) // hTreeView, hItem, lOnOff
{
TVITEM tvItem;
HWND hWnd = ( HWND ) hb_parnl( 1 );
HTREEITEM hItem = ( HTREEITEM ) hb_parnl( 2 );
tvItem.mask = TVIF_HANDLE | TVIF_STATE;
tvItem.hItem = hItem;
tvItem.stateMask = TVIS_STATEIMAGEMASK;
/*
Since state images are one-based, 1 in this macro turns the check off,
and
2 turns it on.
*/
tvItem.state = INDEXTOSTATEIMAGEMASK(( hb_parl( 3 ) ? 2 : 1));
hb_retl( ( BOOL ) TreeView_SetItem( ( HWND ) hb_parnl( 1 ), &tvItem ) );
}
HB_FUNC( TVISCHECKED ) // hTreeView, hItem
{
TVITEM tvItem;
HWND hWnd = ( HWND ) hb_parnl( 1 );
HTREEITEM hItem = ( HTREEITEM ) hb_parnl( 2 );
// Prepare to receive the desired information.
tvItem.mask = TVIF_HANDLE | TVIF_STATE;
tvItem.hItem = hItem;
tvItem.stateMask = TVIS_STATEIMAGEMASK;
// Request the information.
hb_retl( ( BOOL ) TreeView_GetItem( ( HWND ) hb_parnl( 1 ), &tvItem ) );
// Return zero if it's not checked, or nonzero otherwise.
hb_retl( (BOOL) (tvItem.state >> 12) -1 ) ;
}
#pragma ENDDUMPPara Setar o status:
oTree:SetCheck( oItem:hItem, .F. ) && Uncheck
ou
oTree:SetCheck( oItem:hItem, .T. ) && check
Para Ler o status:
msgstop( oTree:IsChecked( oItem:hItem ) )