Seite 1 von 1

[gelöst] CRLF im Editorgadget bei gesetztem KeybShortcut

Verfasst: 17.10.2024 15:11
von MenschMarkus
Hi,

ich hab mal wieder ein kleines Problemchen.

In meinem Programm verwende ich das EditorGadget damit der Benutzer Notizen eingeben kann. Üblicherweise funktioniert das problemlos.
Jetzt habe ich aber ein AddKeyboardShortcut(#Window,#PB_Shortcut_Return,13) gesetzt, wodurch die Return Taste im Editor Gadget nicht mehr funktioniert...
Wie bekomme ich jetzt ein LineFeed in das Gadget?
Den Text mit SetGadgetText(#EditorGadget,GetGadgetText(#EditorGadget) + #LF$) oder SetGadgetText(#EditorGadget,GetGadgetText(#EditorGadget) + Chr(10)) funktioniert leider nicht.
Hat da jemand gerade mal einen Lösungsansatz für mich?

Code: Alles auswählen

OpenWindow(0,100,100,300,300,"EditorTest")
EditorGadget(1,10,10,280,280)

;AddKeyboardShortcut(0,#PB_Shortcut_Return,13)          ;Remove comment sign to see that CRLF is not working any longer in editor gadget

Repeat
  WaitWindowEvent()
  If WindowEvent() = #PB_Event_CloseWindow
    Break
  EndIf
ForEver
Danke schon mal für Eure Antworten

[Edit]
OK hab mal weiter getestet, das geht wohl doch nur der Cursor wird nicht auf die folgende Zeile gesetzt.
Da weiß ich gerade nicht wie ich den Cursor dazu bringe ans Ende vom Text zu springen.

Re: CRLF im Editorgadget bei gesetztem KeybShortcut

Verfasst: 17.10.2024 16:21
von HeX0R
Also auch in einem schnellen Beispielcode sollte man schon ein wenig darauf achten, was man da so gebastelt hat.
WaitWindowEvent() gefolgt von WindowEvent()?
Egal, hier:

Code: Alles auswählen

OpenWindow(0, 100, 100, 300, 300, "EditorTest")
EditorGadget(1, 10, 10, 280, 280)

AddKeyboardShortcut(0, #PB_Shortcut_Return, 13)          ;Remove comment sign to see that CRLF is not working any longer in editor gadget

Repeat
	Select WaitWindowEvent()
		Case #PB_Event_CloseWindow
			Break
		Case #PB_Event_Gadget
			Select EventGadget()
				Case 1
					Select EventType()
						Case #PB_EventType_Focus
							RemoveKeyboardShortcut(0, #PB_Shortcut_Return)
						Case #PB_EventType_LostFocus
							AddKeyboardShortcut(0, #PB_Shortcut_Return, 13)
					EndSelect
			EndSelect
	EndSelect
ForEver

Re: CRLF im Editorgadget bei gesetztem KeybShortcut

Verfasst: 18.10.2024 10:08
von MenschMarkus
@ HeXOR: mea culpa

das war in der Tat innerhalb von wenigen Minuten eingetackert. Da habe ich nicht auf sauberen Code geachtet. Sollte nur funktionieren.
Ich gelobe Besserung (nur ob mir das immer gelingt und ich immer dran denke....na ja)

Dennoch erst mal Danke für den Gedankenanstoß. Versuche das mal in meinem Projekt umzusetzen.

[Edit]
OK klappt so. Um ehrlich zu sein, diese Vorgehensweise hatte ich auch schon versucht, war aber so sehr auf dieses shortcut 13 fixiert, dass ich das removeshortcut und addshortcut in EventMenu() gesetzt hatte und nicht bei den EventGadget() wo es auch hin gehört.
Man wird halt immer wieder ein bisschen blinder je länger man an einem Projekt arbeitet.