// main.prg
#include "Fivewin.ch"
#Include "xBrowse.Ch"
Function Main()
Local oWind
DEFINE WINDOW oWind MDI
ACTIVATE WINDOW oWind ON INIT ( _CustView("A",oWind) ) MAxiMizED
Return nil
//-------------------------------
Static FUNC _CustView( cMODE,oWind )
LOCAL SAYING, oWndChild, oGrps,oSay1,oSay2
LOCAL cTITLE, oBtn1,oBTN2,oBtn3,oBtn4
Local oBtn5,oBtn6
Local lOk
Local oFontB
Local cName,cCid,oName,oCid
Local oCol
Local oFld,nFolder,oLbxA,oLbx
lOk := .F. // trap valid
oFontB := TFont():New("Ms Sans Serif",,-6,.F.,.T. ,,,,.F. )
cMode := "A"
// search vars
cName := space(50)
cCid := space(15)
LightGreyGrad()
cTITLE := "Clients-Billing"
DO CASE
CASE cMODE = "E"
cTITLE := "Clients-Billing EDIT "
CASE cMODE = "A"
cTITLE := "Clients-Billing ADD "
CASE cMODE = "V"
cTITLE := "Clients-Billing VIEW "
ENDCASE
DEFINE WINDOW oWndChild ;
MDICHILD ;
FROM 0,1 to 37,117 ;
NOMINIMIZE ;
NOZOOM ;
OF oWind ;
TITLE cTITLE
oWndChild:bGotFocus = { || oGrps:SetFocus() }
DEFINE DIALOG oGRPS RESOURCE "CUSTVIEW" ;
of oWndChild
REDEFINE FOLDEREX oFld ID 173 of oGrps ;
PROMPT "Advertising Information", "Billing-Invoicing Information";
DIALOGS "ADVTBROW", "BILLING" ;
ON CHANGE( nFolder := nOption )
// folder 1
REDEFINE xBROWSE oLbxA ;
COLSIZES 50,120,80,80,150 ;
HEADERS "PubId", ;
"Publication", ;
"StartDate", ;
"EndDate", ;
"Acct Executive" ;
ID 272 of oFld:aDialogs[1] ;
AUTOCOLS LINES CELL
oLbxA:lRecordSelector := .f.
oLbxA:lHScroll := .f. // turn off horiz scroll bar
REDEFINE BTNBMP oBTN5 ID 213 of oFld:aDialogs[1] ; // add
PROMPT "Add" LEFT 2007;
ACTION ( nil )
REDEFINE BTNBMP oBTN6 ID 214 of oFld:aDialogs[1] ; // edit
PROMPT "Edit" LEFT 2007;
ACTION ( nil )
// end folder1
* REDEFINE GROUP oGrp1 ID 200 OF oGrps
* oGrp1:SetFont( oFontB )
* oGrp1:nClrText := nRgb( 7,7,224 ) // blue
REDEFINE SAY oSay1 PROMPT "Company" ID 110 OF oGrps UPDATE
oSay1:SetFont( oFontB )
REDEFINE SAY oSay2 PROMPT "Customer Id" ID 111 OF oGrps UPDATE
oSay2:SetFont( oFontB )
// search
REDEFINE GET oName var cName ID 130 of oGrps UPDATE
REDEFINE GET oCid var cCid ID 131 of oGrps UPDATE
REDEFINE xBROWSE oLBX ;
COLSIZES 75,150,85,150 ;
HEADERS "Cust Id", ;
"Customer Name", ;
"Phone", ;
"Contact Person" ;
ID 172 of oGrps ;
AUTOCOLS LINES CELL
oLbx:lRecordSelector := .f.
REDEFINE BTNBMP oBTN1 ID 180 of oGRPS ; // save new
RESOURCE "OK" ;
PROMPT " Save New " LEFT 2007;
ACTION ( nil )
REDEFINE BTNBMP oBTN2 ID 181 of oGRPS ; // add new
RESOURCE "PLUS16" ;
PROMPT " Add New " LEFT 2007;
ACTION ( lOK := .F., oWndChild:END() )
REDEFINE BTNBMP oBTN3 ID 182 of oGRPS ; // close
RESOURCE "CANCEL" ;
PROMPT " Close " LEFT 2007;
ACTION ( lOK := .F., oWndChild:END() )
REDEFINE BTNBMP oBTN4 ID 183 of oGRPS ; // save edit
RESOURCE "OK" ;
PROMPT " Save Edit " LEFT 2007;
ACTION ( nil )
ACTIVATE DIALOG oGRPS NOWAIT ;
ON INIT (oGrps:Move( 0,0 ), oName:SetFocus(), .F. ) ;
VALID(!GETKEYSTATE( 27 ))
ACTIVATE WINDOW oWndChild ;
ON INIT ( ;
oWndChild:bResized := {|| _ReSizeUm( oGrps,oWndChild,oLbx,oLbxA,oFld) }, ;
oGrps:ReFresh());
VALID ( IIF( !lOk, ExitPgm( .T.,@lOk,oFontB,oWndChild ) , .F. ))
RETURN( nil )
//------------------------------
Static Func _ReSizeUm( oGrps,oWndChild,oLbx,oLbxA,oFld )
oGrps:SetSize( oWndChild:nWidth, oWndChild:nHeight, .t. ) // frame and dialog link
// dialog controls
oGrps:bResized = { | nSizeType, nWidth, nHeight | _ResizeControls( nSizeType, nWidth, nHeight, oGrps, oFld ) }
Return(nil)
//-------------------------
Static Func _ResizeControls( nSizeType, nWidth, nHeight, oGrps,oFld )
if nSizeType = 0 //SIZE_MAXIMIZED
* xbrowse( oGrps:aControls )
* xbrowse( oFld:aDialogs[1]:aControls )
* xbrowse( oFld:aDialogs[1]:aControls[6] )
* xbrowse( oFld:aDialogs )
// 340
oGrps:aControls[1 ]:SetSize( nWidth - 372, nHeight - 290 ) //folder
oFld:aDialogs[1]:SetSize( nWidth - 372, nHeight - 290 ) // dialog1
oFld:aDialogs[1]:aControls[1]:SetSize(nWidth - 435, nHeight - 340 ) // xbrowse folder 1
* oFld:aDialogs[1]:aControls[6]:SetSize( nWidth - 600, nHeight - 370 ) // publications
* oGrps:aControls[7]:SetSize( nWidth - 372, nHeight - 340 ) //save new
* oGrps:aControls[8]:SetSize( nWidth - 372, nHeight - 340 ) //add new
oGrps:aControls[9]:SetSize( nWidth - 372, nHeight - 340 ) //close
* oGrps:aControls[10]:SetSize( nWidth - 372, nHeight - 340 ) //save edit
endif
Return(nil)
//------------------
Static Func LightGreyGrad()
SetDlgGradient( { { .50, nRGB( 216, 216, 216 ), nRGB( 255, 255, 255 ) } } )
Return(nil)
//----------------------
Static FUNC _CleanUp()
RETURN(.T.)
//-----------------------
Static FUNCTION ExitPgm( lClean,lOk,oFontB,oWndChild )
Local Saying
IF lCLEAN = .T.
lOk := .T.
RELEASE oFontB
ENDIF
RETURN( lOk )