使用Mouse C ++控制终端

时间:2011-11-19 05:20:50

标签: c++ ubuntu mouseevent

所以我想知道如何制作它以便我可以使用鼠标选择图形中的坐标,类似于在网站上选择单元格时发生的效果http://demos.sftrabbit.co.uk/game-of-life/

我希望能够在Ubuntu OS上使用它。感谢您的任何提示。

1 个答案:

答案 0 :(得分:3)

我建议您使用其中一个C库。无论是诅咒还是诅咒。对于一些使用ncurses的鼠标示例,请查看: http://tldp.org/HOWTO/NCURSES-Programming-HOWTO/mouse.html

这是一个简单的示例,可以将您点击的每个位置转换为“X”:

#include "ncurses.h"
#include <cstdlib>

MEVENT mev;

void quit(void)
{
    endwin();
}

int main(void)
{
  initscr();
  atexit(quit);
  clear();
  noecho();
  curs_set(0);
  cbreak();
  keypad(stdscr, TRUE);
  start_color();
  mousemask(BUTTON1_CLICKED, 0);

  mvaddstr(5, 3, "Click to turn a character into an 'X'");
  refresh();

  for(;;)
  {
    if(getch() == KEY_MOUSE && getmouse(&mev) == OK)
    {
    mvaddch(mev.y,mev.x,'X');
    refresh();
    }
  }   
  return (0);  
}