Seite 1 von 1

Entertaste mit Problemen

Verfasst: 09.03.2011 18:59
von Velindos
Hallo,
habe in mein Programm eine Entertasten Funktion für ein Stringgadget eingebaut, funktioniert.
Nun habe ich meine Event auf den Aufruf eingestellt und habe nun im Editorgadget den Effekt, das ich Text eingeben kann aber wenn ich mit dem Cursor zurück gehe und einen Text hineinschreibe springt dieser bei Enter Eingabe immer an die letzte Zeile!

Code: Alles auswählen

Enumeration ; Windows
  #myWindow
EndEnumeration
Enumeration ; Gadgets
  #myStringGadget_MitReturn
  #myStringGadget_OhneReturn
EndEnumeration
Enumeration ; Menu-/Toolbaritems
  #myWindowShortcutReturn
EndEnumeration

OpenWindow(#myWindow, #PB_Ignore, #PB_Ignore, 320, 300, "")

StringGadget(#myStringGadget_MitReturn,  10, 10, 300, 20,"ENRE")
EditorGadget(#myStringGadget_OhneReturn, 10, 150, 300, 120)

AddKeyboardShortcut(#myWindow, #PB_Shortcut_Return, #myWindowShortcutReturn)

Repeat
 
  Select WaitWindowEvent()
     
    Case #PB_Event_Menu
      Select EventMenu()
        Case #myWindowShortcutReturn
          If GetActiveGadget()=#myStringGadget_MitReturn
            MessageRequester("", "Enter")
          EndIf
          If GetActiveGadget()=#myStringGadget_OhneReturn
            SetActiveGadget(#myStringGadget_OhneReturn)
            AddGadgetItem(#myStringGadget_OhneReturn, -1,"")
          EndIf

          
          
      EndSelect
     
    Case #PB_Event_CloseWindow
      Quit=#True
     
  EndSelect
 
Until Quit = #True
Gruss ... Velindos

Re: Entertaste mit Problemen

Verfasst: 09.03.2011 22:02
von Pelagio
Guten Abend Velindos,

du musst dem Programm sagen das, wenn Dein StringGadget den Focus hat die Funktionstaste gilt. Wenn der Focus allerdings nicht mehr vorhanden ist, die Funktionstaste 'Außer Betrieb' ist. Hierfür benutzt Du AddKeyboardShortcut und RemoveKeyboardShortcut. Ich war so frei dein Beispiel um zu schreiben:

Code: Alles auswählen

Enumeration ; Windows
  #myWindow
EndEnumeration
Enumeration ; Gadgets
  #myStringGadget_MitReturn
  #myStringGadget_OhneReturn
EndEnumeration
Enumeration ; Menu-/Toolbaritems
  #myWindowShortcutReturn
EndEnumeration

OpenWindow(#myWindow, #PB_Ignore, #PB_Ignore, 320, 300, "")

StringGadget(#myStringGadget_MitReturn,  10, 10, 300, 20,"ENRE")
EditorGadget(#myStringGadget_OhneReturn, 10, 150, 300, 120)

Repeat
   Select WaitWindowEvent()
      Case #PB_Event_Gadget
         If (EventGadget()=#myStringGadget_MitReturn)
            Select EventType()
               Case #PB_EventType_Focus
                  AddKeyboardShortcut(#myWindow, #PB_Shortcut_Return, #myWindowShortcutReturn)
               Case #PB_EventType_LostFocus
                  RemoveKeyboardShortcut(#myWindow, #PB_Shortcut_Return)
            EndSelect
         EndIf
      Case #PB_Event_Menu
         If EventMenu()=#myWindowShortcutReturn And GetActiveGadget()=#myStringGadget_MitReturn
            MessageRequester("", "Enter")
         EndIf
    Case #PB_Event_CloseWindow
      Quit=#True
  EndSelect
Until Quit
:allright:

Re: Entertaste mit Problemen

Verfasst: 10.03.2011 13:18
von Velindos
Hallo Pelagio,
Danke für deinen Tip und das Beispiel, da habe ich meine Enterroutine ja gänzlich falsch aufgebaut.
Funktioniert genau so wie ich will, also nochmals Danke für deine Unterstützung.
Gruss ... Velindos