IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

GTK+ avec C & C++ Discussion :

plein écran en GTK


Sujet :

GTK+ avec C & C++

  1. #1
    Membre confirmé Avatar de doderic
    Homme Profil pro
    Inscrit en
    Mai 2004
    Messages
    215
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations professionnelles :
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2004
    Messages : 215
    Par défaut plein écran en GTK
    SAlut! j'aimerais savoir s'il est possible de faire du plein écran avec GTK? Si oui comment? Merci de me répondre

  2. #2
    Membre expérimenté

    Inscrit en
    Mai 2005
    Messages
    132
    Détails du profil
    Informations forums :
    Inscription : Mai 2005
    Messages : 132
    Par défaut Ma fonction
    Salut,

    oui, j'utilise le code svuivant :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    //fenetre, qui doit etre en "full screen"
    GtkWidget	*m_window;
     
    gboolean	m_fullscreen;     //c'est clair, n'est-ce pas ?
     
    //retenir dans mémoire pour "full screen" les dernieres valeurs
    gint	m_window_x;
    gint	m_window_y;
    gint	m_window_w;
    gint	m_window_h;
     
     
    void	CMapWindow::SwitchFullScreen ()
    {
     
    	if ( m_fullscreen )
    	{
    		gtk_widget_hide ( m_window );
    		gtk_window_set_type_hint ( GTK_WINDOW ( m_window ), GDK_WINDOW_TYPE_HINT_NORMAL );
    //		gtk_window_set_accept_focus ( GTK_WINDOW ( m_window ), TRUE );
    //		gtk_window_unfullscreen ( GTK_WINDOW ( m_window ) );
    		gtk_window_set_decorated ( GTK_WINDOW ( m_window ), TRUE );
    		gtk_window_move ( GTK_WINDOW ( m_window ), m_window_x, m_window_y );
    		gtk_window_resize ( GTK_WINDOW ( m_window ), m_window_w, m_window_h );
    	}
    	else
    	{
    		gtk_window_get_position ( (GtkWindow*)( m_window ), &m_window_x, &m_window_y );
    		gtk_window_get_size ( GTK_WINDOW ( m_window ), &m_window_w, &m_window_h );
    		gtk_widget_hide ( m_window );
     
    		gtk_window_set_decorated ( GTK_WINDOW ( m_window ), FALSE );
    		gtk_window_set_type_hint ( GTK_WINDOW ( m_window ), GDK_WINDOW_TYPE_HINT_DESKTOP );
    //		gtk_window_set_accept_focus ( GTK_WINDOW ( m_window ), TRUE );
    //		gtk_window_fullscreen ( GTK_WINDOW ( m_window ) );
     
    		gtk_window_move ( GTK_WINDOW ( m_window ), 0, 0 );
     
    		GdkScreen *screen = gtk_window_get_screen ( GTK_WINDOW ( m_window ) );
    		gtk_window_resize ( GTK_WINDOW ( m_window ), gdk_screen_get_width (screen), gdk_screen_get_height (screen) );
    	}
     
    	m_fullscreen = !m_fullscreen;
    	gtk_window_present ( GTK_WINDOW ( m_window ) );
     
    }
    Essaye ca et on verra :-)
    Bon courage. Fredy

    (Desole pour mon francais)

  3. #3
    Rédacteur

    Avatar de gege2061
    Femme Profil pro
    Administrateur de base de données
    Inscrit en
    Juin 2004
    Messages
    5 840
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 41
    Localisation : France

    Informations professionnelles :
    Activité : Administrateur de base de données

    Informations forums :
    Inscription : Juin 2004
    Messages : 5 840
    Par défaut
    Citation Envoyé par Fredy Kruger Voir le message
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    gboolean	m_fullscreen;     //c'est clair, n'est-ce pas ?
    Pas persuadé puisque la fenêtre est en plein écran quand m_fullscreen vaut false

    Bref, voici un code complet et minimale qui fait ça :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    #include <gtk/gtk.h>
     
    int main (int argc, char **argv)
    {
      GtkWidget *window = NULL;
     
      gtk_init (&argc, &argv);
     
      window = gtk_window_new (GTK_WINDOW_TOPLEVEL);
      gtk_window_set_decorated (GTK_WINDOW (window), FALSE);
      gtk_window_maximize (GTK_WINDOW (window));
      gtk_window_set_type_hint (GTK_WINDOW (window), GDK_WINDOW_TYPE_HINT_DESKTOP);
      g_signal_connect (G_OBJECT(window), "destroy", gtk_main_quit, NULL);
     
      gtk_widget_show_all (window);
      gtk_main ();
      return 0;
    }
    Et pour info quand on fait du C++, gtkmm c'est mieux :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    #include <gtkmm.h>
     
    class FSWindow : public Gtk::Window
    {
      public:
        FSWindow ()
        {
          this->set_type_hint (Gdk::WINDOW_TYPE_HINT_DESKTOP);
          this->set_decorated (false);
          this->maximize ();
        }
    };
     
    int main (int argc, char **argv)
    {
      Gtk::Main kit(argc, argv);
      FSWindow win;
      win.show_all ();
      kit.run(win);
      return 0;
    }

  4. #4
    Nouveau candidat au Club
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    2
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2008
    Messages : 2
    Par défaut Plein écran complet
    Je sais que ce sujet est ancien, mais
    au lieu de
    gtk_window_maximize()
    qui laisse apparaitre la barre des tâches,
    préférez
    gtk_window_fullscreen()

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. pyGtk et gtk.Dialog : comment passer à plein écran
    Par turboiii dans le forum GTK+ avec Python
    Réponses: 1
    Dernier message: 18/02/2013, 18h54
  2. Perte du device en plein écran
    Par Dranor dans le forum DirectX
    Réponses: 2
    Dernier message: 10/09/2003, 09h24
  3. Thread et affichage direct3D plein écran
    Par Harry_polin dans le forum DirectX
    Réponses: 8
    Dernier message: 13/03/2003, 22h22
  4. Réponses: 17
    Dernier message: 17/10/2002, 20h06
  5. plein écran
    Par patapetz dans le forum OpenGL
    Réponses: 9
    Dernier message: 21/08/2002, 14h15

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo