Seite 1 von 1
[4.51] Eingabefeld auf ReadOnly setzen
Verfasst: 25.09.2010 13:00
von mbuettner
Hallo,
wie kann man ein zuvor aktiviertes StringGadget wieder auf ReadOnly ersetzen? Im Code Archiv habe ich nur ein Beispiel für Windows gefunden, und das geht ja bekannterweise nicht unter Linux.
MfG
Markus
Re: [4.51] Eingabefeld auf ReadOnly setzen
Verfasst: 27.09.2010 09:01
von Shardik
So geht es auch unter Linux:
Code: Alles auswählen
OpenWindow(0, 0, 0, 220, 70, "StringGadget-Demo", #PB_Window_SystemMenu | #PB_Window_ScreenCentered)
StringGadget(0, 10, 10, WindowWidth(0) - 20, 20, "")
ButtonGadget(1, 10, WindowHeight(0) - 30, WindowWidth(0) - 20, 23, "Text-Eingabe unterbinden")
SetActiveGadget(0)
Repeat
Select WaitWindowEvent()
Case #PB_Event_CloseWindow
Break
Case #PB_Event_Gadget
If EventGadget() = 1
If gtk_editable_get_editable_(GadgetID(0))
gtk_editable_set_editable_(GadgetID(0), #False)
SetGadgetText(1, "Text-Eingabe unterbinden")
Else
gtk_editable_set_editable_(GadgetID(0), #True)
SetGadgetText(1, "Text-Eingabe erlauben")
EndIf
EndIf
EndSelect
ForEver
Re: [4.51] Eingabefeld auf ReadOnly setzen
Verfasst: 11.11.2010 16:24
von mbuettner
Der Compiler spuckt mir folgende Meldung aus:
Zeile 129: gtk_editable_get_editable_() is not a function (or not available in demo version), macro, array or linked list.
Re: [4.51] Eingabefeld auf ReadOnly setzen
Verfasst: 11.11.2010 16:55
von Kiffi
mbuettner hat geschrieben:Der Compiler spuckt mir folgende Meldung aus:

Re: [4.51] Eingabefeld auf ReadOnly setzen
Verfasst: 11.11.2010 17:07
von Vera
@Shardik
wiedermal ~ Danke
@mbuettner
vielleicht hilft Dir dieser Trick bei der Demoversion
Code: Alles auswählen
OpenWindow(0, 0, 0, 220, 70, "StringGadget-Demo", #PB_Window_SystemMenu | #PB_Window_ScreenCentered)
StringGadget(0, 10, 10, WindowWidth(0) - 20, 20, "hallo")
ButtonGadget(1, 10, WindowHeight(0) - 30, WindowWidth(0) - 20, 23, "Text-Eingabe unterbinden", #PB_Button_Toggle)
SetActiveGadget(0)
Repeat
Select WaitWindowEvent()
Case #PB_Event_CloseWindow
Break
Case #PB_Event_Gadget
If EventGadget() = 1 And GetGadgetState(1) = 1
FreeGadget(0)
StringGadget(0, 10, 10, WindowWidth(0) - 20, 20, "read only", #PB_String_ReadOnly)
SetGadgetText(1, "Text-Eingabe erlauben")
EndIf
If EventGadget() = 1 And GetGadgetState(1) = 0
FreeGadget(0)
StringGadget(0, 10, 10, WindowWidth(0) - 20, 20, "editable again")
SetGadgetText(1, "Text-Eingabe unterbinden")
EndIf
EndSelect
ForEver
nun mußst Du nur noch, schon vorhandene Einträge übertragen, falls notwendig
Gruß ~ Vera
Re: [4.51] Eingabefeld auf ReadOnly setzen
Verfasst: 11.11.2010 18:12
von mbuettner
@Kiffi:
Das komische ist aber, dass das ein API-Befehl ist, oder sind die generell nicht bei der Demoversion verfügbar?
@Vera:
Danke, werde ich gleich mal ausprobieren.
Re: [4.51] Eingabefeld auf ReadOnly setzen
Verfasst: 11.11.2010 19:00
von rolaf
mbuettner hat geschrieben:Das komische ist aber, dass das ein API-Befehl ist, oder sind die generell nicht bei der Demoversion verfügbar?
Das ist nicht komisch, sondern das ist des Pudels Kern.
