Seite 2 von 3

Re: TextGadget wird nicht! angezeigt ??

Verfasst: 04.07.2014 22:24
von Diogenes
Hallo,

@Andreas21 danke für Deine Hilfe
insbesondere das

Code: Alles auswählen

OpenWindow(1,0,0,300,300,"Test",#PB_Window_SystemMenu|#PB_Window_ScreenCentered)
ButtonGadget(1, 50, 50,50,50, "TEST",#WS_CLIPSIBLINGS)
ButtonGadget(2, 30, 30,90,90, "",#WS_CLIPSIBLINGS)
ButtonGadget(3, 10, 10,130,130, "",#WS_CLIPSIBLINGS)

Repeat
  Select WaitWindowEvent()
     
       Case #PB_Event_CloseWindow
           Q = 1
     
      Case #PB_Event_Gadget
          Select EventGadget()
            Case 1           
              Debug "Gadget 1 pressed"
         
            Case 2
              Debug "gadget 2 pressed"
             
            Case 3
              Debug "gadget 3 pressed"
         
          EndSelect
             
  EndSelect
Until Q =1
End
finde ich beeindruckend, da funktioniert's ja.

Ich habe aber inzwischen auf NickTheQuick und mk-soft gehört, und Abstand vom
ListIconGadget genommen und mir selber eine grafische Listbox programmiert, die ich
auf das Canvas gemalt habe.
Für die zukünftigen Programme werde ich wohl doch auf windowed Screens für meine
Spiele zurückgreifen. Da scheint es ja nicht so viele Einschränkungen zu geben.
Ich werde 'mal sehen wie das dann funktioniert.
Vielen Dank erst einmal an alle, die hier so schnell helfen.

Re: TextGadget wird nicht! angezeigt ??

Verfasst: 05.07.2014 13:00
von edel
Wie waere es denn mit UseGadgetList?

Code: Alles auswählen

Procedure Main()
  
  Window = OpenWindow(#PB_Any, #PB_Ignore, #PB_Ignore , 400, 400, "")
  
  Canvas = CanvasGadget(#PB_Any, 0, 0, 400, 400)
  
  UseGadgetList(GadgetID(Canvas))
  
  List = ListIconGadget(#PB_Any, 10, 10, 380, 200, "hm?", 100)
  
  TextGadget(#PB_Any, 10, 300, 100, 25, "hu?")
  TextGadget(#PB_Any, 10, 330, 100, 25, "ha?")
  
  Repeat
  Until WaitWindowEvent() = #PB_Event_CloseWindow
  
  
EndProcedure: End Main()

Re: TextGadget wird nicht! angezeigt ??

Verfasst: 05.07.2014 15:29
von Diogenes
Hallo edel,

das funktioniert gut, verstanden habe ich das Ganze aber noch nicht ganz.
In Pure Basic scheint es noch eine Menge von Eigenheiten zu geben,
die ich noch nicht richtig zuordnen kann. aber ich lerne weiter.
Danke dafür

Re: TextGadget wird nicht! angezeigt ??

Verfasst: 05.07.2014 19:16
von Sicro
Das Beispiel von edel ist keine offizielle Möglichkeit von PB und funktioniert vermutlich nur unter Windows - bei Linux hagelt es jedenfalls von Fehlermeldungen.

Gewundert hat mich beim Ausführen des Codes, dass kein Syntax-Fehler gemeldet wurde.

Code: Alles auswählen

EndProcedure: End Main()
Da fehlt ein Doppelpunkt zwischen "End" und "Main()".

Re: TextGadget wird nicht! angezeigt ??

Verfasst: 05.07.2014 20:16
von edel
Ich bin immer davon ausgegangen dass es so funktionieren soll. Welche Fehler werden denn ausgegeben?

Da fehlt ein Doppelpunkt zwischen "End" und "Main()".
Nein, denn dann wuerdest du gar nichts sehen ;)

Re: TextGadget wird nicht! angezeigt ??

Verfasst: 05.07.2014 20:37
von Sicro
edel hat geschrieben:Welche Fehler werden denn ausgegeben?
Siehe Screenshot: http://www.directupload.net/file/d/3674 ... d2_png.htm
Zudem öffnet sich das Fenster mit weißem Hintergrund (kein Gadget drauf). Dieses Fenster hatte ich schon vorm Screenshot erstellen geschlossen.
edel hat geschrieben:Nein, denn dann wuerdest du gar nichts sehen ;)
Ach je, stimmt, mit Doppelpunkt wäre es nicht gut. :lol: Da war ich jetzt zu sehr auf die Syntax fixiert ...

Edit: Unter Linux mit PureBasic 5.30 Beta 4 das Selbe.

Re: TextGadget wird nicht! angezeigt ??

Verfasst: 05.07.2014 23:02
von edel
Versuch doch mal als Subsystem gtk3. Dann aber ohne UseGadgetList.

Re: TextGadget wird nicht! angezeigt ??

Verfasst: 06.07.2014 11:33
von mk-soft
@Edel
Unter Mac geht das nicht...

Re: TextGadget wird nicht! angezeigt ??

Verfasst: 06.07.2014 13:03
von Sicro
edel hat geschrieben:Versuch doch mal als Subsystem gtk3. Dann aber ohne UseGadgetList.
Dann erhalte ich noch mehr Fehler als MessageBox - auch mit UseGadgetList.

Kompiliere ich den Code über das Terminal, erhalte ich neben den Fehlern noch folgende Ausgabe:
pbcompiler test.pb --debugger --purifier --subsystem gtk3 > error.txt hat geschrieben: Package gtk+-3.0 was not found in the pkg-config search path.
Perhaps you should add the directory containing `gtk+-3.0.pc'
to the PKG_CONFIG_PATH environment variable
No package 'gtk+-3.0' found
Die Suche nach der benötigten Datei:
find / -name gtk*.pc hat geschrieben: /usr/share/pkgconfig/gtk-doc.pc
/usr/lib/x86_64-linux-gnu/pkgconfig/gtk+-x11-2.0.pc
/usr/lib/x86_64-linux-gnu/pkgconfig/gtk+-unix-print-2.0.pc
/usr/lib/x86_64-linux-gnu/pkgconfig/gtk+-2.0.pc
Im Paketmanager gibt es kein Paket "gtk+-3.0".
Installiert ist das Paket "gtk3-engines-unico", das wie folgt beschrieben wird:
Unico-Gtk+-3-Themenmodul
Unico is a Gtk+ engine that aims to be the more complete yet powerful
theming engine for Gtk+ 3.0 and newer. It’s the first Gtk+ engine written
with Gtk+ style context APIs in mind, using CSS as first class citizen.

Re: TextGadget wird nicht! angezeigt ??

Verfasst: 06.07.2014 14:03
von ts-soft

Code: Alles auswählen

sudo apt-get update && sudo apt-get install libgtk-3-dev
:wink: