Buchempfehlung
Windows System Programming
Windows System Programming
Das Kompendium liefert viele interessante Informationen zur Windows-Programmierung auf Englisch. [Mehr Infos...]
FreeBASIC-Chat
Es sind Benutzer im FreeBASIC-Chat online.
(Stand:  )
FreeBASIC bei Twitter
Twitter FreeBASIC-Nachrichten jetzt auch über Twitter erhalten. Follow us!

Code-Beispiel

Code-Beispiele » GTK, WxWidgets etc.

GTK Versions-Check

Lizenz:Erster Autor:Letzte Bearbeitung:
GPLv3MitgliedTJF 26.04.2013
Ausgabe
Vergrößern
Ausgabe

Dieses Beispielprogramm prüft, ob auf dem System eine GTK-Installation verfügbar ist und meldet gegebenenfalls deren Versionsnummer in einem GTK-Fenster. Falls keine GTK-Installation gefunden wird, wird eine entsprechende Meldung in einem FBgfx-Fenster ausgegeben.

Der Code kann unter LINUX und win kompiliert werden (, wozu eine GTK-Installation vorhanden sein muss). Es werden die original GTK bindings verwendet, wie sie mit FreeBasic (0.20b/0.21) mitgeliefert werden (keine Zusatzinstallation notwendig).

' GtkTest.bas
' GPLv3: Copyright by TJF, 2010

#DEFINE __USE_GTK3__
#INCLUDE ONCE "gtk/gtk.bi"

#DEFINE NULL 0

DIM AS GtkWidget PTR win, frame, label
DIM AS       INTEGER v1, v2, v3
DIM AS        STRING GtkVersion

' Initialise GTK
IF gtk_init_check (@__FB_ARGC__, @__FB_ARGV__) THEN
  v1 =  4 : WHILE gtk_check_version_(v1, v2, v3) : v1 -= 1 : WEND
  v2 = 99 : WHILE gtk_check_version_(v1, v2, v3) : v2 -= 1 : WEND
  v3 = 44 : WHILE gtk_check_version_(v1, v2, v3) : v3 -= 1 : WEND
  GtkVersion = !"\n" & v1 & "." & v2 & "." & v3 & !"\n"
ELSE
  SCREENRES 300, 70
  ?!"\n\nNo GTK installation found!\n\nPress a key to finish."
  SLEEP
  END -1
END IF

win = gtk_window_new (GTK_WINDOW_TOPLEVEL)
g_signal_connect(G_OBJECT(win), "destroy", G_CALLBACK(@gtk_main_quit), NULL)
g_signal_connect(GTK_WIDGET(win), "key-press-event", G_CALLBACK(@gtk_main_quit), NULL)

gtk_window_set_title (GTK_WINDOW (win), "GtkTest")
gtk_container_set_border_width (GTK_CONTAINER (win), 70)

frame = gtk_frame_new (" installed version is ")
label = gtk_label_new (SADD(GtkVersion))
gtk_container_add (GTK_CONTAINER (frame), label)
gtk_container_add (GTK_CONTAINER (win), frame)

gtk_widget_show_all (win)

gtk_main ()
END 0

Zusätzliche Informationen und Funktionen
  • Das Code-Beispiel wurde am 07.10.2010 von MitgliedTJF angelegt.
  • Die aktuellste Version wurde am 26.04.2013 von MitgliedTJF gespeichert.
  Bearbeiten Bearbeiten  

  Versionen Versionen