使用鼠标控制终端的c++

Control Terminal using the Mouse C++

本文关键字:c++ 终端 控制 鼠标      更新时间:2023-10-16

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

我希望能够在Ubuntu操作系统上使用它。谢谢你的建议。

我建议您使用C库之一。诅咒或护士。关于一些带有护士的鼠标例子,请看: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);  
}