Seite 1 von 2
Cursor aus readonly-StringGadget entfernen
Verfasst: 07.06.2010 21:33
von Delle
Hallo,
ich habe ein StringGadget readonly gesetzt und mit weißem Hintergrund versehen.
Wenn der User nun reinklickt, erscheint ein Cursor und es macht den Anschein als er könnte er darin irgendetwas eingeben
Wie kann ich das vermeiden?
Danke,
Delle
Re: Cursor aus readonly-StringGadget entfernen
Verfasst: 07.06.2010 21:34
von ts-soft
SetActiveGadget
Re: Cursor aus readonly-StringGadget entfernen
Verfasst: 07.06.2010 21:41
von Delle
Öhm das ist genau das Gegenteil was ich wollte

Re: Cursor aus readonly-StringGadget entfernen
Verfasst: 07.06.2010 21:41
von ts-soft
Code: Alles auswählen
If OpenWindow(0, 0, 0, 322, 205, "", #PB_Window_SystemMenu | #PB_Window_ScreenCentered)
TextGadget(0, 0, 0, 0, 0, "")
StringGadget(1, 8, 10, 306, 20, "Readonly StringGadget", #PB_String_ReadOnly)
Repeat
Select WaitWindowEvent()
Case #PB_Event_CloseWindow : Break
Case #PB_Event_Gadget
If EventGadget() = 1 And EventType() = #PB_EventType_Focus
SetActiveGadget(0)
EndIf
EndSelect
ForEver
EndIf
Re: Cursor aus readonly-StringGadget entfernen
Verfasst: 08.06.2010 08:44
von Shardik
Warum so umständlich mit einem unsichtbaren "Geister"-Gadget, Thomas?
Mit HideCaret_(GadgetID(x)) geht es in Windows kürzer und eleganter:
Code: Alles auswählen
OpenWindow(0, 0, 0, 322, 205, "", #PB_Window_SystemMenu | #PB_Window_ScreenCentered)
StringGadget(0, 8, 10, 306, 20, "Readonly StringGadget", #PB_String_ReadOnly)
Repeat
WindowEvent = WaitWindowEvent()
If EventGadget() = 0 And EventType() = #PB_EventType_Focus
HideCaret_(GadgetID(0))
EndIf
Until WindowEvent = #PB_Event_CloseWindow
Bei dieser Vorgehensweise erscheint kein Cursor, es kann aber trotzdem noch Text markiert werden!
Re: Cursor aus readonly-StringGadget entfernen
Verfasst: 08.06.2010 09:32
von STARGÅTE
Shardik hat geschrieben:[...] geht es in Windows kürzer [...]
Aber eben nur unter Windows.
Im übrigen kann man auch einfach:
SetActiveGadget(#PB_Default)
nutzen, dann wird keins mehr aktiviert.
Code: Alles auswählen
If OpenWindow(0, 0, 0, 322, 205, "", #PB_Window_SystemMenu | #PB_Window_ScreenCentered)
StringGadget(1, 8, 10, 306, 20, "Readonly StringGadget", #PB_String_ReadOnly)
Repeat
Select WaitWindowEvent()
Case #PB_Event_CloseWindow : Break
Case #PB_Event_Gadget
If EventGadget() = 1 And EventType() = #PB_EventType_Focus
SetActiveGadget(#PB_Default)
EndIf
EndSelect
ForEver
EndIf
Re: Cursor aus readonly-StringGadget entfernen
Verfasst: 08.06.2010 09:38
von ts-soft
Shardik hat geschrieben:Bei dieser Vorgehensweise erscheint kein Cursor, es kann aber trotzdem noch Text markiert werden!
Das macht wohl keinen Sinn
Geistergadget ist ja meist auch nicht nötig, es gibt ja meist bereits irgendwelche Gadgets.
Den Tipp von STARGÅTE mit -1 kannte ich auch noch nicht

Re: Cursor aus readonly-StringGadget entfernen
Verfasst: 08.06.2010 10:06
von Shardik
ts-soft hat geschrieben:Das macht wohl keinen Sinn
Das sehe ich aber anders. Nimm einmal an, daß ich IP-Adressen von anderen PCs im Netzwerk
in einem mehrzeiligen, schreibgeschützten StringGadget anzeige. Wenn ich dann eine markiere,
kann ich sie mit Strg+C kopieren und in einer Konsole hinter einem Ping-Befehl einfügen, um zu
überprüfen, ob der PC zur Zeit erreichbar ist. Wieso macht das keinen Sinn?
Und wenn das Markieren nicht gewünscht ist, kann man ja STARGÅTEs Tipp verwenden.
ts-soft hat geschrieben:Geistergadget ist ja meist auch nicht nötig, es gibt ja meist bereits irgendwelche Gadgets.
Das macht dann auch einen sehr professionellen Eindruck, wenn der Anwender auf ein schreibgeschütztes
StringGadget klickt und dann plötzlich der Fokus auf ein bestimmtes anderes Gadget wechselt...

Re: Cursor aus readonly-StringGadget entfernen
Verfasst: 08.06.2010 10:21
von ts-soft
Shardik hat geschrieben:ts-soft hat geschrieben:Geistergadget ist ja meist auch nicht nötig, es gibt ja meist bereits irgendwelche Gadgets.
Das macht dann auch einen sehr professionellen Eindruck, wenn der Anwender auf ein schreibgeschütztes
StringGadget klickt und dann plötzlich der Fokus auf ein bestimmtes anderes Gadget wechselt...

Es ist normal, das dann der Focus auf das nächste Gadget in der Tabreihenfolge springt. Was sollte daran unprofessionell sein.
Markieren ohne Cursor halte ich für unprofessionell

Re: Cursor aus readonly-StringGadget entfernen
Verfasst: 08.06.2010 17:26
von edel
Warum willst du ein Stringgadget nehmen wenn es nicht wie ein solches funktionieren soll?
In dem Fall kannst du doch auch einfach nen Textgadget nehmen.