当前位置:  技术问答>linux和unix

关于类中使用CURSES的问题.请求帮助

    来源: 互联网  发布时间:2015-01-06

    本文导语:  我在main函数中初始化initscr和最后endwin 在main中调用类的成员函数,这个成员函数在 主窗口绘制上绘制子窗口和文本,如果不使用颜色 那还是正常的,可是我想在子窗口中使用颜色表示 这样我发现必须在main中初始化颜色...

我在main函数中初始化initscr和最后endwin
在main中调用类的成员函数,这个成员函数在
主窗口绘制上绘制子窗口和文本,如果不使用颜色
那还是正常的,可是我想在子窗口中使用颜色表示
这样我发现必须在main中初始化颜色函数:
start_color
init_pair
和颜色选取函数attron才能使得子窗口中的颜色输出正常
如果在子窗口中使用上面的函数,或在子窗口中使用attron函数
选取颜色都不行,为什么?谢谢

|
这是我写的一个小例子,注意如果用getch而不是wgetch的话,焦点就切到stdscr,win的显示就会被遮盖。你可以体会一下下面的代码:

  getch();
  touchwin(win->win);
  wrefresh(win->win);
  wgetch(win->win);

=============
#include 
#define WIN_BACK_COLOR 4

class Win{
private:
        int x, y, w, h, fColor, bColor;
public:
        WINDOW* win;
        Win(int x0, int y0, int w0, int h0){
                x=x0; y=y0; w=w0; h=h0;
                win = newwin(h, w, y, x);
        }
        ~Win(){
                delwin(win);
        }
        void SetColor(int f, int b){
                fColor = f;
                bColor=b;
        }
        void Show();
};

void Win::Show()
{
        init_pair(WIN_BACK_COLOR, fColor, bColor);
        wattron(win, COLOR_PAIR(WIN_BACK_COLOR));
        //move(y, x);
        box(win, ACS_VLINE, ACS_HLINE);
        mvwaddstr(win, 1, 1, "Hello, world");
        wrefresh(win);
        wgetch(win);
}

int main(int argc, char* argv[]){
  initscr();
  start_color();
  Win* win = new Win(15, 10, 40, 10);
  win->SetColor(COLOR_WHITE, COLOR_BLUE);
  win->Show();

  delete win;

  endwin();
  return 0;
}

    
 
 

您可能感兴趣的文章:

  • php使用请求头信息获取远程图片大小
  • 我刚刚安装了Fedora7,但却没有鼠标指针,但却可以使用.不知道为什么?请求高手指点?谢谢!
  • python中使用urllib2获取http请求状态码的代码例子
  • java使用httpclient模拟post请求和get请求示例
  • 使用jQuery中的when实现多个AJAX请求对应单个回调的例子分享
  • Android HttpClient GET或者POST请求基本使用方法
  • apache中使用mod_log_slow分析响应慢的请求
  • java使用httpclient发送post请求示例
  • 在red hat下,使用vim时,怎样才能得到在线的帮助,比如我想看一下scanf函数的帮助??
  • java:sun公司的联机帮助如何使用?
  • 请问如何使用sun的java帮助。
  • 我的linux下的键盘不能使用了,帮助啊!
  • 使用rsync遇到以下问题?谁能帮助我?
  • 哪里可以找到java类库方面的帮助文档,在JDK上使用!!!!!
  • 急需帮助 设备使用问题!
  • mail命令如何使用,man帮助太烦了,我只需简单的使用,如发mail,收mail
  • 关于mode_t参数的使用!!!祈求您的帮助···先谢谢了···
  • 高分求Source Insight 3.0以上版本的中文帮助或说明!另:能不能在Windows下直接使用SI编译C++工程?如能,该怎么做?谢谢!
  • 散点分,顺便问一下哪位有JavaScript的使用帮助资料<主要是里面的各种对象及方法属性的使用>
  • 请问与MSN等IM软件通信要用到pidgin里面的libpurple的使用方法~~跪地祈求帮助
  • 谁用过CacheRowSet这个类,能给我提供一些使用帮助吗?
  • 在j2ee平台上使用EJB的朋友们请帮助!
  • 帮助:samba和quota能一起使用吗??
  • 关于Jbuilder使用的一些问题,(新手请帮助)
  • docker中文入门学习手册 iis7站长之家
  • SQL 中sp_executesql存储过程的使用帮助
  • 关于线程的综合使用问题(希望你能帮助我哦^^)
  •  
    本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
    本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • 求助关于linux下无法使用curses.h类问题
  • 怎样在使用curses字符串输出函数或字符输出函数时,隐藏光标
  • ubuntu下使用curses编程出现的问题
  • 如何让输入字符不回显(不使用curses库)
  • C++ I/O 成员 tellg():使用输入流读取流指针
  • 在测试memset函数的执行效率时,分为使用Cash和不使用Cash辆种方式,该如何控制是否使用缓存?
  • C++ I/O 成员 tellp():使用输出流读取流指针
  • 求ibm6000的中文使用手册 !从来没用过服务器,现在急需使用它,不知如何使用! 急!!!!!
  • Python不使用print而直接输出二进制字符串
  • 请问:在使用oracle数据库作开发时,是使用pro*c作开发好些,还是使用库函数如oci等好一些啊?或者它们有什么区别或者优缺点啊?
  • Office 2010 Module模式下使用VBA Addressof
  • 急求结果!!假设一个有两个元素的信号量集S,表示了一个磁带驱动器系统,其中进程1使用磁带机A,进程2同时使用磁带机A和B,进程3使用磁带机B。
  • windows下tinyxml.dll下载安装使用(c++解析XML库)
  • c#中SAPI使用总结——SpVoice的使用方法
  • tcmalloc内存泄露优化c++开源库下载,安装及使用介绍
  • 使用了QWidget的程序,如何使用后台程序启动它?
  • sharepoint 2010 使用STSNavigate函数实现文件下载举例
  • 共享内存一般是怎么使用的,是同消息队列配合使用么
  • 使用libpcap读取tcpdump抓取的文件并解析c代码实例
  • Jsp可否使用带有GUI的JavaBean,如何使用?
  • c/c++预处理命令预#,##使用介绍
  • asp程序使用的access在Linux下如何使用!
  • 在div中使用css让文字底部对齐的方法
  • 新装的Linux使用root用户不能使用FTP?
  • Python namedtuple(命名元组)使用实例
  • LINUX下使用Eclipse,如何使用交叉编译器?


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3