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
Mon probleme est que ca refuse de s'executer.
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; }
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
Partager