zoukankan      html  css  js  c++  java
  • 控制台布局编程小结

    1、设置屏幕缓冲区大小API:

    BOOL SetConsoleScreenBufferSize(
      HANDLE hConsoleOutput,
      COORD dwSize
    );

    2、设置窗口大小API:

    BOOL SetConsoleWindowInfo(
      HANDLE hConsoleOutput,
      BOOL bAbsolute,
      const SMALL_RECT* lpConsoleWindow
    );

    3、实例:

     HANDLE g_hStdout = GetStdHandle(STD_OUTPUT_HANDLE);  // 控制台窗口句柄

      COORD bufferSize = {0};
      SMALL_RECT windowSize = {0};
      bufferSize.X = 80;      // 默认
      bufferSize.Y = 25;      // 默认
      windowSize.Right = 80;   // 默认
      windowSize.Bottom = 25;  // 默认
      ::SetConsoleScreenBufferSize(g_hStdout, bufferSize);
      ::SetConsoleWindowInfo(g_hStdout, TRUE, &windowSize);

    注意:SetConsoleScreenBufferSize最好在SetConsoleWindowInfo前面,否则如果设置窗口的大小大于屏幕缓冲区大小的话,设置窗口大小失败。

    4、COORD 的X和Y成员都是SHORT,SMALL_RECT的LEFT、RIGHT、TOP、BOTTOM成员也是SHORT。理论上他们的设置数值范围是0-32767,实际上并非如此。X的范围是80到32766,Y的范围是25到32766,不在这个范围的话设置就失败了。RIGHT和BOTTOM的设置范围分别是从2到X-1,Y-1,当X、Y是25、80时,RIGHT和BOTTOM可以设置成跟XY一样大小,否则任何时候只能设置为比XY小1,不然就设置失败了。

  • 相关阅读:
    iOS沙盒机制
    iOS网络图片缓存SDWebImage
    iOS缓存到sandbox
    iOS缓存到内存
    网络语音技术
    iOS的影片播放 MediaPlayer 和 AVPlayer
    IOS上MediaPlayer framework实现视频播放
    线程间通信共享变量和queue
    如何进行多线程编程
    python的并发GIL 了解
  • 原文地址:https://www.cnblogs.com/yuohoo/p/wecan.html
Copyright © 2011-2022 走看看