//16.03.2023 16:45 vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv //FUNCTION ModalFen( cString, cTitle, oDlg1, nXsize, nYsize ) FUNCTION ListboxFenster( aInditxt, oDlg1, cFormName) LOCAL nEvent, mp1, mp2, oXbp, lExit LOCAL oDlgLF, oFocus, aPos //, drawingArea LOCAL drawingArea := oDlg1:drawingArea, oDlgDA //* 16.03.2023 18:34 oDlgDA LOCAL aSize := drawingArea:currentSize() LOCAL nXsize := ASize[1]*0.6 LOCAL nYsize := ASize[2]*0.8 LOCAL nText := 0 LOCAL cTitle := "W„hlen Sie eine Formularart aus ! - (Edit mit ALT-Taste)" oDlg1 := IIf( oDlg1<>NIL, oDlg1, AppDesktop() ) drawingArea := oDlg1:drawingArea //* aSize := drawingArea:currentSize() aPos := { ( aSize[1]-nXsize )/2, ( aSize[2]-nYsize+20 ) / 2 } oDlgLF := AKDialog():new( AppDesktop(), oDlg1, aPos, {nXsize,nYsize} ) oDlgLF:title := cTitle oDlgLF:taskList := .T. oDlgLF:minButton := .F. oDlgLF:maxButton := .F. oDlgLF:create() oDlgLF:lockupdate(.T.) //+27.11.2011 09:20 oDlgDA = oDlgLF:drawingArea oDlgDA:setColorBG( GRA_CLR_YELLOW ) oFocus := SetAppFocus( oDlgLF ) aSize := oDlgDA:currentSize() oListBox := XbpListBox():new( oDlgDA,,{Int(12*nV),Int(12*nV)},{aSize[1]-Int(20*nV),aSize[2]-Int(20*nV)}) Sleep(2) //+16.08.2012 10:56 Vista-Problem ! oListBox:setFontCompoundName( cBFont ) oListBox:create() Sleep(2) //+16.08.2012 10:56 Vista-Problem ! FOR i := 1 TO Len(aInditxt) oListBox:addItem(ConvToOEMCP(aInditxt[i])) // oListBox:addItem(aInditxt[i]) Sleep(2) //+23.02.2010 08:58 Vista-Problem ! NEXT //++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ oListBox:setData( {1}, .T. ) oDlgLF:lockupdate(.F.) //+27.11.2011 09:20 oDlgLF:invalidateRect() //+27.11.2011 09:30 oDlgLF:setModalState( XBP_DISP_APPMODAL ) oDlgLF:show() SetAppFocus(oListBox) nEvent := xbe_None DO WHILE nEvent <> xbeP_Close nEvent := AppEvent( @mp1, @mp2, @oXbp ) // IF nEvent == xbeM_LbDown // nText := oXbp:cargo // ENDIF IF nEvent == xbeM_LbDblClick .and. oXbp:isDerivedFrom( "XbpListBox" ) cFormName := oListBox:getItem( oListBox:getData()[1] ) nText := oListBox:getData()[1] nEvent := xbeP_Close ENDIF IF nEvent == xbeM_LbClick .and. oXbp:isDerivedFrom( "XbpListBox" ) cFormName := oListBox:getItem( oListBox:getData()[1] ) nText := oListBox:getData()[1] nEvent := xbeP_Close ENDIF // IF nEvent == xbeP_User // cFormName := oListBox:getItem( oListBox:getData()[1] ) // nText := oListBox:getData()[1] // ENDIF IF nEvent == xbeP_Keyboard DO CASE CASE mp1 == xbeK_ESC cString := "ESC" cFormName := "" nText := 0 //oListBox:getData()[1] nEvent := xbeP_Close CASE mp1 == xbeK_RETURN .OR. mp1 == xbeK_F10 cString := "!" cFormName := oListBox:getItem( oListBox:getData()[1] ) nText := oListBox:getData()[1] nEvent := xbeP_Close CASE mp1 == xbeK_DOWN //.and. oXbp:isDerivedFrom( "XbpListBox" ) // PostAppEvent( xbeP_User ) CASE mp1 == xbeK_UP //.and. oXbp:isDerivedFrom( "XbpListBox" ) // PostAppEvent( xbeP_User ) ENDCASE ENDIF oXbp:handleEvent( nEvent, mp1, mp2 ) ENDDO oDlgLF:setModalState( XBP_DISP_MODELESS ) // oListBox:destroy() sleep(5) oDlgLF:destroy() // SetAppFocus( oFocus ) RETURN nText //^^ListboxFenster^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^