ich versuche das Problem mal zu erklären. Ich öffne ein Dialogfenster und verwende dieses Fenster als Parent für ein weiteres Dialogfenster. In diesem Fenster habe ich XbpSLEs, die ich mit Daten :setData() lade. Wenn in diesen Felder schon Text steht, kann ich den Cursor nicht mehr hinter den Text positionieren. Mit Doppelklick wird ein Teil des Textes markiert. Das funktioniert. auch Dateneingabe am Anfang vor dem vorhandenen Test geht.
Wenn ich für das Child-Fenster als Parent -> SetAppWindow():drawingArea nehme, funktioniert alles.
Hat da jemand eine Erklärung?
Code: Alles auswählen
FUNCTON SHOW_RECHNUNGEN()
oDlgL := XbpDialog():new( SetAppWindow():drawingArea , , , {960,550} , , .T. )
oDlgL:taskList := .T.
oDlgL:close := {|| oDlgL:destroy() }
oDlgL:title := "vorhandene Rechnungen KdNr.: "+kdnr
oDlgL:icon := ICON_APPLICATION
oDlgL:create()
drawingArea := oDlgL:drawingArea
oXbp := XbpPushButton():new(drawingArea, , {160,5}, {135,20}, { { XBP_PP_BGCLR, XBPSYSCLR_BUTTONMIDDLE }, { XBP_PP_FGCLR, -58 } } )
oXbp:caption := "Rechnung bearbeiten"
oXbp:tabStop := .T.
oXbp:create()
oXbp:activate := {|| EDIT_RECHNUNG( wert, oDlgL)
RETURN( NIL)
////////////////////
FUNCTION EDIT_RECHNUNG( wert, oDlgL)
//oDlg := XbpDialog():new( SetAppWindow():drawingArea , , {30,30}, {800,400} , , .F. ) // <- geht
oDlg := XbpDialog():new( oDlgL , , {30,30}, {800,400} , , .F. ) // <- geht nicht
oDlg:taskList := .T.
oDlg:close := {|| oDlgL:destroy() }
oDlg:title := ""
oDlg:create()
drawingArea := oDlg:drawingArea
oXbp := XbpSLE():new( oDlg:drawingArea, , {160,y}, {60,20}, { { XBP_PP_BGCLR, XBPSYSCLR_ENTRYFIELD } } )
oXbp:bufferLength := 10
oXbp:tabStop := .T.
oXbp:create():setData(wert)
RETURN(NIL)