Hi!
Das Problem besteht wohl darin, wie Du die Maus-Events maskiert hast und Standard-Ausgabe Funktionen wie cout verwendet hast. Unter Ncurses sollten nur die dafür bestimmten Ausgaberoutinen wie z.B. mvwprintw verwendet werden.
So sollte es eigentlich funktionieren.
Code:
#include <stdio.h>
#include <ncurses.h>
int main ()
{
MEVENT mymouse;
WINDOW *mywin;
initscr ();
noecho();
mywin = newwin (LINES,COLS, 0,0);
mousemask(ALL_MOUSE_EVENTS,NULL);
do {
wrefresh (mywin);
wgetch (mywin);
werase(mywin);
if (getmouse (&mymouse)==OK)
{
mvwprintw(mywin,1,1,"OK\n");
}
else
{
mvwprintw(mywin,1,1,"Fehler\n");
}
} while (1);
//Routinen zum zerstören des Fensters....
endwin();
echo();
return 0;
}
btw: Bitte immer Code-Tags benutzen.
Und noch ein Wort an die C++ Leute: Bitte wenn möglich die Reihenfolge von Deklaration und Initialisierung beachten und nicht mitten im Code Variablen definieren, auch wenn es unter C++ zugegebenermaßen erlaubt ist (vertehe bis heute nicht warum) erschwert es mir die Fehlersuche und ggf. die Portierung nach C doch immens.
GreetZ
ReSeT
Lesezeichen