Bonjour,
je souhaite afficher une fenetre sur une fenetre parent. Mais elle n’apparaît pas alors que le background est différent.
Je vous montre mon code :
#include <X11/Xlib.h>
#include <unistd.h>
#include <stdio.h>
#define NIL (0)
void main()
{
// Open the display
Display *dpy = XOpenDisplay(NIL);
int blackColor = BlackPixel(dpy, DefaultScreen(dpy));
int whiteColor = WhitePixel(dpy, DefaultScreen(dpy));
// Create the windows
Window w = XCreateSimpleWindow(dpy, DefaultRootWindow(dpy), 0, 0,
200, 100, 0, blackColor, blackColor);
fprintf(stdout, "window = %li\n", w);
Window w2 = XCreateSimpleWindow(dpy, w, 0, 0,
50, 50, 0, blackColor, whiteColor);
fprintf(stdout, "window2 = %li\n", w2);
// We want to get events
XSelectInput(dpy, w, ButtonPressMask | ButtonReleaseMask | KeyPressMask);
XSelectInput(dpy, w2, ButtonPressMask | ButtonReleaseMask | KeyPressMask);
// "Map" the window (that is, make it appear on the screen)
XMapWindow(dpy, w);
// Create a "Graphics Context"
GC gc = XCreateGC(dpy, w, 0, NIL);
// Tell the GC we draw using the white color
XSetForeground(dpy, gc, whiteColor);
// Wait for the MapNotify event
XEvent e;
for(;;) {
XNextEvent(dpy, &e);
fprintf(stdout, "receiving event %i, on window %li\n", e.type, e.xany.window);
if (e.type == ButtonPress)
{
if( e.xany.window == w)
{
fprintf(stdout, "button press from w\n");
}
else if (e.xany.window == w2)
{
fprintf(stdout, "button press from w2\n");
}
//break;
}
else if (e.type == ButtonRelease)
{
if( e.xany.window == w)
{
fprintf(stdout, "button release from w\n");
}
else if (e.xany.window == w2)
{
fprintf(stdout, "button release from w2\n");
}
//break;
}
else if (e.type == KeyPress)
{
fprintf(stdout, "KeyPress hihih\n");
}
else
{
//break;
}
}
}
le terminal me retourne :
window = 77594625
window2 = 77594626
et seul les events de la premiere premiere fenetre (w) sont détectés, sachant que graphiquement je ne vois pas le carré blanc de la fenetre w2
Merci d'avance pour votre aide
# au pif en lisant en travers
Posté par NeoX . Évalué à 4.
tu demandes à la fenetre w d'apparaitre
mais je ne vois pas la meme chose pour w2
[^] # Re: au pif en lisant en travers
Posté par cosmoff . Évalué à 2.
c'était ca merci beaucoup
Suivre le flux des commentaires
Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.