首页 > 用户发贴区 > 编程问题提问区 > 求助:函数textmode()的具体意义。
2006
08-27

求助:函数textmode()的具体意义。

【问题描述】:在看别人的代码时,发现调用了函数 textmode(C40);只知道是控制台的一种显示模式,具体意义不太明白,查了一下,是conio.h里的函数,在网上搜了一下,仍未找到其具体描述。请高手指教。还想问一下,如果下次再遇到类似的问题,应该从那里查一些资料?   谢谢!!


求助:函数textmode()的具体意义。》有 7 条评论

  1. cboy 说:

    textmode

      原型:extern void textmode(int mode);
    
      用法:#include <system.h>
    
      功能:设定屏幕模式
    
      说明:请参见UpdateLCD中关于mode的含义。
            textmode会影响屏幕上已有内容的显示。
    
      举例:
    
          // textmode.c
    
          #include <system.h>
    
          main()
          {
            int c;
    
            clrscr();
            textmode(0×00);
            printf(“Hello, world!\n”);
            getchar();
    
            textmode(0xE0);
            printf(“Hi, this is the next mode\n”);
    
            getchar();
            return 0;
          }
    

    原型:extern void UpdateLCD(unsigned int mode);
                  
      用法:#include <system.h>
     
      功能:以指定模式刷新屏幕
     
      说明:文曲星屏幕可以按大行(行高16点)或小行(行高8点)显示。
            以CC300的屏幕为例,液晶分辨率为112*48即横向可显示112点,纵向可显示48点
            由于一个大行占据16点,小行占据8点,故可显示48/16=3大行,或48/8=6小行。
            大行和小行可以同屏显示。具体哪一行为大行,娜一行为小行由mode来决定。
            mode低字节从bit7-bit0每一位代表一行,为1表示大行,为0表示小行。举例如下:
            mode值     对应二进制值      屏幕显示状态
            0xE0        11100000         三大行
            0xC0        11000000         两大行,两小行
            0×80        10000000         一大行,四小行
            0×00        00000000         六小行
            0×20        00100000         两小行,一大行,两小行
            0×40        01000000         一小行,一大行,三小行
            …
           
            以此类推。
     
      举例:

          // TextOut.c
         
          #include <system.h>

          main()
          {
            clrscr();
            printf(“Line 1\n”);
            printf(“Line 2\n”);
            printf(“Line 3\n”);
            printf(“Line 4\n”);
            printf(“Line 5\n”);
            printf(“Line 6\n”);
           
            UpdateLCD(0×00);         // all are visible
            getchar();
            UpdateLCD(0xE0);         // only first 3 lines visible
            getchar();
            UpdateLCD(0×40);         // line 6 invisible
            getchar();
            UpdateLCD(0×20);         // line 6 invisible

            getchar();
            return 0;
          }
    直接上百度。输入函数名就行了。

    以上内容来自

    http://apple.upc.edu.cn/Online/clib/system/UpdateLCD.html

  2. 冰的热度 说:

    textmode

    头文件: conio.h

    功能:设置字符显示模式

    原形:void textmode(int newmode);

    参数取值:

    lastmode      =-1        上次模式

    BW40          =0             40列黑白

    C40             =1             40列彩色

    BW80          =2              80列黑白

    C80             =3              80列彩色

    M0N0          =7               80列单色

     

  3. ymynotg 说:

    多谢楼上二位:

    to cboy:

    这个资料我也搜到了,但这只是用该函数举了一个例子,其具体内容还是不太明白, UpdateLCD函数说的是“文曲星屏幕”,我不知道是否对我有用。

    to 冰的热度

    这倒是我想要的东西,但还是有点云里雾里的。

    我想是不是我的基础太差了,应该去仔细看一下有关图形函数的知识。其实我的本意只是想知道一下这个函数的大概意思,能看懂代码的意思就行了。

  4. xstar 说:

    http://it.jit.edu.cn/kc/t/jpkc/第11章-图形设计.doc

    http://it.jit.edu.cn/kc/t/jpkc/%E7%AC%AC11%E7%AB%A0-%E5%9B%B E%E5%BD%A2%E8%AE%BE%E8%AE%A1.doc

    这里估计有你需要的东西.

    在函数textmode()使用时,参数mode可以是文本模式名,也可以是文本模式代码,例如,下面的程序代码都是设置文本模式为彩色、40*25

    textmode(1);
    textmode(C40);


    文本模式名称< ?:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" />< ?:NAMESPACE PREFIX = O />

    文本模式代码

    坐标行列数

    颜色模式

    BW40

    0

    40*254025行)

    黑白

    C40

    1

    40*254025行)

    彩色

    BW80

    2

    80*258025行)

    黑白

    C80

    3

    80*258025行)

    彩色

    MONO

    7

    80*258025行)

    单色

    LASTMODE

    -1

    上一次的行列数

    上一次的颜色模式

  5. 冰的热度 说:

    不愧是版主,知道的就是多

  6. xstar 说:

    是刚好知道,呵呵!

  7. ymynotg 说:

    感谢版主,没有比这更合适的答案了!!!!

    永远支持版主,永远支持c语言帝国。

留下一个回复