Hallo zusammen,
ich habe folgendes Problem bei dem ich nicht weiterkomme.
Ich habe eine Eingabemaske mit 5 Stringgadgets. Beim Anspringen mit der TAB-Taste werden diese in der richtigen Reihenfolge (= Reihenfolge in der die Gadgets erzeugt wurden) angesprungen.
Das dritte Stringgadget wird während des Programmablaufes durch ein ComboBox-Gadget (an der gleichen Screen Position) mit der selben ID ersetzt. Das Stringgadget ist dadurch "gefreed".
Jetzt wird beim Anspringen mit der Tab-Taste Stringgadget 1, dann 2, 4,5 und dann erst die ComboBox angesprungen anstatt Stringgadget1, 2 ComboBox, Stringgadget 4,5.
Wie kann ich die "richtige" Reihenfolge wieder einrichten.
Danke im Voraus.
NicknameFJ
Gadgetreihenfolge beim Anspringen mit der TAB-Taste
- NicknameFJ
- Beiträge: 324
- Registriert: 03.06.2007 14:36
- Wohnort: Von der Sonne aus gesehen der dritte Planet
Gadgetreihenfolge beim Anspringen mit der TAB-Taste
PS: Alle im Text enthaltenen Schreibfehler sind beabsichtigt und dienen der Belustigung aller
Re: Gadgetreihenfolge beim Anspringen mit der TAB-Taste
Das besagte Stringgadget und Combogadget unterschiedliche IDs geben und mittels DisableGadget und HideGadget verstecken.
Generell würde ich Gadgets immer unterschiedliche IDs geben, besser mit #pb_any arbeiten.
Generell würde ich Gadgets immer unterschiedliche IDs geben, besser mit #pb_any arbeiten.
CodeArchiv Rebirth: Deutsches Forum Github Hilfe ist immer gern gesehen!
- NicknameFJ
- Beiträge: 324
- Registriert: 03.06.2007 14:36
- Wohnort: Von der Sonne aus gesehen der dritte Planet
Re: Gadgetreihenfolge beim Anspringen mit der TAB-Taste
Danke GPI.
Das hätte ich auch so gemacht aber ......
mein Programm ist schon sehr weit und ich habe das mit der ComboBox erst nachträglich eingebaut.
Habe noch eine eigene Routine die mit der ENTER Taste die Gadgets durchgeht. Da brauche die selbe Gadgetnummer. Habe auch ein Autovervollständigen mit Drin usw. das an allen Stellen anzupassen ist ne Menge Arbeit.
Dachte es wäre einfacher dem OS die neue Reihenfolge beizubringen an der Stelle wo die Combobox eingeblendet wird.
Hat jemand eine Idee wie ich die Reihenfolge dem OS beibringen kann sonst muss ich in den saueren Apfel beißen und die Fleißarbeit erledigen.
NicknameFJ
Das hätte ich auch so gemacht aber ......
mein Programm ist schon sehr weit und ich habe das mit der ComboBox erst nachträglich eingebaut.
Habe noch eine eigene Routine die mit der ENTER Taste die Gadgets durchgeht. Da brauche die selbe Gadgetnummer. Habe auch ein Autovervollständigen mit Drin usw. das an allen Stellen anzupassen ist ne Menge Arbeit.
Dachte es wäre einfacher dem OS die neue Reihenfolge beizubringen an der Stelle wo die Combobox eingeblendet wird.
Hat jemand eine Idee wie ich die Reihenfolge dem OS beibringen kann sonst muss ich in den saueren Apfel beißen und die Fleißarbeit erledigen.
NicknameFJ
PS: Alle im Text enthaltenen Schreibfehler sind beabsichtigt und dienen der Belustigung aller
- HeX0R
- Beiträge: 2961
- Registriert: 10.09.2004 09:59
- Computerausstattung: AMD Ryzen 7 5800X
96Gig Ram
NVIDIA GEFORCE RTX 3060TI/8Gig
Win10 64Bit
G19 Tastatur
2x 24" + 1x27" Monitore
Glorious O Wireless Maus
PB 3.x-PB 6.x
Oculus Quest 2 - Kontaktdaten:
Re: Gadgetreihenfolge beim Anspringen mit der TAB-Taste
Code: Alles auswählen
Procedure ChangeTabOrder(List Gadgets.i())
If LastElement(Gadgets())
Repeat
If IsGadget(Gadgets())
SetWindowPos_(GadgetID(Gadgets()), 0, 0, 0, 0, 0, #SWP_NOMOVE | #SWP_NOSIZE)
EndIf
Until PreviousElement(Gadgets()) = 0
EndIf
EndProcedure
If OpenWindow(0, 0, 0, 222, 200, "ButtonGadgets", #PB_Window_SystemMenu | #PB_Window_ScreenCentered)
ButtonGadget(0, 10, 10, 200, 20, "Eins")
ButtonGadget(1, 10, 40, 200, 20, "Zwei")
ButtonGadget(2, 10, 70, 200, 20, "Drei")
ButtonGadget(3, 10, 100, 200, 60, "Vier")
ButtonGadget(4, 10, 170, 200, 20, "Change TabOrder")
Repeat
Select WaitWindowEvent()
Case #PB_Event_CloseWindow
Break
Case #PB_Event_Gadget
If EventGadget() = 4
NewList G.i()
AddElement(G()) : G() = 2 : SetGadgetText(2, "Eins")
AddElement(G()) : G() = 4 : SetGadgetText(4, "Zwei")
AddElement(G()) : G() = 0 : SetGadgetText(0, "Drei")
AddElement(G()) : G() = 3 : SetGadgetText(3, "Vier")
AddElement(G()) : G() = 1 : SetGadgetText(1, "Fuenf")
ChangeTabOrder(G())
EndIf
EndSelect
ForEver
EndIf
{Home}.:|:.{Codes}.:|:.{Downloads}.:|:.{History Viewer Online}
- NicknameFJ
- Beiträge: 324
- Registriert: 03.06.2007 14:36
- Wohnort: Von der Sonne aus gesehen der dritte Planet
Re: Gadgetreihenfolge beim Anspringen mit der TAB-Taste
Hallo HeXOR,
danke für Deine Antwort.
Ich teste dies mal.
Über kurz oder lang muss ich die Fleißarbeit mal angehen aber erstmal ist es gut wenn ich da nicht ran muss.
NicknameFJ
danke für Deine Antwort.
Ich teste dies mal.
Über kurz oder lang muss ich die Fleißarbeit mal angehen aber erstmal ist es gut wenn ich da nicht ran muss.
NicknameFJ
PS: Alle im Text enthaltenen Schreibfehler sind beabsichtigt und dienen der Belustigung aller
- HeX0R
- Beiträge: 2961
- Registriert: 10.09.2004 09:59
- Computerausstattung: AMD Ryzen 7 5800X
96Gig Ram
NVIDIA GEFORCE RTX 3060TI/8Gig
Win10 64Bit
G19 Tastatur
2x 24" + 1x27" Monitore
Glorious O Wireless Maus
PB 3.x-PB 6.x
Oculus Quest 2 - Kontaktdaten:
Re: Gadgetreihenfolge beim Anspringen mit der TAB-Taste
Ich hab mir das nochmal durchgelesen, das was Du willst geht ja noch viel einfacher:
Code: Alles auswählen
If OpenWindow(0, 0, 0, 222, 200, "ButtonGadgets", #PB_Window_SystemMenu | #PB_Window_ScreenCentered)
ButtonGadget(0, 10, 10, 200, 20, "Eins")
ButtonGadget(1, 10, 40, 200, 20, "Zwei")
ButtonGadget(2, 10, 70, 200, 20, "Drei")
ButtonGadget(3, 10, 100, 200, 60, "Vier")
ButtonGadget(4, 10, 170, 200, 20, "Lösche Drei und erstelle neu")
Repeat
Select WaitWindowEvent()
Case #PB_Event_CloseWindow
Break
Case #PB_Event_Gadget
If EventGadget() = 4
FreeGadget(2)
UseGadgetList(WindowID(0))
ButtonGadget(2, 10, 70, 200, 20, "Drei")
SetWindowPos_(GadgetID(2), GadgetID(1), 0, 0, 0, 0, #SWP_NOMOVE | #SWP_NOSIZE)
EndIf
EndSelect
ForEver
EndIf
{Home}.:|:.{Codes}.:|:.{Downloads}.:|:.{History Viewer Online}
- NicknameFJ
- Beiträge: 324
- Registriert: 03.06.2007 14:36
- Wohnort: Von der Sonne aus gesehen der dritte Planet
Re: Gadgetreihenfolge beim Anspringen mit der TAB-Taste
Danke HeXOR,
funktioniert sehr gut.
Ich baue das erstmal in mein Programm ein.
NicknameFJ
funktioniert sehr gut.
Ich baue das erstmal in mein Programm ein.
NicknameFJ
PS: Alle im Text enthaltenen Schreibfehler sind beabsichtigt und dienen der Belustigung aller