Bonjour,
je poste un message ici car cela fait quelques jours que je galère sur un problème avec GTK et C. Je cherches à récupérer la position d'un clic dans une zone de dessin située dans une fenêtre avec une barre de défilement verticale (GTK_SCROLLED_WINDOW). Le problème est le suivant: quel que soit l'état de la barre de défilement, le résultat de la fonction gdk_window_get_pointer, qui permet d'obtenir les coordonnées x et y d'un clic, ne change pas. Ainsi, que la fenetre de défilement soit tout en bas ou tout en haut, le résultat du clic sera toujours relatif à la fenetre du programme et non à la fenêtre de défilement, qui y est incluse.
Je précise que le signal button_press_event est rattaché à la zone de dessin.
Après quelques recherches, j'ai trouvé que grâce à la fonction gtk_scrolled_window_get_vadjustment, on pouvait obtenir une structure de type GtkAdjustment contenant normalement les paramètres relatifs à une barre de défilement. Ceux-ci sont toute fois inutilisable (ils changent à chaque fois) et leur valeur n'est pas logique à mon sens: L'un des champ s'appelle value et est sensé indiquer la position de la barre. Sa valeur de départ est 0, mais dès le premier "clic" de molette, sa valeur avoisine les milliards. quelques clics plus tard, on se retrouve dans les entiers négatifs du meme ordre de grandeur.
Quelqu'un a-t-il déjà fait face à ce problème ? Si oui, j'aimerais qu'il me fasse partager son expérience de programmeur.
Je vous remercie d'avance,
Phyn04
PS: désolé pour le double post je n'avais pas vu ce sous forum.
Partager