我想做一个控制台窗口大小为80x25,把最低下一行留出来做输入命令,其余的用作输出显示
因为CSDN的论坛不能贴图,我只能用文本描画一下
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
&                                                                           &
&                                                                           &
&                                                                           &
2004-11-21  19:04    <DIR>          .                                       &
2004-11-21  19:04    <DIR>          ..                                      &
2004-11-21  18:33    <DIR>          「开始」菜单                            &
2004-11-21  19:04    <DIR>          My Documents                            &
2004-11-21  19:04    <DIR>          Favorites                               &
2004-11-21  18:33    <DIR>          桌面                                    &
2005-04-04  16:26             5,283 Unit1.obj                               &
2005-04-04  16:26           393,216 Unit1.tds                               &
2005-05-26  20:06                 0 sys.py                                  &
2005-04-04  16:26            50,176 Unit1.exe                               &
&                                                                           &
&---------------------------------------------------------------------------&
&>>>c       CD  CHDIR  CMD  CLS                                             &
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&假如"&"表示边框,最低下一行就是用来输入命令的,如果我输入c 就让他在后面自动提示出所有
C开头的命令,继续输入“H”,则只提示 CHDIR, 若此时敲空格键,则自动输入CHDIR命令
用过TRW或者SI的朋友应该能明白我的意思,我不知道具体如何做,高手指点,任何答复都是受
欢迎的。

解决方案 »

  1.   

    我现在的难点是:
    1  不知道如何及时高效的响应按键
    2  不知道如何专门留出一行来用作输入,上面的其他行专门用作输出,二者互不干扰
    就好像是在一个GUI的Window的最底下摆放一个Edit控件一样
      

  2.   

    控制台窗口界面控制设计 
    http://www.donews.net/zwell/articles/69226.aspx
      

  3.   

    首先,你要建立的是 console 应用程序,而不能建立 win32 应用程序。 console 应用程序的编程和DOS一样。1  不知道如何及时高效的响应按键   用 getch() 函数可以获得按键。2  不知道如何专门留出一行来用作输入,上面的其他行专门用作输出,二者互不干扰  
       
       你在内存中保留一个80*25的文本区,所有的屏幕改动都先写到内存里,然后把内存的内容整体复制到屏幕上去。
       别担心速度,现在的电脑做起这种事来快得你无法想象。
      

  4.   

    假如此时屏幕已满,再调用printf的时候默认是先将屏幕内容往上滚动一行,然后将printf的内容输出到最底下一行,我现在是想他每次调用printf的时候不要再最底下一行输出,而是在倒数第二行输出
      

  5.   

    非常感谢大家,特别感谢laiyiling,那个链接的资料对我很有用 ^_^
      

  6.   

    windows有一整套的console的API函数,可以去查看一下MSDN。我为一个网友解决过的一个问题(相类似的):
    http://community.csdn.net/Expert/topic/4024/4024817.xml?temp=.4571344
    只要调用相关的API函数就可以解决问题了。
      

  7.   

    呵呵,明白很多了,不过还有一个比较困难的问题,如何在控制台窗口中再创建一个子窗口,而不是两个控制台窗口,用过TC的朋友都知道在TC中打开Help菜单就会弹出一个子窗口来显示帮助内容,
    我这个要求比较特殊,就是子窗口在前端先后,控制台窗口在后台不停的滚动刷新内容而且不能影响到前端子窗口
    &&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
    &                                                                           &
    &                                                                           &
    &                                                                           &
    2004-11-21  19:04    <DIR>          .                                       &
    2004-11-21  19:04    <DIR>          ..                                      &
    2004-11-21  18:33    &&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&                    &
    2004-11-21  19:04    &                                 &                    &
    2004-11-21  19:04    &     This is a ChildWindow       &                    &
    2004-11-21  18:33    &                                 &                    &
    2005-04-04  16:26    &&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&                    &
    2005-04-04  16:26           393,216 Unit1.tds                               &
    2005-05-26  20:06                 0 sys.py                                  &
    2005-04-04  16:26            50,176 Unit1.exe                               &
    &                                                                           &
    &---------------------------------------------------------------------------&
    &>>>c       CD  CHDIR  CMD  CLS                                             &
    &&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
      

  8.   

    你是指在console中划出一个窗口来??
      

  9.   

    ---zhenyu362(阵雨) --
    子窗口前端显示一些字符,而原来的继续在后台滚动刷新,要求不会抹掉子窗口的内容,就是二者互不干扰
    如果是你自己想开发这么个程序,感觉你应该想到解决方案。
    开辟2块内存。你在内存中开辟2块文本区,互不干扰,显示的时候对二者进行重叠就可以了。