C:\FWH..\SAMPLES\TESTLBX5.PRG
#INCLUDE "TESTLBX5.CH"
#INCLUDE "FIVEWIN.CH"
FUNCTION Main()
local oLbx, oDlg, nItem := 0, oMeter, nMeter
local n, nSelected := 0, aSel := {}
DEFINE DIALOG oDlg RESOURCE "REINDEX"
REDEFINE LISTBOX oLbx VAR nItem ;
ID RIN_LISTBOX OF oDlg ;
ITEMS NomiFiles() ;
BITMAPS { "CHECKON", "CHECKOFF" } ;
ON DRAWITEM ( IIF(ascan(oLbx:GetSelItems(),nItem)>0, 1, 2) );
ON CHANGE (nSelected := oLbx:GetSelCount(), oDlg:AevalWhen());
COLOR "n/w"
REDEFINE button ID RIN_ALL OF oDLG ;
ACTION (aeval(oLbx:aItems,{|o,n| oLbx:SetSel(n,.t.) }), oLbx:Change())
REDEFINE button ID RIN_NONE OF oDLG ;
ACTION (aeval(oLbx:aItems,{|o,n| oLbx:SetSel(n,.f.) }), oLbx:Change());
WHEN nSelected > 0
REDEFINE button ID RIN_INDEX OF oDLG ;
ACTION reind(oLbx,"INDEX",oMeter), oLbx:Change();
WHEN nSelected > 0
REDEFINE button ID RIN_REINDEX OF oDLG ;
ACTION reind(oLbx,"REINDEX",oMeter), oLbx:Change();
WHEN nSelected > 0
REDEFINE button ID RIN_PACK OF oDLG ;
ACTION reind(oLbx,"PACK",oMeter), oLbx:Change();
WHEN nSelected > 0
REDEFINE button ID RIN_CANCEL of oDLG CANCEL;
ACTION oDlg:END()
REDEFINE METER oMeter VAR nMETER ID RIN_METER1 OF oDLG
ACTIVATE DIALOG oDlg CENTERED
RETURN NIL
//----------------------------------------------------------------------------//
STATIC FUNCTION REIND(oLbx,cAz,oMeter)
LOCAL cDbf
LOCAL cFILE
LOCAL cIND
LOCAL aIT := oLbx:GetSelItems(), n, nTag, nM
oLbx:oWnd:disable()
FOR n := 1 TO len(aIT)
Cursorwait()
oLbx:Select(aIT[n])
cDbf := upper(oLbx:aItems[aIT[n]])
cFILE := cFILENOEXT(cDBF)
cIND := cFILE + ORDBAGEXT()
oLbx:SetSel(aIt[n],.f.)
sysrefresh()
NEXT
oMETER:SETTOTAL(1)
oMETER:set(0)
oLbx:oWnd:enable()
cursorarrow()
RETURN NIL
STATIC FUNCTION NomiFiles()
RETURN {;
"TADTABPF.DBF", ;
"TADHLPPF.DBF", ;
"TADCLIPF.DBF", ;
"TADCL2PF.DBF", ;
"TADCALPF.DBF", ;
"TADMDIPF.DBF" ;
}
http://fivewin.com.br/index.php?/topic/9289-browse-com-checkbox/?hl=%2Bcheckbox+%2Bbrowse