Sebastian hat geschrieben:
Wie kann ich die Eingabebestätigung mit RETURN zulassen? Muss ich dabei auf AddKeyboardShortcut zurückgreifen oder gibt es noch eine andere Möglichkeit?
Dies ist bei String-Gadgets ein schon lange bekanntes Problem. Denn ein normales einzeiliges StringGadget akzeptiert die Return-Taste nicht und gibt als Fehlersignal ein Tonsignal aus, weil die Return-Taste standardmäßig nicht zugelassen ist. Dies kann man umgehen, indem man das StringGadget mit den Flags #PB_String_Multiline|#ES_AUTOVSCROLL definiert. Bei jedem Return-Tastendruck muß dann jeweils die CRLF-Zeichenfolge aus dem Gadget entfernt werden, um den Fehlerton zu vermeiden. Im englischen Forum haben PB und freak bereits 2002 diese Lösungsmöglichkeit aufgezeigt:
http://www.purebasic.fr/english/viewtop ... 02&start=1
Eine mögliche Alternative stellt zwar die Verwendung von AddKeyboardShortcut() dar, wie in einigen Postings in diesem Thread. Der Nachteil ist allerdings, daß dann die Return-Taste z.B. in einem zusätzlichen EditorGadget nicht mehr funktioniert... netmaestro hat allerdings in einem weiteren Beitrag im englischen Forum gezeigt, daß man über das Ereignis #PB_EventType_Focus und #PB_EventType_LostFocus feststellen kann, wann das StringGadget den Fokus erhält oder verliert, um dann mit AddKeyboardShortcut() und RemoveKeyboardShortcut() die Return-Taste nur im StringGadget entsprechend handhaben zu können (und ohne andere Gadgets dabei zu beeinflussen):
http://www.purebasic.fr/english/viewtop ... 50&start=1
Eine weiteren neuen Ansatz ohne AddKeyboardShortcut() hat erst kürzlich Sparkie im englischen Forum vorgestellt:
http://www.purebasic.fr/english/viewtop ... 60&start=4