Hetken jo luulin osaavani monolla ohjelmoida, mutta sitten en löytänyt ratkaisua.
Googlenkaan avulla en löytänyt helppoa esimerkkiä, jolla saadaan hiiren paikkatiedot.
Drag- ja drop-eventit saattaisivat riittää, mutten osaa niitäkään käyttää.
Olen yrittänyt näitä viestinkäsittelijöitä käyttää Gtk.Image - luokan avulla.
Jos joku osaa, niin voisikos valaista.
Koodi, jota olen yrittänyt
...
// Viestinkäsittelijäni
void dragmuuve_event (object o, DragMotionArgs args) {
editbox.Buffer.Text = "("+args.X+","+args.Y+")";
}
...
...
image = new Gtk.Image("/home/ma/Data/images/kuva.png");
box2.PackStart (image , true, true, 0);
image.ShowAll();
image.DragMotion += new DragMotionHandler(dragmuuve_event);
...
Elikkäs widgettiä olen yrittänyt vääntää.
Edit - näyttää siltä, että minä en saa mitään monimutkaisempaa viestiä vastaanotettua.
Tämäkään ei toimi.
...
void buttonpress_event (object o, ButtonPressEventArgs args) {
Console.WriteLine("Clickked");
}
...
...
// ja alustus tällainen
image = new Gtk.Button("tiedosto.bmp");
box2.PackStart (image , true, true, 0);
((Widget)image).ButtonPressEvent += new ButtonPressEventHandler (buttonpress_event);
...
Miksi sitten tämä toimii?
...
void click_event (object o, EventArgs args) {
Console.WriteLine("Click");
}
...
...
// alustus tällainen
image.Clicked += new EventHandler (click_event);
image.ShowAll();
...
T.s. minulla on vaikeuksia saada monimutkaisemmat viestit vastaanotettua.