[4.51] Eingabefeld auf ReadOnly setzen

In dieser Linux-Ecke dürfen nur Themen rund um Linux geschrieben werden.
Beiträge, die plattformübergreifend sind, gehören ins 'Allgemein'-Forum.
mbuettner
Beiträge: 88
Registriert: 14.05.2010 15:53
Computerausstattung: 3 GB RAM, Windows 7 32-Bit Home Premium
Wohnort: daheim
Kontaktdaten:

[4.51] Eingabefeld auf ReadOnly setzen

Beitrag 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
Bild
Bild
Die täglich beförderte Datenmenge des Internets beträgt 415 Petabyte oder 445.602.856.960 Megabyte!
Benutzeravatar
Shardik
Beiträge: 746
Registriert: 25.01.2005 12:19

Re: [4.51] Eingabefeld auf ReadOnly setzen

Beitrag 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
mbuettner
Beiträge: 88
Registriert: 14.05.2010 15:53
Computerausstattung: 3 GB RAM, Windows 7 32-Bit Home Premium
Wohnort: daheim
Kontaktdaten:

Re: [4.51] Eingabefeld auf ReadOnly setzen

Beitrag 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.
Bild
Bild
Die täglich beförderte Datenmenge des Internets beträgt 415 Petabyte oder 445.602.856.960 Megabyte!
Benutzeravatar
Kiffi
Beiträge: 10714
Registriert: 08.09.2004 08:21
Wohnort: Amphibios 9

Re: [4.51] Eingabefeld auf ReadOnly setzen

Beitrag von Kiffi »

mbuettner hat geschrieben:Der Compiler spuckt mir folgende Meldung aus:
Bild
a²+b²=mc²
Benutzeravatar
Vera
Beiträge: 928
Registriert: 18.03.2009 14:47
Computerausstattung: Win XP SP2, Suse 11.1
Wohnort: Essen

Re: [4.51] Eingabefeld auf ReadOnly setzen

Beitrag 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
°
<°)))o><
~~~~~~~~~
echo "Don't worry"
echo "Keep quiet"
@echo off
format forum:\
mbuettner
Beiträge: 88
Registriert: 14.05.2010 15:53
Computerausstattung: 3 GB RAM, Windows 7 32-Bit Home Premium
Wohnort: daheim
Kontaktdaten:

Re: [4.51] Eingabefeld auf ReadOnly setzen

Beitrag 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.
Bild
Bild
Die täglich beförderte Datenmenge des Internets beträgt 415 Petabyte oder 445.602.856.960 Megabyte!
Benutzeravatar
rolaf
Beiträge: 3843
Registriert: 10.03.2005 14:01

Re: [4.51] Eingabefeld auf ReadOnly setzen

Beitrag 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. :wink:
:::: WIN 10 :: PB 5.73 :: (x64) ::::
Antworten