Anfängerfrage zu GTK+



  • Hallo,

    ich habe bisher Programme für Windows in C mit Hilfe der WINAPI erstellt. Nun möchte ich mich in GTK+ einarbeiten und habe mir hierzu die IDE von bloodshed.net DEV-C++ mit den entsprechende Paketen installiert. Das nachfolgende Beispielprogramm lässt sich compilieren und ausführen. Wie erwartet erscheint ein leeres Fenster.

    #include <stdlib.h>
    #include <gtk/gtk.h>
    #include <windows.h>
    
    int WINAPI
    WinMain (HINSTANCE hThisInstance,
             HINSTANCE hPrevInstance,
             LPSTR lpszArgument,
             int nFunsterStil)
    {
      GtkWidget *fenster;
    
      g_log_set_handler ("Gtk", G_LOG_LEVEL_WARNING,
                        (GLogFunc) gtk_false, NULL);
      gtk_init (&_argc, &_argv);
      g_log_set_handler ("Gtk", G_LOG_LEVEL_WARNING,
      g_log_default_handler, NULL);
    
     fenster = gtk_window_new(GTK_WINDOW_TOPLEVEL);
    
     gtk_signal_connect(GTK_OBJECT(fenster), "destroy",
                        GTK_SIGNAL_FUNC(gtk_main_quit),NULL);
    
     gtk_widget_show(fenster);
    
     gtk_main();
     return 0;
    }
    

    Nun möchte ich einen Text in dieses Fenster schreiben ohne Textboxen etc. Unter Windows musste ich hierzu die WM_PAINT-Message in der Fensterprozedur abfangen und konnte dann mit TextOut ( ) einen beliebigen Text ausgeben.
    Wie funktioniert das mit GTK+ ? Benötige ich hierfür GDK-Funktionen ?

    Ich denke dass ich hier (ähnlich wie unter Windows) eine Funktion programmieren muss, die bei einem bestimmten Signal aufgerufen wird. In dieser Funktion gebe programmiere ich dann die Textausgabe. Aber wie ??

    Vielleicht hat jemand hier Erfahrung.

    Viele Grüße

    d_A


Anmelden zum Antworten