[C/Gtk] gtk_window_set_resizable ???

gtk_window_set_resizable ??? [C/Gtk] - C - Programmation

Marsh Posté le 09-04-2004 à 16:46:33    

Bonjour,
 
Je me mets doucement au gtk mais des le début je rencontre un difficulté...
Certes elle n'est essentielle mais qd même:
 
En fait je crée une fenetre je la dimensionne etc. et je decide que l'utilisateur ne peut pas la redimensionnée
 
Dans un premier temps je créé ma fenetre *pépére* (elle est comme je le veut) puis je rajoute

Code :
  1. gtk_window_set_resizable (GTK_WINDOW(pWindow), FALSE)


 
et là je me retrouve avec une fenetre de 2x2 pixels (environ) [:atog]  
 
voici le code:

Code :
  1. #include <stdlib.h>
  2. #include <gtk/gtk.h>
  3. void fermerFenetre(GtkWidget *pWidget, gpointer pData);
  4. int main(int argc,char **argv)
  5. {
  6.   /* Declaration du widget */
  7.   GtkWidget *pWindow;
  8.   /* Initialisation du Gtk */
  9.   gtk_init(&argc,&argv);
  10.   /* Creation de la fenetre avec des bordure*/
  11.   pWindow = gtk_window_new(GTK_WINDOW_TOPLEVEL);
  12.   /* Fenetre non retaillable */
  13.   //gtk_window_set_resizable (GTK_WINDOW(pWindow), FALSE);
  14.   /* Definition de la position */
  15.    gtk_window_set_position(GTK_WINDOW(pWindow), GTK_WIN_POS_CENTER);
  16.   /* Definition de la taille de la fenetre */
  17.   gtk_window_set_default_size(GTK_WINDOW(pWindow), 250, 100);
  18.   /* Titre de la fenetre */
  19.   gtk_window_set_title(GTK_WINDOW(pWindow), "Modele de Fenetre" );
  20.   gtk_window_set_resizable (GTK_WINDOW(pWindow), FALSE);
  21.   /* Mise en place d'un ecouteur (du signal 'destroy" ) sur le bouton de fermeture de fenetre */
  22.   g_signal_connect(G_OBJECT(pWindow), "destroy", G_CALLBACK(fermerFenetre), NULL);
  23.   /* Affichage de la fenetre */
  24.   gtk_widget_show(pWindow);
  25.   /* Demarrage de la boucle evenementielle */
  26.   gtk_main();
  27.   return EXIT_SUCCESS;
  28. }
  29. void fermerFenetre(GtkWidget *pWidget, gpointer pData)
  30. {
  31.   /* Arret de la boucle evenementielle */
  32.   gtk_main_quit();
  33. }

[:dehors]

Reply

Marsh Posté le 09-04-2004 à 16:46:33   

Reply

Marsh Posté le 09-04-2004 à 23:14:52    

c'ets pas pour répondre à ta question, mais ou est-ce que tu a choppé gtk pour le langage C ?
http://www.gtk.org
moi j'ai choppé la version 2.4 ici, mais j'arrive pas à compiler, tu fait comment ? Il faut configurer le compilateur, mais j'ai bien rajouter les chemins, mais çà veux toujorus pas marcher (je suis sous DevC++ et visual C++6)
Tu pourrais m'expliquer comment ut as configurer le tout ?
J'ai déjà utiliser Gtk avec l'adad, et çà marche nikel, maintenant, j'essaie de l'utilisrr avec le C, mais bon, j'arrive po à compiler  :pfff:  
@++

Reply

Marsh Posté le 10-04-2004 à 16:59:03    

Bah pour moi c'est simple : linux power!
 
sinon http://www.linux-france.org/articl [...] k_tut.html

Reply

Marsh Posté le 10-04-2004 à 19:30:52    

Reply

Marsh Posté le 11-04-2004 à 14:02:37    

bon, j'ai enfin réussi à installer gtk, mais i lme marque toujours qu'il y a un problème dans la fenetre dos au lancement.
J'utilise beaucoup GTK en ADA et j'ai déjà eu ton problème.
En fait, c'ets simple, il faut que tu ais un objet dans ta fenetre, et tu lui defini sa taille.
Comme çà, ta fenetre se mettra de sa taille automatiquement.
S'il n'y a pas d'objet dedans, la fenetre est toute petite.
en ADA çà donne çà
 

Code :
  1. -- affiche une boite de dialogue
  2.       -- Création des objets
  3.       Gtk.Window.Gtk_New(Win);
  4.       Gtk.Fixed.Gtk_New(Fix);     
  5.       -- paramètres de la zone fixe
  6.       Gtk.widget.Set_USize(Gtk.Widget.Gtk_Widget(fix),250,200);
  7.       -- paramètres de la fenetre
  8.       Gtk.Window.Set_Title(WinTitre);
  9.       Gtk.Window.Set_Resizeable(Win,false);
  10.    
  11.       -- on attache les objets
  12.       Gtk.Window.Add(Win,Fix);
  13.  
  14.       -- on montre tout
  15.       Gtk.Window.Show_all(Win);


 
voilà, y'a plus qu'a changer çà en C, mais çà doit pas etre trop compliqué
@++


Message édité par GOUGOU1 le 11-04-2004 à 14:03:18
Reply

Marsh Posté le 11-04-2004 à 18:09:01    

ADA sux... je debute comme toi!

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed