**BRegieVE.prg - Regie-Zentrum fr Bestattungsverwaltung // Versicherungsanschreiben zu einem Auftrag #include "Gra.ch" #include "Xbp.ch" #include "Appevent.ch" #include "Appedit.ch" #include "Appbrow.ch" #include "Font.ch" FUNCTION TAuftrKontrolle( cAuf, oDlg1 ) LOCAL oDlg, nEvent, mp1, mp2, oSle, oPbSuch, oPbDruck1, oPbDruckA, oXbp LOCAL aSizeDesktop := AppDesktop():currentSize() LOCAL nBSb := aSizeDesktop[1] LOCAL nBSh := aSizeDesktop[2] // folgende Zahlen-Werte basieren auf 800x600: LOCAL nV := nBSb/800 // Korrekturfaktor fr tatschliche Auflsung LOCAL nOldArea := Select() PRIVATE oCB SELECT 2 COPY STRU TO verstemp aData := Array(FCount()) SELECT 12 USE verstemp EXCLUSIVE SELECT 2 FIND &cAuf do while 2->auftrnr=val(cAuf) .and. .not. eof() For n := 1 to FCount() aData[n] := FieldGet( n ) NEXT // delete // oder nicht delete ????? SELECT 12 APPEND BLANK For n := 1 to FCount() FieldPut( n, aData[n] ) NEXT SELECT 2 skip enddo SELECT 12 USE verstemp EXCLUSIVE cFont := IIf( nBSb < 700, "8.Arial", "10.Arial" ) // oDlg := XbpDialog():new( oDlg1 ) oDlg := XbpDialog():new( AppDesktop(), oDlg1 ) oDlg:tasklist := .T. oDlg:title := "Versicherungsanschreiben zu Auftrag " + cAuf oDlg:maxButton := .F. // oDlg:close := {|mp1,mp2,obj| obj:destroy() } oDlg:border := XBPDLG_RAISEDBORDERTHIN_FIXED oDlg:create(,, {10,10}, {int(770*nV),int(500*nV)} ) SetAppWindow():clipChildren := .F. SetAppWindow():configure() oDlg:drawingArea:setFontCompoundName( "8.Arial" ) oDlg:drawingArea:setColorBG( GRA_CLR_RED ) oCB := oDlg:drawingArea oDlg:setModalState( XBP_DISP_APPMODAL ) oDlg:show() // APPBROWSE ; // PARENT oDlg:drawingArea ; // POSITION TOP ; // FONT "&cFont" ; // SIZE 60,100 PERCENT // // APPFIELD auftrnr CAPTION "Auftrag" WIDTH 5 // APPFIELD zugr_z_st CAPTION "Art-Nr." WIDTH 5 // APPFIELD bezeichf1 CAPTION "Leistung (Zeile1)" WIDTH 25 // APPFIELD bezeichf2 CAPTION "Leistung (Zeile2)" WIDTH 10 // APPFIELD &b_g CAPTION "Betrag/"+w_g WIDTH 6 // // APPDISPLAY MODELESS APPEDIT ; PARENT oDlg:drawingArea ; POSITION BOTTOM ; TRIGGER "AENDERN" ON UPDATE ; STYLE APPSTYLE_3D+APPSTYLE_ACTIONICONS ; SIZE 90,100 PERCENT APPDISPLAY MODELESS oFocus := SetAppFocus( oDlg ) nEvent := xbe_None DO WHILE nEvent <> xbeP_Close nEvent := AppEvent( @mp1, @mp2, @oXbp ) IF nEvent == xbeM_LbClick DO CASE CASE oXbp == oSle SetAppFocus( oSle ) ENDCASE ENDIF IF nEvent == xbeP_Keyboard DO CASE CASE mp1 == xbeK_RETURN PostAppEvent( xbeP_Activate,,, oXbp) CASE mp1 == xbeK_ALT_A SetAppFocus( oSle ) CASE mp1 == xbeK_ALT_S PostAppEvent( xbeP_Activate,,, oPbSuch) CASE mp1 == xbeK_ESC .or. mp1 == xbeK_F10 PostAppEvent( xbeP_Close) ENDCASE ENDIF oXbp:handleEvent( nEvent, mp1, mp2 ) ENDDO oDlg:setModalState( XBP_DISP_MODELESS ) oDlg:destroy() SetAppFocus( oFocus ) USE SELECT 1 RETURN .T. FUNCTION AENDERN(aRechPos) RETURN APPOP_PROCEED