TextGadget wird nicht! angezeigt ??

Anfängerfragen zum Programmieren mit PureBasic.
Diogenes
Beiträge: 91
Registriert: 05.06.2014 10:52

Re: TextGadget wird nicht! angezeigt ??

Beitrag 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.
Benutzeravatar
edel
Beiträge: 3667
Registriert: 28.07.2005 12:39
Computerausstattung: GameBoy
Kontaktdaten:

Re: TextGadget wird nicht! angezeigt ??

Beitrag 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()
Diogenes
Beiträge: 91
Registriert: 05.06.2014 10:52

Re: TextGadget wird nicht! angezeigt ??

Beitrag 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
Benutzeravatar
Sicro
Beiträge: 964
Registriert: 11.08.2005 19:08
Kontaktdaten:

Re: TextGadget wird nicht! angezeigt ??

Beitrag 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()".
Bild
Warum OpenSource eine Lizenz haben sollte :: PB-CodeArchiv-Rebirth :: Pleasant-Dark (Syntax-Farbschema) :: RegEx-Engine (kompiliert RegExes zu NFA/DFA)
Manjaro Xfce x64 (Hauptsystem) :: Windows 10 Home (VirtualBox) :: Neueste PureBasic-Version
Benutzeravatar
edel
Beiträge: 3667
Registriert: 28.07.2005 12:39
Computerausstattung: GameBoy
Kontaktdaten:

Re: TextGadget wird nicht! angezeigt ??

Beitrag 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 ;)
Benutzeravatar
Sicro
Beiträge: 964
Registriert: 11.08.2005 19:08
Kontaktdaten:

Re: TextGadget wird nicht! angezeigt ??

Beitrag 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.
Bild
Warum OpenSource eine Lizenz haben sollte :: PB-CodeArchiv-Rebirth :: Pleasant-Dark (Syntax-Farbschema) :: RegEx-Engine (kompiliert RegExes zu NFA/DFA)
Manjaro Xfce x64 (Hauptsystem) :: Windows 10 Home (VirtualBox) :: Neueste PureBasic-Version
Benutzeravatar
edel
Beiträge: 3667
Registriert: 28.07.2005 12:39
Computerausstattung: GameBoy
Kontaktdaten:

Re: TextGadget wird nicht! angezeigt ??

Beitrag von edel »

Versuch doch mal als Subsystem gtk3. Dann aber ohne UseGadgetList.
Benutzeravatar
mk-soft
Beiträge: 3855
Registriert: 24.11.2004 13:12
Wohnort: Germany

Re: TextGadget wird nicht! angezeigt ??

Beitrag von mk-soft »

@Edel
Unter Mac geht das nicht...
Alles ist möglich, fragt sich nur wie...
Projekte ThreadToGUI / EventDesigner V3 / OOP-BaseClass-Modul
Downloads auf MyWebspace / OneDrive
Benutzeravatar
Sicro
Beiträge: 964
Registriert: 11.08.2005 19:08
Kontaktdaten:

Re: TextGadget wird nicht! angezeigt ??

Beitrag 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.
Bild
Warum OpenSource eine Lizenz haben sollte :: PB-CodeArchiv-Rebirth :: Pleasant-Dark (Syntax-Farbschema) :: RegEx-Engine (kompiliert RegExes zu NFA/DFA)
Manjaro Xfce x64 (Hauptsystem) :: Windows 10 Home (VirtualBox) :: Neueste PureBasic-Version
Benutzeravatar
ts-soft
Beiträge: 22292
Registriert: 08.09.2004 00:57
Computerausstattung: Mainboard: MSI 970A-G43
CPU: AMD FX-6300 Six-Core Processor
GraKa: GeForce GTX 750 Ti, 2 GB
Memory: 16 GB DDR3-1600 - Dual Channel
Wohnort: Berlin

Re: TextGadget wird nicht! angezeigt ??

Beitrag von ts-soft »

Code: Alles auswählen

sudo apt-get update && sudo apt-get install libgtk-3-dev
:wink:
PureBasic 5.73 LTS | SpiderBasic 2.30 | Windows 10 Pro (x64) | Linux Mint 20.1 (x64)
Nutella hat nur sehr wenig Vitamine. Deswegen muss man davon relativ viel essen.
Bild
Antworten