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 :

réalisation d'une boite de dialogue


Sujet :

GTK+ avec C & C++

  1. #1
    Membre éprouvé
    Profil pro
    Inscrit en
    Novembre 2003
    Messages
    1 124
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2003
    Messages : 1 124
    Par défaut réalisation d'une boite de dialogue
    Bonsoir tout le monde

    Je souhaite réaliser des boite de dialogue dans mon apli.

    Structur.h

    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
     
    #include <stdlib.h>
    #include <gtk/gtk.h>
     
     
    #ifndef structure_H
    #define structure_H
     
    typedef struct 
    {
    GtkWidget *win;
     GtkWidget *vbox;
    GtkWidget *menuiteminfo;
    GtkWidget *menu;
    }
     
    static void info(composant * e);
    void menu(composant * e);
    void regle(composant * e);
    #endif

    menu.c
    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
     
    #include <gtk/gtk.h>
    #include "structure.h"
     
    static void info(composant * e)
    {
     
    GtkWidget *dialog = NULL;     
     
    dialog = gtk_message_dialog_new (GTK_WINDOW (e->win), GTK_DIALOG_MODAL, GTK_MESSAGE_INFO, GTK_BUTTONS_CLOSE, "Mytext");     
    gtk_dialog_run (GTK_DIALOG (dialog));
    gtk_widget_destroy (dialog);     
     
     
    }
     
     
    void menu(composant * e)
    {
    e->menubar = gtk_menu_bar_new();
    e->menu = gtk_menu_new();
     
    e->menuiteminfo = gtk_menu_item_new_with_label("A propos de ...");
     gtk_menu_shell_append(GTK_MENU_SHELL(e->menu), e->menuitem);
     g_signal_connect (G_OBJECT(e->menuiteminfo),"activate",G_CALLBACK(info),NULL);
     
     
    }

    main.c

    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
     
    #include <stdlib.h>
    #include <gtk/gtk.h>
    #include <stdio.h>
    #include "structure.h"
     
     
    void menu(composant * e);
    static void info(composant * e);
    void regle(composant * e);
     
    int main (int argc, char *argv[])
    {
        composant e;
     
     
      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);
     
     
      e.win = gtk_window_new (GTK_WINDOW_TOPLEVEL);
      gtk_container_set_border_width (GTK_CONTAINER (e.win), 8);
      gtk_window_set_title (GTK_WINDOW (e.win), "text");
      gtk_window_set_position (GTK_WINDOW (e.win), GTK_WIN_POS_CENTER);
      gtk_widget_realize (e.win);
      gtk_window_maximize(GTK_WINDOW (e.win));
      g_signal_connect (e.win, "destroy", gtk_main_quit, NULL);
     
     
      e.vbox = gtk_vbox_new (FALSE, 6);
      gtk_container_add (GTK_CONTAINER (e.win), e.vbox);
     
     
     menu(&e);
     
     regle(&e);
     
     
      gtk_widget_show_all (e.win);
      gtk_main ();
      return 0;
    }
    Mon probleme est que ca refuse de s'executer.

    Je ne voix pas où se trouve l'erreur.

    Je vous signal que l'appli que je développe aura beaucoup de boites de dialogues, donc il faudrait que je voix comment on réalise des boites de dialogue quand on developpe des apli structuré.

    Merci

    Cordialement

    A bientôt

  2. #2
    Rédacteur
    Avatar de Franck.H
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Janvier 2004
    Messages
    6 951
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Haut Rhin (Alsace)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Service public

    Informations forums :
    Inscription : Janvier 2004
    Messages : 6 951
    Par défaut
    Avant de faire une application structurée, il faut déjà que tu apprennes à bien maîtrise la programmation modulaire, ca va mieux qu'au début mais c'est toujours pas trop ca !

    Surtout pour ceci:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    void menu(composant * e);
    static void info(composant * e);
    void regle(composant * e);
    Je ne vois pas trop ce que ca viens faire dans le fichier main.c, ce sont des fonctions de ton fichier structure.h.

    Ensuite, plus grave, tu as dans ton fichier structure.h des prototype de fonctions ... jusque là ok, rien de plus normal Mais en fait, si tu déclares une fonction comme static, celle-ci n'a strictement rien à faire ici, c'est une fonction privée et donc son prototype (pas obligatoire) doit se trouver dans le fichier du même nom mais portant l'extension *.c !

    Justement, parlons un peu de tes fichiers ... tu as un fichier structure.h ... ok, mais où se trouve sont fichier d'implémentation structure.c ? Je sais, tu as tout implémenté dans le fichier menu.c mais c'est pas bon, dans ce cas, renome ton fichier structure.h en menu.h ... telle sont les règles de la programmation modulaire mais là pour le moment c'est un peu du hasard que tu nous fait !

    Donc voilà le topo, si tu veux vraiment ta structure dans un header séparé du reste, soit fait-le mais les prototypes de fonctions qui s'y trouvent, ceux qui sont pour le module menu, mets-les dans un fichier menu.h, il va falloir apprendre à mieux organiser ton projet, tu peut t'aider de ceci:

    http://emmanuel-delahaye.developpez.com/codage.htm
    http://bien-programmer.blogspot.com/


    Bonne lecture
    Mon Site
    Ma bibliothèque de gestion des chaînes de caractères en C

    L'imagination est plus importante que le savoir. A. Einstein

    Je ne répond à aucune question technique par MP, merci d'avance !

  3. #3
    Membre éprouvé
    Profil pro
    Inscrit en
    Novembre 2003
    Messages
    1 124
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2003
    Messages : 1 124
    Par défaut
    bonjour tout le monde

    Si je laisse la structure.h, que dois je mettre dans la Structure.c

    De plus, dois je créer un fichier *.c pour les boites de dialogues.

    Merci

    Cordialement

    A bientôt

  4. #4
    Rédacteur
    Avatar de Franck.H
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Janvier 2004
    Messages
    6 951
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Haut Rhin (Alsace)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Service public

    Informations forums :
    Inscription : Janvier 2004
    Messages : 6 951
    Par défaut
    Citation Envoyé par argon
    Si je laisse la structure.h, que dois je mettre dans la structure.c
    Déjà, il faut faire plus qu'attention à la casse des caractères, le compilateur y est sensible. Si dans ton fichier tu n'as que la structure, il n'est bien évidement pas nécessaire d'avoir un fichier structure.c mais en générale, un fichier unique pour juste une structure, ca fait un peu trop fin comme découpage !

    Voilà en GTK+ comment j'organise une partie de mes modules:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
     
    main.c
       |___ gui (interface principale, menus et barre d'outils compris).
       |___ dlg (toutes les boîtes de dialogue).
       |___ prefs (gestion des préférences complètes du programme).
       |___ callback (tous les événements utilisateurs).
       |___ funcs (diverses fonctions appelées par tout le reste de l'application).
    Ceci biensûr pour des projets tout de même assez gros, ca va de soi.
    [/QUOTE]
    Mon Site
    Ma bibliothèque de gestion des chaînes de caractères en C

    L'imagination est plus importante que le savoir. A. Einstein

    Je ne répond à aucune question technique par MP, merci d'avance !

  5. #5
    Membre éprouvé
    Profil pro
    Inscrit en
    Novembre 2003
    Messages
    1 124
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2003
    Messages : 1 124
    Par défaut
    bonjour tout le monde

    Je veux savoir si c'est possible de faire un boite de dialogue pour acceder à des fichiers.

    Merci

    Cordialement

    A bientôt

  6. #6
    Rédacteur
    Avatar de Franck.H
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Janvier 2004
    Messages
    6 951
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Haut Rhin (Alsace)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Service public

    Informations forums :
    Inscription : Janvier 2004
    Messages : 6 951
    Par défaut
    Comme déjà dit, ce genre de réponse se trouvent en quelques secondes dans la ref de l'API de GTK+: GtkFileChooser
    Mon Site
    Ma bibliothèque de gestion des chaînes de caractères en C

    L'imagination est plus importante que le savoir. A. Einstein

    Je ne répond à aucune question technique par MP, merci d'avance !

  7. #7
    Membre éprouvé
    Profil pro
    Inscrit en
    Novembre 2003
    Messages
    1 124
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2003
    Messages : 1 124
    Par défaut
    Bonjour tout le monde

    J'ai fai ma premiere boite de dialogue

    Le code est dans dialogue.c

    Le voici
    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
     
    #include <stdlib.h>
    #include <gtk/gtk.h>
    #include "dialogue.h"
     
     
     
    void info(boite * b)
    {
    b->boiteinfo = gtk_message_dialog_new(GTK_WINDOW(b->win),GTK_DIALOG_MODAL, GTK_MESSAGE_INFO, GTK_BUTTONS_CLOSE,"Information");     
    gtk_window_set_position(GTK_WINDOW (b->boiteinfo),GTK_WIN_POS_CENTER);
    gtk_dialog_run(GTK_DIALOG(b->boiteinfo));     
    gtk_widget_destroy (b->boiteinfo);     
     
     
    }
    Je veux faire appel à info() depuis situé dans menu.c

    Voici le code.
    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
     
    Boite b;
     
    e->menuiconinfo = gtk_image_new_from_file("./icon/info_gif.gif");
     e->menuiteminfo = gtk_image_menu_item_new_with_label("A propos de ....");
     
      gtk_image_menu_item_set_image (
       GTK_IMAGE_MENU_ITEM (e->menuiteminfo),
       e->menuiconinfo
    );
     
     
     gtk_menu_shell_append(GTK_MENU_SHELL(e->menu), e->menuiteminfo);
    g_signal_connect(
          G_OBJECT( e->menuiteminfo),
          "activate",
          G_CALLBACK(info(&b)),
          NULL
       );


    L'erreur se situe g_signal_connect


    La voici

    void value not ignored as it ought to be
    Que puis je faire.

    Cordialement

    A bientôt

  8. #8
    Rédacteur
    Avatar de Franck.H
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Janvier 2004
    Messages
    6 951
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Haut Rhin (Alsace)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Service public

    Informations forums :
    Inscription : Janvier 2004
    Messages : 6 951
    Par défaut
    Salut ...


    Tu ne sais pas depuis le temps maintenant que tu utilises et pose des questions sur GTK+ que dans la fonction g_signal_connect, le 3° argument demande le nom de la fonction callback (uniquement le nom) et que le 4° argument lui, est une donnée qu'on veut transmettre à la fonction ?

    Mon Site
    Ma bibliothèque de gestion des chaînes de caractères en C

    L'imagination est plus importante que le savoir. A. Einstein

    Je ne répond à aucune question technique par MP, merci d'avance !

  9. #9
    Membre éprouvé
    Profil pro
    Inscrit en
    Novembre 2003
    Messages
    1 124
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2003
    Messages : 1 124
    Par défaut
    Bonsoir tout le monde

    Voici ce que j'ai essayé, mai ca ne fonctionne pas.

    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
     
     e->menuiconinfo = gtk_image_new_from_file("./icon/info_gif.gif");
     e->menuiteminfo = gtk_image_menu_item_new_with_label("A propos de ....");
     
      gtk_image_menu_item_set_image (
       GTK_IMAGE_MENU_ITEM (e->menuiteminfo),
       e->menuiconinfo
    );
     
     gtk_menu_shell_append(GTK_MENU_SHELL(e->menu), e->menuiteminfo);
    g_signal_connect(
          G_OBJECT( e->menuiteminfo),
          "activate",
          G_CALLBACK(info),
          (gpointer)e->win
       );
    Je rappel que la fonction info() est dans dialog.c

    Cordialement

    A bientôt

  10. #10
    Rédacteur
    Avatar de Franck.H
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Janvier 2004
    Messages
    6 951
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Haut Rhin (Alsace)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Service public

    Informations forums :
    Inscription : Janvier 2004
    Messages : 6 951
    Par défaut
    C'est une variable type:
    Ou bien un pointeur type:
    ??
    Mon Site
    Ma bibliothèque de gestion des chaînes de caractères en C

    L'imagination est plus importante que le savoir. A. Einstein

    Je ne répond à aucune question technique par MP, merci d'avance !

  11. #11
    Rédacteur
    Avatar de Franck.H
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Janvier 2004
    Messages
    6 951
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Haut Rhin (Alsace)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Service public

    Informations forums :
    Inscription : Janvier 2004
    Messages : 6 951
    Par défaut
    Un prototype correct pour ta fonction serait plutôt:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    void info (GtkWidget * widget, gpointer data);
    C'est un minimum requis par GTK+ pour les fonctions callback (désolé, j'avais pas fait attention à ce détail tout de suite) !
    Mon Site
    Ma bibliothèque de gestion des chaînes de caractères en C

    L'imagination est plus importante que le savoir. A. Einstein

    Je ne répond à aucune question technique par MP, merci d'avance !

  12. #12
    Membre éprouvé
    Profil pro
    Inscrit en
    Novembre 2003
    Messages
    1 124
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2003
    Messages : 1 124
    Par défaut
    Re

    Euh la je ne sais plus quoi faire, que dois je modifier exactement.

    La fonction info dans dialog .c et dans dialog.h

    merci

    A +

  13. #13
    Rédacteur
    Avatar de Franck.H
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Janvier 2004
    Messages
    6 951
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Haut Rhin (Alsace)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Service public

    Informations forums :
    Inscription : Janvier 2004
    Messages : 6 951
    Par défaut
    Citation Envoyé par argon
    Re

    Euh la je ne sais plus quoi faire, que dois je modifier exactement.

    La fonction info dans dialog .c et dans dialog.h

    merci

    A +
    Oui, commence déjà par la modifier comme je l'ai indiqué.
    Puis répond aussi à ma question précédente si ca marche toujours pas
    Mon Site
    Ma bibliothèque de gestion des chaînes de caractères en C

    L'imagination est plus importante que le savoir. A. Einstein

    Je ne répond à aucune question technique par MP, merci d'avance !

  14. #14
    Membre éprouvé
    Profil pro
    Inscrit en
    Novembre 2003
    Messages
    1 124
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2003
    Messages : 1 124
    Par défaut
    Re

    Ca ne fonctionne pas, j'ai une erreur lors de l'execution.

    J'ai modiffié le code.

    Dans dialogue.h
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    #include <stdlib.h>
    #include <gtk/gtk.h>
     
    #ifndef dialogue_H
    #define dialogue_H
     
     
    void info(GtkWidget * widget, gpointer data);
    #endif
    Dans dialogue.c
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    void info(GtkWidget * widget, gpointer data)
    {
    GtkWidget  *boiteinfo;
    GtkWidget *win;
     
    boiteinfo = gtk_message_dialog_new(GTK_WINDOW(win),GTK_DIALOG_MODAL, GTK_MESSAGE_INFO, GTK_BUTTONS_CLOSE,"Information");     
    gtk_window_set_position(GTK_WINDOW (boiteinfo),GTK_WIN_POS_CENTER);
    gtk_dialog_run(GTK_DIALOG(boiteinfo));     
    gtk_widget_destroy (boiteinfo);     
     
     
    }
    Dans menu.c

    Je ne mais que g_signal_connect du menuitem concerné.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    g_signal_connect(
          G_OBJECT( e->menuiteminfo),
          "activate",
          G_CALLBACK(info),
          (gpointer)e->win
       );
    A+

  15. #15
    Rédacteur
    Avatar de Franck.H
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Janvier 2004
    Messages
    6 951
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Haut Rhin (Alsace)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Service public

    Informations forums :
    Inscription : Janvier 2004
    Messages : 6 951
    Par défaut
    Si tu passe un paramètre à la fonction il faudrais peut-être le récupérer non ?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    void info(GtkWidget * widget, gpointer data)
    {
       GtkWidget *boiteinfo = NULL;
       GtkWidget *win = GTK_WIDGET (data);
     
     
       boiteinfo = gtk_message_dialog_new(GTK_WINDOW(win),GTK_DIALOG_MODAL, GTK_MESSAGE_INFO, GTK_BUTTONS_CLOSE,"Information");
     
       gtk_window_set_position(GTK_WINDOW (boiteinfo),GTK_WIN_POS_CENTER);
       gtk_dialog_run(GTK_DIALOG(boiteinfo));     
       gtk_widget_destroy (boiteinfo);       
    }
    Sinon donne moi aussi l'erreur qu'il te renvoie sur la console sinon moi j'y vais à tâton
    Mon Site
    Ma bibliothèque de gestion des chaînes de caractères en C

    L'imagination est plus importante que le savoir. A. Einstein

    Je ne répond à aucune question technique par MP, merci d'avance !

  16. #16
    Membre éprouvé
    Profil pro
    Inscrit en
    Novembre 2003
    Messages
    1 124
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2003
    Messages : 1 124
    Par défaut
    Re

    Merci ca fonctionne.

    J'ai deux dernieres question.

    Comment ajouter un titre à la boite de dialogue, est ce quil faut ajouter gtk_about_dialog_get_name

    J'ai vue ca ici.

    http://developer.gnome.org/doc/API/2...outDialog.html


    Peut on ajouter n'importe quel composants(zone de texte, hidden, image,..ect) sur une boite de dialogue

    A+

  17. #17
    Rédacteur
    Avatar de Franck.H
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Janvier 2004
    Messages
    6 951
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Haut Rhin (Alsace)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Service public

    Informations forums :
    Inscription : Janvier 2004
    Messages : 6 951
    Par défaut
    Citation Envoyé par argon
    Re

    Merci ca fonctionne.

    J'ai deux dernieres question.

    Comment ajouter un titre à la boite de dialogue, est ce quil faut ajouter gtk_about_dialog_get_name

    J'ai vue ca ici.

    http://developer.gnome.org/doc/API/2...outDialog.html
    Heu si c'est bien une GtkAboutDialog que tu veux faire et non pas une GtkMessageDialog comme dans ton code précédent, la fonction que tu proposes n'est pas celle là, d'ailleurs celle-ci est faite pour accéder et non pas pour définir.

    La propriété "name" que cette fonction gère est en fait le nom à afficher comme le nom du programme par exemple dans un label au début de la boîte de dialogue.

    Pour définir le titre (par défaut c'est "About" ou "A propos", suivant ta localisation en fait), il faut utiliser la fonction gtk_window_set_title, vu que GtkAboutDialog hérite directement d'un GtkWidow ca ne pose pas de problème pour utiliser cette fonction


    Citation Envoyé par argon
    Peut on ajouter n'importe quel composants(zone de texte, hidden, image,..ect) sur une boite de dialogue
    Dans un GtkDialog oui c'est sûr mais dans un GtkAboutDialog j'ai de sérieux doutes étant donné que le type GtkAboutDialog est un type opaque, il nous permet pas d'accéder (est même de connaître) à son conteneur (GtkVBox, etc...). Si tu veux vraiment faire une About Dialog personnalisée, je te conseil plutôt de la faire toi même à partir d'une simple GtkDialog

    Tu peux tout de même tester une chose. Vu que GtkAboutDialog hérite de GtkDialog, tu peux tester le cast de ta boîte style
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    GTK_DIALOG (ta_boite_about)->vbox
    pour accéder au conteneur mais je ne garantit rien du tout
    Mon Site
    Ma bibliothèque de gestion des chaînes de caractères en C

    L'imagination est plus importante que le savoir. A. Einstein

    Je ne répond à aucune question technique par MP, merci d'avance !

  18. #18
    Membre éprouvé
    Profil pro
    Inscrit en
    Novembre 2003
    Messages
    1 124
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2003
    Messages : 1 124
    Par défaut
    Re

    J'ai essayé pour le titre mai ca ne s'affiche pas.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    void info(GtkWidget * widget, gpointer data)
    {
    GtkWidget  *boiteinfo = NULL;
    GtkWidget *win = GTK_WIDGET (data);
     
    boiteinfo = gtk_message_dialog_new(GTK_WINDOW(win),GTK_DIALOG_MODAL, GTK_MESSAGE_INFO, GTK_BUTTONS_CLOSE,"Information");     
    gtk_window_set_position(GTK_WINDOW (boiteinfo),GTK_WIN_POS_CENTER);
    gtk_dialog_run(GTK_DIALOG(boiteinfo));     
    gtk_widget_destroy (boiteinfo);     
    gtk_window_set_title ((boiteinfo),"titre");    
     
    }
    A +

  19. #19
    Rédacteur
    Avatar de Franck.H
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Janvier 2004
    Messages
    6 951
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Haut Rhin (Alsace)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Service public

    Informations forums :
    Inscription : Janvier 2004
    Messages : 6 951
    Par défaut
    Heu il faut utiliser la macro pour caster ton pointeur:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    gtk_window_set_title (GTK_WINDOW (boiteinfo),"titre");
    mais c'est vrai que c'est quelque chose que j'ai jamais essayé ... j'ai jamais utilisé les GtkAboutDialog
    Mon Site
    Ma bibliothèque de gestion des chaînes de caractères en C

    L'imagination est plus importante que le savoir. A. Einstein

    Je ne répond à aucune question technique par MP, merci d'avance !

  20. #20
    Membre éprouvé
    Profil pro
    Inscrit en
    Novembre 2003
    Messages
    1 124
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2003
    Messages : 1 124
    Par défaut
    Re

    Le titre ne s'affiche pas.

    A +

+ Répondre à la discussion
Cette discussion est résolue.
Page 1 sur 2 12 DernièreDernière

Discussions similaires

  1. Réponses: 6
    Dernier message: 18/06/2014, 13h29
  2. [MFC] rendre une boite de dialogue inactive
    Par Vestaproman dans le forum MFC
    Réponses: 8
    Dernier message: 22/01/2004, 14h09
  3. Affichage d'une boite de dialogue nonmodale avec MFC
    Par the.cable.guy dans le forum Windows
    Réponses: 3
    Dernier message: 04/07/2003, 17h59
  4. Réponses: 5
    Dernier message: 04/04/2003, 15h02
  5. Comment cree une boite de dialogue parcourir
    Par kenshi dans le forum MFC
    Réponses: 5
    Dernier message: 06/01/2003, 10h30

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