[erledigt] Mischen von Textmodus und GUI-Modus

Grafische Primitive, XbaseParts und Darstellungsfragen allgemein.

Moderator: Moderatoren

Antworten
unicorn
Cut&Paste-Entwickler
Cut&Paste-Entwickler
Beiträge: 40
Registriert: Di, 25. Apr 2017 17:23
Wohnort: Umgebung Stuttgart

[erledigt] Mischen von Textmodus und GUI-Modus

Beitrag von unicorn »

Leute, höret, denn das Einhorn sprechet :D :D

Spaß beiseite, Servus Leute, ich brauche mal wieder Hilfe.

Ich hab manchen ja schon erzählt, Textmodus ist bei uns immer noch ein Thema...
Aber: Man kann ja trotzdem wenn nötig grafisch anzeigen lassen, das probiere ich grade so:

[spoiler]

Code: Alles auswählen

PROCEDURE ConBox(cTitle, aMenupoints)
LOCAL nEvent, mp1, mp2, aSize, width, height, mostlength, i
LOCAL oDlg, oXbp, drawingArea, aEditControls := {}

    
    width := Len(aMenupoints) + 1

    oDlg := XbpDialog():new( SetAppWindow(), , {163,138}, {0, 0}, , .F.)
    oDlg:taskList := .T.
    oDlg:title := cTitle
    oDlg:create()
    oDlg:showModal()
    
    drawingArea := oDlg:drawingArea
    drawingArea:setFontCompoundName( "8.Arial" )
    
    
    start := 8
    buttonwidth := 40
    FOR i := 1 TO Len(aMenupoints) STEP 1
        
        oXbp := XbpPushButton():new( drawingArea, , {start,16}, {buttonwidth,24}, { { XBP_PP_BGCLR, XBPSYSCLR_BUTTONMIDDLE }, { XBP_PP_FGCLR, -58 } } )
        oXbp:caption := aMenupoints[i]
        oXbp:tabStop := .T.
        oXbp:create()
        oXbp:activate := {|| Msgbox(aMenupoints[i]) }
        
        start += buttonwidth + 8
        
    NEXT
    
    //oDlg:show()
    nResult := oDlg:showModal()
    
    DO CASE
        CASE nResult == xbeP_Close
            Msgbox("beendet")
    ENDCASE


    // nEvent := xbe_None
    // DO WHILE nEvent <> xbeP_Close
        // nEvent := AppEvent( @mp1, @mp2, @oXbp )
        // oXbp:handleEvent( nEvent, mp1, mp2 )
    // ENDDO

RETURN NIL
[/spoiler]

Aufgerufen wird das wenn ich die Funktion Conbox("Test", {"test"}) aufrufe. Es zeigt mir das Fenster dann an, zwar gebunden im Crt-Fenster, aber immerhin. Mit dem X rechts oben kann ich es schließen, der Programmcode geht dann auch weiter (er baut mein Bildschirm auf etc, starte das zum Test ganz am Anfang). Allerdings werden jetzt keine Tastatureingaben mehr angenommen. Woran liegt das?

LG Jannik
Zuletzt geändert von unicorn am Mi, 25. Jul 2018 16:21, insgesamt 1-mal geändert.
Gruß,
Jannik (das verträumte Einhorn, by Jan)
Benutzeravatar
Jan
Marvin
Marvin
Beiträge: 14641
Registriert: Fr, 23. Sep 2005 18:23
Wohnort: 49328 Melle
Hat sich bedankt: 21 Mal
Danksagung erhalten: 87 Mal
Kontaktdaten:

Re: Mischen von Textmodus und GUI-Modus

Beitrag von Jan »

Hallo Jannik,

schon mal versucht, den Fokus auf das GUI-Element zu setzen? Also erstmal mit Mausklick, aber grundsätzlich im Code nach der Erstellung des GUI-Elementes.

Jan
Mitglied der XUG Osnabrück
Mitglied der XUG Berlin/Brandenburg
Mitglied des Deutschsprachige Xbase-Entwickler e. V.
unicorn
Cut&Paste-Entwickler
Cut&Paste-Entwickler
Beiträge: 40
Registriert: Di, 25. Apr 2017 17:23
Wohnort: Umgebung Stuttgart

Re: Mischen von Textmodus und GUI-Modus

Beitrag von unicorn »

Hi Jan,

Das GUI-Element ist gar nicht das Problem. Ich kann auf den Button tippen und es schließen. Aber ich kann anschließend nicht mehr mit meinem CRT-Fenster interagieren.
Gruß,
Jannik (das verträumte Einhorn, by Jan)
Benutzeravatar
Jan
Marvin
Marvin
Beiträge: 14641
Registriert: Fr, 23. Sep 2005 18:23
Wohnort: 49328 Melle
Hat sich bedankt: 21 Mal
Danksagung erhalten: 87 Mal
Kontaktdaten:

Re: Mischen von Textmodus und GUI-Modus

Beitrag von Jan »

Jannik,

wenn Du von einem GUI-Element zurück zum CRT möchtest, mußt Du den Fokus explizit auf das CRT legen. Das kommt nicht von alleine.

Jan
Mitglied der XUG Osnabrück
Mitglied der XUG Berlin/Brandenburg
Mitglied des Deutschsprachige Xbase-Entwickler e. V.
unicorn
Cut&Paste-Entwickler
Cut&Paste-Entwickler
Beiträge: 40
Registriert: Di, 25. Apr 2017 17:23
Wohnort: Umgebung Stuttgart

Re: Mischen von Textmodus und GUI-Modus

Beitrag von unicorn »

Hi Jan,

du hast recht, jetzt klappt es! Danke dir!
Gruß,
Jannik (das verträumte Einhorn, by Jan)
Antworten