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 :

Redimensionner les fenêtres


Sujet :

GTK+ avec C & C++

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    108
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2007
    Messages : 108
    Par défaut Redimensionner les fenêtres
    Bonjour,

    J'aimerais savoir si quelqu'un parmi vous peux m'aider à éclaircir quelques subtilités du redimensionnement des GtkWidget:

    J'ai une application qui fonctionne bien quand je la laisse en dimensionnement par défaut. Seulement après son lancement, on est obligé de redimensionner les fenêtres car la zone DrawingArea est pratiquement réduite à la hauteur nulle par défaut.
    Pour éviter cet inconvénient, j'ai utilisé "gtk_widget_set_size_request(widget, x, y)" pour initialiser cette zone DrawingArea à une dimension acceptable au départ. Mon problème est qu'après cela, je constate qu'on peut toujours agrandir cette fenêtre mais on ne peut plus la réduire.
    Cette contrainte: réduction de la dimension impossible après initialisation elle-t-elle normale ? Si oui, comment faire pour l'éviter ?

    Merci à l'avance et cordialement.

  2. #2
    Membre confirmé
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    176
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 176
    Par défaut
    gtk_widget_set_size_request ()

    void gtk_widget_set_size_request (GtkWidget *widget,
    gint width,
    gint height);

    Sets the minimum size of a widget; that is, the widget's size request will be width by height.

    In most cases, gtk_window_set_default_size() is a better choice for toplevel windows than this function; setting the default size will still allow users to shrink the window. Setting the size request will force them to leave the window at least as large as the size request.
    Pour répondre à ta question, c'est normal avec cette fonction que la réduction soit impossible...

    Je suis confronté au même problème que toi avec les Drawing Area, et je n'ai toujours pas de solution lol !

    Tu peux peut être essayer de mettre l'area dans une table avec GTK_EXPAND|GTK_FILL, j'ai un semblant de solution grace aux tables (le redimensionnement est automatique et la table permet que l'area ne prenne pas toute la place de la fenetre disponible).

    Mais pour fixer une dimension initiale précise, je nage toujours lol!

  3. #3
    Expert confirmé
    Avatar de gerald3d
    Homme Profil pro
    Conducteur de train
    Inscrit en
    Février 2008
    Messages
    2 308
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Conducteur de train
    Secteur : Transports

    Informations forums :
    Inscription : Février 2008
    Messages : 2 308
    Billets dans le blog
    5
    Par défaut
    C'est à vous de gérer le re-dimensionnement si on peut dire. Le fait de fixer une taille au départ ne pose pas de problème par la suite. Je vous donne en exemple le code que j'utilise pour une interface graphique pour un jeu de dames:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    void affichage_dessin(GtkWidget *Zone_dessin, GdkEventExpose *event, gpointer user_data)
    {
      static gint width=0;
      static gint height=0;
      if ((Zone_dessin->allocation.width != width)
           || (Zone_dessin->allocation.height !=height))
      {
         width=Zone_dessin->allocation.width;
         height=Zone_dessin->allocation.height;
      }
    // ici vous dimensionnez votre GtkDrawingArea avec les nouvelles valeurs width et height.
    }
    Cette fonction CALLBACK est associée au signal "expose-event" du GtkDrawingArea.

Discussions similaires

  1. Redimensionner les autres fenêtres
    Par egrisel dans le forum Agents de placement/Fenêtres
    Réponses: 2
    Dernier message: 11/11/2009, 17h15
  2. Réduire les fenêtres sur un seul moniteur : possible ?
    Par mat087 dans le forum Autres Logiciels
    Réponses: 1
    Dernier message: 08/11/2005, 00h35
  3. Redimensionner les images dans un tableau
    Par cyke37 dans le forum Général JavaScript
    Réponses: 10
    Dernier message: 13/10/2005, 19h19
  4. Réponses: 1
    Dernier message: 26/02/2005, 12h55
  5. Manipuler les fenêtre d'un shell en c
    Par Gential dans le forum C
    Réponses: 2
    Dernier message: 24/10/2003, 09h04

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