while combobox run correclty.

I use customer.dbf
the test
#include "fivewin.ch"
聽REQUEST DBFCDX
聽 聽 #define 聽TXT_COLORE1 nRgb( 245,244,234)
聽 聽 #define 聽TXT_COLORE2 nRgb(233,229,206)
聽 聽 #define 聽TXT_COLORE3 RGB( 238,236,219 )
聽 聽 #define 聽TXT_COLORE4 nRgb(218,214,179)
Static lToolbar
function Main()
聽 聽 聽 聽local oWnd, oBar, oMenu
聽 聽 聽 聽RddSetDefault( "DBFCDX" )
聽 聽 聽
聽 聽 聽 聽DEFINE WINDOW oWnd MDI TITLE "Test"
聽 聽 聽 聽DEFINE BUTTONBAR oBar OF oWnd SIZE 100,32
聽 聽 聽 聽DEFINE BUTTON OF oBar PROMPT "Customer" 聽 CENTER ACTION 聽Customer()
聽 聽 聽 聽ACTIVATE WINDOW oWnd
聽 聽 return nil
//-----------------------------------------------------------//
Function Customer()
聽 local oTable
聽 local oCust
聽 local aBrowse
聽 local ctitle :="Table of Customer"
聽 oCust:=Tdatabase():Open( , "Customer", "DBFCDX", .T. )
聽 oCust:SetOrder("FIRST")
聽 oCust:Gotop()
聽aBrowse 聽 聽:= { ;
聽 聽 聽 聽 聽 聽 聽 聽{ "FIRST" 聽 , 聽 "Surname" 聽 聽 聽,, 聽 140, },;
聽 聽 聽 聽 聽 聽 聽 聽{ "LAST" 聽 聽 , 聽"Name" 聽 聽 聽 聽,, 聽 150, },;
聽 聽 聽 聽 聽 聽 聽 聽{ "STREET" 聽 , 聽"Address" 聽 ,, 聽 150, },;
聽 聽 聽 聽 聽 聽 聽 聽{ "CITY" 聽 聽 , 聽"City" 聽 聽 聽 ,, 聽 150, },;
聽 聽 聽 聽 聽 聽 聽 聽{ "STATE" 聽 聽, 聽"State" 聽 聽 聽 ,, 聽 150, },;
聽 聽 聽 聽 聽 聽 聽 聽{ "ZIP" 聽 聽 聽, 聽"Zip" 聽 聽 聽 聽 ,, 聽 150, },;
聽 聽 聽 聽 聽 聽 聽 聽{ "HIREDATE" , 聽"Hiredate" 聽,, 聽 150, },;
聽 聽 聽 聽 聽 聽 聽 聽{ "MARRIED" 聽, 聽"Married" 聽 聽 ,, 聽 150, },;
聽 聽 聽 聽 聽 聽 聽 聽{ "AGE" 聽 聽 聽, 聽"Years" 聽 聽 聽 聽 ,, 聽 150, },;
聽 聽 聽 聽 聽 聽 聽 聽{ "SALARY" 聽 , 聽"Salary" 聽 ,, 聽 150, },;
聽 聽 聽 聽 聽 聽 聽 聽{ "NOTES" 聽 聽, 聽"Comment" 聽 聽 ,, 聽 150, }}
聽 聽 聽 聽 聽 聽 聽
聽 聽 聽XBrowseTable(oCust,aBrowse,ctitle,,.t.)
聽 聽 聽 聽return nil
//---------------------------------------------------------------------//
Function XBrowseTable(oDbf,aBrowse,ctitle,lShowRec,lselectMulti)
local oDlgLook,oToolBar,oFont,oBold
local oGetSearch,oSaySearch:=array(2)
local cSeek:=space(100)
local nHt 聽 聽 聽:= Int( ScreenHeight() * 0.4 )
local nWd 聽 聽 聽:= 750
local oBrwlook,oHand
DEFAULT 聽lShowRec:=.f. 聽 聽 ,;
聽 聽 聽 聽 聽lselectMulti:=.f.
聽 聽lToolbar:=.t. 聽 //On off Toolbar
聽 聽DEFINE CURSOR oHand HAND
聽 聽DEFINE FONT oFont NAME 'TAHOMA' SIZE 0,-9
聽 聽DEFINE FONT oBold NAME 'TAHOMA' SIZE 0,-9 BOLD
聽DEFINE DIALOG oDlgLook TITLE ctitle ;
聽 聽 聽 聽 SIZE nWd, nHt PIXEL ; 聽//
聽 聽 聽 聽 STYLE nOr( WS_OVERLAPPEDWINDOW ) 聽FONT oFont
IF lToolBar
聽 DEFINE BUTTONBAR oToolBar OF oDlgLook SIZE 22,22 聽TOP 聽 2015 聽NOBORDER
聽 聽DEFINE BUTTON OF oToolBar RESOURCE FWBitmap( "top2" ) 聽;
聽 聽 聽 ACTION oBrwlook:KeyDown(VK_HOME, 0) WHEN oDbf:OrdKeyCount() > 0
聽 聽DEFINE BUTTON OF oToolBar RESOURCE FwBitmap( "previous2" ) 聽;
聽 聽 聽 ACTION oBrwlook:KeyDown(VK_UP, 0) WHEN oDbf:OrdKeyCount() > 0
聽 聽DEFINE BUTTON OF oToolBar RESOURCE FWBitmap( "next2" ) ;
聽 聽 聽 ACTION oBrwlook:KeyDown(VK_DOWN, 0) 聽WHEN oDbf:OrdKeyCount() > 0
聽 聽DEFINE BUTTON OF oToolBar RESOURCE FWBitmap( "bottom2" ) ;
聽 聽 聽 ACTION oBrwlook:KeyDown(VK_END, 0) 聽WHEN oDbf:OrdKeyCount() > 0
聽 聽DEFINE BUTTON OF oToolBar 聽RESOURCE FWBitmap( "printer" );
聽 聽 聽 ACTION oBrwlook:Report() 聽WHEN oDbf:OrdKeyCount() > 0
聽 聽 聽 聽 聽 聽 聽oToolBar:bClrGrad = { | lInvert | If( ! lInvert,;
聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 { { 1, RGB( 244, 244, 245 ), RGB( 244, 244, 245 ) } },;
聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 { { 1, RGB( 145, 201, 247 ), RGB( 145, 201, 247 ) } } ) }
AEval( 聽oToolBar:aControls, { | o | o:oCursor := oHand } )
ENDIF
聽 聽IF lToolBar
聽 聽 聽@ 110,10 XBROWSE oBrwlook SIZE -2, -5 PIXEL OF oDlgLook ;
聽 聽 聽 聽 聽 DATASOURCE oDbf COLUMNS aBrowse ;
聽 聽 聽 聽 聽 AUTOSORT ;
聽 聽 聽 聽 聽 NOBORDER CELL LINES
聽 else
聽 聽 聽 聽@ 0,0 XBROWSE oBrwlook SIZE -2, -5 PIXEL OF oDlgLook ;
聽 聽 聽 聽 聽 DATASOURCE oDbf COLUMNS aBrowse ;
聽 聽 聽 聽 聽 AUTOSORT ;
聽 聽 聽 聽 聽 NOBORDER CELL LINES
聽 聽 Endif
聽 聽 WITH OBJECT oBrwlook
聽 聽 聽 聽 聽 聽 :lIncrFilter 聽 聽 聽:= .t.
聽 聽 聽 聽 聽 聽 :bOnSort 聽 聽 聽 聽 聽:= { |b,oCol| oBrwlook:Seek( "" ), ;
聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽oBrwlook:cFilterFld := oCol:cExpr, ;
聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽oBrwlook:SetFocus() }
聽 聽 聽 聽 聽 聽 :oSeek := oGetSearch
聽 聽 聽 聽 聽 聽 :CreateFromCode()
聽 聽 聽 聽 聽END
聽 聽 聽 聽oBrwlook:bRClicked := {|nRow,nCol| MenuDisplay(nRow,nCol,@ltoolBar,oBrwlook,oDlgLook) }
oDlgLook:bResized 聽:= <||
聽 聽local oRect 聽 聽 聽 := oDlgLook:GetCliRect()
聽 聽 聽 聽 聽 聽IF 聽 lToolbar
聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽oBrwlook:nTop 聽 聽 聽:= oRect:nTop+24
聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽oBrwlook:nLeft 聽 聽 := oRect:nLeft
聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽oToolBar:Show()
聽 聽 聽 聽 聽 聽 聽 聽 聽 ELSE
聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽oBrwlook:nTop 聽 聽 聽:= oRect:nTop
聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽oBrwlook:nLeft 聽 聽 := oRect:nLeft
聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽oToolBar:Hide()
聽 聽 聽 聽 聽 聽 聽 聽 聽 ENDIF
聽 聽 聽 聽 聽 聽 聽 聽 聽 oBrwlook:setfocus()
聽 聽 聽 聽 聽 聽 聽 聽 聽 oBrwlook:refresh()
聽 聽 聽 聽 聽 聽 聽 聽 聽 RETURN nil
聽 聽 聽 聽 聽 聽 聽 聽 聽 >
Activate Dialog oDlgLook CENTER;
聽 聽ON INIT (GetSearch(oToolBar,lToolbar,cSeek,oGetSearch,oBrwlook,oSaySearch,oFont,oBold),;
聽 聽 聽 聽 聽 聽 Eval(oDlgLook:bResized()) )
RETURN NIL
//---------------------------------------------------------------------------//
Function MenuDisplay(nRow,nCol,lToolbar,oBrwlook,oDlgLook)
聽 聽 聽local oMenu
聽 聽 聽local otoolBarCheck
聽 聽 聽MENU oMenu 聽POPUP
聽 聽 聽MENUITEM " 聽 "
聽 聽 聽SEPARATOR
聽 聽 聽 聽 MENUITEM oToolBarCheck Prompt "Show ToolBar" ;
聽 聽 聽 聽 聽 ACTION ( ltoolBar :=!ltoolBar,;
聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 Eval( oDlgLook:bResized),;
聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 oBrwLook:refresh(),;
聽 聽 聽 聽 聽 聽 聽 聽 聽 聽oToolBarCheck:SetCheck( ltoolBar ))
聽 聽 聽 聽 聽SEPARATOR
聽 聽 聽 聽 聽 ENDMENU
聽 聽 聽 聽 聽 oToolBarCheck:SetCheck( ltoolBar )
聽 聽ACTIVATE POPUP oMenu OF oDlgLook AT 聽oBrwLook:nTop+nRow, oBrwLook:nLeft+nCol
聽 聽RETURN (NIL)
//------------------------------------------------------------------------------//
Function GetSearch(oToolBar,lToolbar,cSeek,oGetSearch,oBrwlook,oSaySearch,oFont,oBold)
聽 聽IF lToolBar
聽 聽 聽 聽 @ 5, 210 SAY oSaySearch[1] Prompt "Search:" SIZE 46,24 PIXEL OF oToolBar FONT oBold 聽COLOR CLR_BLACK,RGB( 244, 244, 245 )
聽 聽 聽 聽 @ 0, 270 GET oGetSearch VAR cSeek SIZE 120,24 PIXEL OF oToolBar 聽;
聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 BITMAP "ELIMINA" ACTION (cSeek 聽 聽:= Space( 100 ),;
聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 oBrwlook:Seek( "" ),oBrwLook:refresh(),oGetSearch:refresh())
聽 聽 聽 聽 聽 聽 聽 聽 聽oGetSearch:lBtnTransparent :=.t.
聽 聽 聽 聽 聽 @ 5, 395 SAY oSaySearch[2] Prompt "Into" SIZE 40,24 PIXEL OF oToolBar FONT oBold 聽COLOR CLR_BLACK,RGB( 244, 244, 245 )
聽 聽 聽 聽 聽 @ 0, 420 COMBOBOX oBrwlook:oSortCbx VAR oBrwlook:cSortOrder;
聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽SIZE 100,400 PIXEL OF oToolBar HEIGHTGET 14 STYLE CBS_DROPDOWN
聽 聽 聽 聽Endif
聽 return nil
//-----------------------------------------------------------------------------------//I use : FiveWin for Harbour March-April 2024 - Harbour 3.2.0dev (harbour_bcc770_32_20240309) - Bcc7.70 - xMate ver. 1.15.3 - PellesC - mail: silvio[dot]falconi[at]gmail[dot]com




