begin process at 2012 05 28 11:15:12
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Archive C/C++

 > 

Archives

 > 

GTK+

 > 

Aide event gtk+ / dev cpp / c++


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Aide event gtk+ / dev cpp / c++

mercredi 19 janvier 2005 à 21:13:06 | Aide event gtk+ / dev cpp / c++

Toxiko

Ceci est le constructeur de ma case pour un jeu de plateau
j'aurais aimé pouvoir appeler une fonction qui change l'image (gui_case::set(int i))



[cpp]
gui_case::gui_case(GtkWidget *table, int *x, int *y)
{
  my_table = table;
  myx = *x;
  myy = *y;
  my_case = gtk_image_new_from_file("empty.bmp");
  gtk_widget_show (my_case);
  gtk_table_attach_defaults (GTK_TABLE(my_table), my_case, myx, myx + 1, myy, myy + 1);
  g_signal_connect ((gpointer) my_case, "button_press_event",
                   G_CALLBACK(callback_case),
                   (void*)this
                  );
}
[/cpp]


j'utilise une fonction statique, callback_case pour appeler this->set(1);


[cpp]
static void callback_case(GtkMenuItem     *menuitem,
                             gpointer         data)
{
    gui_case *toto;
    toto = (gui_case*)data;
    toto->set(1);
}
[/cpp]


Seulement ca ne fonctionne pas, noté que j'ai du mal avec les pointeur et que je fait tout un trafique pour passé le pointeur this dans g_signal_connect et dans callback_base pour que ca compil :p


Ici le header gui_case.h



[cpp]
#ifndef GUI_CASE_H
#define GUI_CASE_H
#include <gtk/gtk.h>
#ifdef HAVE_CONFIG_H
#  include <config.h>
#endif

class gui_case
{
    private:
        GtkWidget *my_case;
        GtkWidget *my_table;
        int myx;
        int myy;
        //static void callback_case(GtkMenuItem     *menuitem,
        //                   gpointer         data);
    public:
        gui_case(GtkWidget *table, int *x, int *y);
        void set(int i);
};

static void callback_case(GtkMenuItem     *menuitem,
                             gpointer         data);
#endif
[/cpp]


Evidemment kan je click sur la case rien ne se passe =( (la fonction gui_case::set(1) marche pourtant)
merci de votre aide ;)



Cette discussion est classée dans : table, int, case, cpp, gui


Répondre à ce message

Sujets en rapport avec ce message

Dumb debutant [ par akumageorges ] Bonjour tout le monde,je suis nouveau dans le site et debutant en programmation(utilisant C++).J'ecris juste pour demande de l'aide dans la constructi problème avec les templates [ par vecchio56 ] J'ai un petit problème en voulant compiler ceci (avec visual C++ 6): ////////////////////////////////////// Truc.htemplate class Truc{public: Truc(in C++ switch [ par blastmanu ] Bonjour tt le monde!Et oui j'ai encore une question je voudrais savoir si il est possible de declarer une variable a l'interieur d'une boucle switchpa pourkoi sa marche pas [ par nazca ] Le Zero de la programmationNazcaj'aimerais savoir pourkoi on ne pe pas faire une boucle avecla difference entre 2 heures.voici le code:{ CDialog::OnOK Ou est l'erreur [ par nazca ] Le Zero de la programmationNazcaj'aimerai savoir ou est l'erreur de mon programme,surtout pourkoi j'ai pas le droit de mettre Diff dans ma boucle Nomb table dynamique et ficher xml (xmlparser) en C++ [ par Armandopoulos ] Bonjour à tous, Je voudris bien stocker des données (int,float,double,string,....) dans un fichier xml et pouvoir les lire a chaque fois ue je souhai Bouton fermer [ par PsyCaDi ] Je viens de créer un projet en VC6 et lorsque j'ai lancé la fenêtre, la croix rouge pour fermer, ne sert à rien.Idem si je fait clique droit et Fermet Prob de modulo ou de code ? [ par NeoZ ] Salut, je voudrais stocker un nombre dans un tableau, ou tout du moins, stocker chaque chiffre dans une variable, et j'ai fait ce bout de code, mais i bitte hilfe!!!!!!!!! [ par sansan_2 ] Bonjour!!!!!!!! le programme c est un FIFO (ringpufffer) et j aimerais avoir une amelioration. Apres execution du programme, faire une tabulation, un Erreur: invalid use of `this' in non-member function & `int' is not an aggregate type [ par GrosTony ] Bonjour,J'ai un problème avec une Classe C++, voici le tracé des erreurs :$ makeg++ -c -O4 -W -g -Wall -o Nuage.o Nuage.cppNuage.cpp:4: ISO C++ forbid


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

Photothèque

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,827 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales