StringGadget tab-Eingabe
StringGadget tab-Eingabe
Hallo,
wie kann ich ein Tabulator in ein StringGadget eingeben (springt sonst zum nächste StringGadget)?
(Windows Umgebung)
Danke und Gruß
MarcelX
wie kann ich ein Tabulator in ein StringGadget eingeben (springt sonst zum nächste StringGadget)?
(Windows Umgebung)
Danke und Gruß
MarcelX
Win-10, PB 5.31 (Windows - x86)
- ts-soft
- Beiträge: 22292
- Registriert: 08.09.2004 00:57
- Computerausstattung: Mainboard: MSI 970A-G43
CPU: AMD FX-6300 Six-Core Processor
GraKa: GeForce GTX 750 Ti, 2 GB
Memory: 16 GB DDR3-1600 - Dual Channel - Wohnort: Berlin
Re: StringGadget tab-Eingabe
Code: Alles auswählen
If OpenWindow(0, 0, 0, 322, 205, "StringGadget Flags", #PB_Window_SystemMenu | #PB_Window_ScreenCentered)
StringGadget(0, 8, 10, 306, 20, "Normal StringGadget...")
StringGadget(1, 8, 35, 306, 20, "1234567", #PB_String_Numeric)
StringGadget(2, 8, 60, 306, 20, "Readonly StringGadget", #PB_String_ReadOnly)
StringGadget(3, 8, 85, 306, 20, "lowercase...", #PB_String_LowerCase)
StringGadget(4, 8, 110, 306, 20, "uppercase...", #PB_String_UpperCase)
StringGadget(5, 8, 140, 306, 20, "Borderless StringGadget", #PB_String_BorderLess)
StringGadget(6, 8, 170, 306, 20, "Password", #PB_String_Password)
Repeat
Select WaitWindowEvent()
Case #PB_Event_CloseWindow : Break
Case #PB_Event_Gadget
Select EventGadget()
Case 0
Select EventType()
Case #PB_EventType_Focus
AddKeyboardShortcut(0, #PB_Shortcut_Tab, 1)
Case #PB_EventType_LostFocus
RemoveKeyboardShortcut(0, #PB_Shortcut_Tab)
EndSelect
EndSelect
Case #PB_Event_Menu
Select EventMenu()
Case 1
SetGadgetText(0, GetGadgetText(0) + #TAB$)
SetActiveGadget(0)
EndSelect
EndSelect
ForEver
EndIf
PureBasic 5.73 LTS | SpiderBasic 2.30 | Windows 10 Pro (x64) | Linux Mint 20.1 (x64)
Nutella hat nur sehr wenig Vitamine. Deswegen muss man davon relativ viel essen.

Nutella hat nur sehr wenig Vitamine. Deswegen muss man davon relativ viel essen.

Re: StringGadget tab-Eingabe
Da verstehe ich nicht:
ich will (z.B.) zwischen "Normal" und "StringGadget..." ein Tabulator eingeben.
Mit diese code geht es nicht
Code: Alles auswählen
StringGadget(0, 8, 10, 306, 20, "Normal StringGadget...")
Mit diese code geht es nicht
Win-10, PB 5.31 (Windows - x86)
- ts-soft
- Beiträge: 22292
- Registriert: 08.09.2004 00:57
- Computerausstattung: Mainboard: MSI 970A-G43
CPU: AMD FX-6300 Six-Core Processor
GraKa: GeForce GTX 750 Ti, 2 GB
Memory: 16 GB DDR3-1600 - Dual Channel - Wohnort: Berlin
Re: StringGadget tab-Eingabe
Das ist nur das Beispiel in der Hilfe, ich schreib doch nicht selbst ein Beispiel
Das oberste StringGadget ermöglicht ein Tab! Die anderen nicht.
Aber das scheint so unter Windows nicht zu funktionieren, mal sehen was man da machen kann.

Das oberste StringGadget ermöglicht ein Tab! Die anderen nicht.
Aber das scheint so unter Windows nicht zu funktionieren, mal sehen was man da machen kann.
PureBasic 5.73 LTS | SpiderBasic 2.30 | Windows 10 Pro (x64) | Linux Mint 20.1 (x64)
Nutella hat nur sehr wenig Vitamine. Deswegen muss man davon relativ viel essen.

Nutella hat nur sehr wenig Vitamine. Deswegen muss man davon relativ viel essen.

- xXRobo_CubeXx
- Beiträge: 120
- Registriert: 12.06.2015 16:08
- Computerausstattung: Version 5.41 LTS
- Wohnort: Wohnort
- Kontaktdaten:
Re: StringGadget tab-Eingabe
Das ist mir auch klar.Das ist nur das Beispiel in der Hilfe, ich schreib doch nicht selbst ein Beispiel![]()
Wenn ich ein Tab eingeben spring der Cursor zum nächste Eingabe (was nochmal ist).
Meine Frage ist wie bekomme ich ein Tab in eine Eingabefeld?
Win-10, PB 5.31 (Windows - x86)
- ts-soft
- Beiträge: 22292
- Registriert: 08.09.2004 00:57
- Computerausstattung: Mainboard: MSI 970A-G43
CPU: AMD FX-6300 Six-Core Processor
GraKa: GeForce GTX 750 Ti, 2 GB
Memory: 16 GB DDR3-1600 - Dual Channel - Wohnort: Berlin
Re: StringGadget tab-Eingabe
Wenn Du nichts weiter beizutragen hast, troll woanders rum, aber bitte nicht in diesem Forum!xXRobo_CubeXx hat geschrieben:
PureBasic 5.73 LTS | SpiderBasic 2.30 | Windows 10 Pro (x64) | Linux Mint 20.1 (x64)
Nutella hat nur sehr wenig Vitamine. Deswegen muss man davon relativ viel essen.

Nutella hat nur sehr wenig Vitamine. Deswegen muss man davon relativ viel essen.

- xXRobo_CubeXx
- Beiträge: 120
- Registriert: 12.06.2015 16:08
- Computerausstattung: Version 5.41 LTS
- Wohnort: Wohnort
- Kontaktdaten:
Re: StringGadget tab-Eingabe
Wen du seine Frage nicht verstanden hast hast du auch nichts beigetragen! 
Konntest du ihn mit deinen sinnlosen Beispiel helfen? Wie man sieht N E I N
Wen du zu faul bist Windows zu starten um sein Problem in Windows nachzustellen
dann lass es doch einfach statt sinnlos zu raten. Sehr suboptimal

Konntest du ihn mit deinen sinnlosen Beispiel helfen? Wie man sieht N E I N

Wen du zu faul bist Windows zu starten um sein Problem in Windows nachzustellen
dann lass es doch einfach statt sinnlos zu raten. Sehr suboptimal

Version 5.41 LTS 

- ts-soft
- Beiträge: 22292
- Registriert: 08.09.2004 00:57
- Computerausstattung: Mainboard: MSI 970A-G43
CPU: AMD FX-6300 Six-Core Processor
GraKa: GeForce GTX 750 Ti, 2 GB
Memory: 16 GB DDR3-1600 - Dual Channel - Wohnort: Berlin
Re: StringGadget tab-Eingabe
Da wird er sich aber über Deinen hilfreichen Beitrag freuen, den mit dem Smiley!
PS: Das ein Crossplattformsource mal nicht funktioniert ist nunmal nicht voraussehbar. Kannst Du als reiner
Windows-User natürlich nicht Wissen, da fehlt die Erfahrung ...
PS: Das ein Crossplattformsource mal nicht funktioniert ist nunmal nicht voraussehbar. Kannst Du als reiner
Windows-User natürlich nicht Wissen, da fehlt die Erfahrung ...
PureBasic 5.73 LTS | SpiderBasic 2.30 | Windows 10 Pro (x64) | Linux Mint 20.1 (x64)
Nutella hat nur sehr wenig Vitamine. Deswegen muss man davon relativ viel essen.

Nutella hat nur sehr wenig Vitamine. Deswegen muss man davon relativ viel essen.

Re: StringGadget tab-Eingabe
Um den genannten Trend zur 'Faulheit' fortzuführen hab ich mich bei Shardik (http://www.purebasic.fr/english/viewtop ... 19&t=38488) und ts-soft's durchaus brauchbarem Code bedient und zweiteren etwas nachgearbeitet.
Zumindest unter PB5.40 auf Windows XP und Linux ging schon mal was. Bzgl. Feinheiten und Stabilität sowie für den Mac bräuchte es noch etwas Nacharbeit.
Vielleicht kann man ja damit was anfangen?
Und da mir heut der Schalk im Nacken sitzt:
Offtopic @xXRobo_CubeXx:
Ich sehe hier noch weitere Probleme, gerade bezüglich Deiner Bemerkungen in diesem thread: http://www.purebasic.fr/german/viewtopi ... 8&start=10, ff.
- Leute, mit denen man noch nicht gesoffen hat sollte man aus Höflichkeit wenigstens mit 'Du' ansprechen.
- In einem Satz wie "Wen du seine Frage nicht verstanden hast hast du ..." folgt ein Komma nach dem ersten 'hast'.
- "Konntest du ihn mit deinen sinnlosen Beispiel ...": Auch hier die Höflichkeit-Großschreibung: 'Deinen', und
- um zukünftig nicht ständig mit 'Verona' angesprochen zu werden würde der gemeine Hobbygermanist hier wohl zu dem
Dativ tendieren, also korrekt 'Deinem'.
- "in Windows nachzustellen dann lass es doch ...". Erneut wäre hier ein Komma dem 'nachzustellen' nachzustellen.
Sehr 'suboptimales' Deutsch, aber 'Nobody is perfect'
.
EndOfftopic
und sorry an MarcelX fürs Offtopic
Gruß, Charly
Zumindest unter PB5.40 auf Windows XP und Linux ging schon mal was. Bzgl. Feinheiten und Stabilität sowie für den Mac bräuchte es noch etwas Nacharbeit.
Vielleicht kann man ja damit was anfangen?
Code: Alles auswählen
;from Shardik
CompilerIf #PB_Compiler_OS = #PB_OS_MacOS
ImportC ""
GetControlData(ControlRef.L, ControlPartCode.L, TagName.L, BufferSize.L, *Buffer, *ActualSize)
SetControlData(ControlRef.L, ControlPartCode.L, TagName.L, BufferSize.L, *Buffer)
EndImport
#kControlEditTextPart = 5
#kControlEditTextSelectionTag = 'sele'
Structure ControlEditTextSelectionRec
SelStart.W
SelEnd.W
EndStructure
CompilerEndIf
Procedure SetCursorPos(GadgetNo.l, CursorPos)
Protected GadgetID = GadgetID(GadgetNo)
CompilerSelect #PB_Compiler_OS
CompilerCase #PB_OS_Windows
SendMessage_(GadgetID, #EM_SETSEL, CursorPos, CursorPos)
CompilerCase #PB_OS_Linux
gtk_editable_set_position_(GadgetID, CursorPos)
CompilerCase #PB_OS_MacOS
TextSelection.ControlEditTextSelectionRec
TextSelection\selStart = CursorPos
TextSelection\selEnd = CursorPos
SetControlData(GadgetID, #kControlEditTextPart, #kControlEditTextSelectionTag, SizeOf(ControlEditTextSelectionRec), @TextSelection)
SetActiveGadget(GadgetNo)
CompilerEndSelect
EndProcedure
Procedure.l GetCursorPos(GadgetNo.l)
Protected GadgetID = GadgetID(GadgetNo)
CompilerSelect #PB_Compiler_OS
CompilerCase #PB_OS_Windows
ProcedureReturn SendMessage_(GadgetID, #EM_GETSEL, 0, 0)/65536
CompilerCase #PB_OS_Linux
ProcedureReturn gtk_editable_get_position_(GadgetID)
CompilerCase #PB_OS_MacOS
GetControlData(GadgetID, #kControlEditTextPart, #kControlEditTextSelectionTag, SizeOf(ControlEditTextSelectionRec), @TextSelection.ControlEditTextSelectionRec, 0)
ProcedureReturn TextSelection\SelStart
CompilerEndSelect
EndProcedure
;from ts-soft
Global.i CurPos
Global.s sTemp, sTempTab
If OpenWindow(0, 0, 0, 322, 205, "StringGadget Flags", #PB_Window_SystemMenu | #PB_Window_ScreenCentered)
StringGadget(0, 8, 10, 306, 20, "Normal StringGadget...")
Repeat
Select WaitWindowEvent()
Case #PB_Event_CloseWindow : Break
Case #PB_Event_Gadget
Select EventGadget()
Case 0
Select EventType()
Case #PB_EventType_Focus
AddKeyboardShortcut(0, #PB_Shortcut_Tab, 1)
Case #PB_EventType_LostFocus
RemoveKeyboardShortcut(0, #PB_Shortcut_Tab)
EndSelect
EndSelect
Case #PB_Event_Menu
Select EventMenu()
Case 1
CurPos= GetCursorPos(0)
Debug CurPos
sTemp= GetGadgetText(0)
sTempTab= Left(sTemp, CurPos) + #TAB$ + Mid(sTemp, CurPos+1)
SetGadgetText(0, sTempTab)
SetCursorPos(0, CurPos)
EndSelect
EndSelect
ForEver
EndIf
Offtopic @xXRobo_CubeXx:
Ich sehe hier noch weitere Probleme, gerade bezüglich Deiner Bemerkungen in diesem thread: http://www.purebasic.fr/german/viewtopi ... 8&start=10, ff.
- Leute, mit denen man noch nicht gesoffen hat sollte man aus Höflichkeit wenigstens mit 'Du' ansprechen.
- In einem Satz wie "Wen du seine Frage nicht verstanden hast hast du ..." folgt ein Komma nach dem ersten 'hast'.
- "Konntest du ihn mit deinen sinnlosen Beispiel ...": Auch hier die Höflichkeit-Großschreibung: 'Deinen', und
- um zukünftig nicht ständig mit 'Verona' angesprochen zu werden würde der gemeine Hobbygermanist hier wohl zu dem

- "in Windows nachzustellen dann lass es doch ...". Erneut wäre hier ein Komma dem 'nachzustellen' nachzustellen.
Sehr 'suboptimales' Deutsch, aber 'Nobody is perfect'

EndOfftopic
und sorry an MarcelX fürs Offtopic
Gruß, Charly
PureBasic Linux-API-Library: http://www.chabba.de