[gelöst] CRLF im Editorgadget bei gesetztem KeybShortcut

Für allgemeine Fragen zur Programmierung mit PureBasic.
MenschMarkus
Beiträge: 227
Registriert: 30.04.2009 21:21
Computerausstattung: i5-2300 (2.8 Ghz) Win10 -64bit / PB 5.73 LTS

[gelöst] CRLF im Editorgadget bei gesetztem KeybShortcut

Beitrag 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.
Zuletzt geändert von MenschMarkus am 18.10.2024 10:16, insgesamt 1-mal geändert.
Wissen schadet nur dem, der es nicht hat !
Benutzeravatar
HeX0R
Beiträge: 3040
Registriert: 10.09.2004 09:59
Computerausstattung: AMD Ryzen 7 5800X
96Gig Ram
NVIDIA GEFORCE RTX 3060TI/8Gig
Win11 64Bit
G19 Tastatur
2x 24" + 1x27" Monitore
Glorious O Wireless Maus
PB 3.x-PB 6.x
Oculus Quest 2 + 3
Kontaktdaten:

Re: CRLF im Editorgadget bei gesetztem KeybShortcut

Beitrag 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
MenschMarkus
Beiträge: 227
Registriert: 30.04.2009 21:21
Computerausstattung: i5-2300 (2.8 Ghz) Win10 -64bit / PB 5.73 LTS

Re: CRLF im Editorgadget bei gesetztem KeybShortcut

Beitrag 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.
Wissen schadet nur dem, der es nicht hat !
Antworten