2025年OpenGL系统设计-全屏模式(1)

OpenGL系统设计-全屏模式(1)当你在运行一个程序时 总是希望可见的范围越大越好 不要有其他不需要的信息显示在屏幕上 这就涉及到了全屏 全屏总是一个激动人心的话题 在全屏状态下 我们可以对独占计算机系统资源 提高程序的运行效率 和窗口模式有区别的是 在设置全屏时还必须注意一些事项 首先 改变显示模式的函数是

大家好,我是讯享网,很高兴认识大家。

当你在运行一个程序时,总是希望可见的范围越大越好,不要有其他不需要的信息显示在屏幕上,这就涉及到了全屏。

全屏总是一个激动人心的话题。在全屏状态下,我们可以对独占计算机系统资源,提高程序的运行效率。和窗口模式有区别的是,在设置全屏时还必须注意一些事项。

首先,改变显示模式的函数是ChangeDisplaySettings,它是一个标准的Win32函数,其原型如下

 

LONG ChangeDisplaySettings(

  LPDEVMODE lpDevMode,  // graphics mode

  DWORD dwflags         // graphics mode options

);

 

lpDevMode指向一个描述转变图表的DEVMODE的指针。如果lpDevMode 为空,则程序使用当前注册表中保存的值作为显示模式设置的值。将lpDevMode设置成0,同时将dwFlags设置成0是将显示模式设置成缺省模式的最简单的办法。DEVMODE结构的具体内容如下

 

typedef struct _devicemode {

  BCHAR  dmDeviceName[CCHDEVICENAME];

  WORD   dmSpecVersion;

  WORD   dmDriverVersion;

  WORD   dmSize;

  WORD   dmDriverExtra;

  DWORD  dmFields;

  union {

    struct {

      short dmOrientation;

      short dmPaperSize;

      short dmPaperLength;

      short dmPaperWidth;

      short dmScale;

      short dmCopies;

      short dmDefaultSource;

      short dmPrintQuality;

    };

    POINTL dmPosition;

    DWORD  dmDisplayOrientation;

    DWORD  dmDisplayFixedOutput;

  };

 

  short  dmColor;

  short  dmDuplex;

  short  dmYResolution;

  short  dmTTOption;

  short  dmCollate;

  BYTE  dmFormName[CCHFORMNAME];


讯享网

  WORD  dmLogPixels;

  DWORD  dmBitsPerPel;

  DWORD  dmPelsWidth;

  DWORD  dmPelsHeight;

  union {

    DWORD  dmDisplayFlags;

    DWORD  dmNup;

  }

  DWORD  dmDisplayFrequency;

#if(WINVER >= 0x0400)

  DWORD  dmICMMethod;

  DWORD  dmICMIntent;

  DWORD  dmMediaType;

  DWORD  dmDitherType;

  DWORD  dmReserved1;

  DWORD  dmReserved2;

#if (WINVER >= 0x0500) || (_WIN32_WINNT >= 0x0400)

  DWORD  dmPanningWidth;

  DWORD  dmPanningHeight;

#endif

#endif /* WINVER >= 0x0400 */

} DEVMODE;

 

DEVMODEdmSize参数必须根据DEVMODE结构的大小设置,dmDriveExtra参数必须初始化来显示DEVMODE随后的驱动数据的字节数。另外还可以选用表11-1中的参数。

 

11-1

结构成员

含义

dmBitsPerPel

个像素的位数

dmPelsWidth

像素宽度

dmPelsHeight

像度高度

dmDisplayFlags

显示模式标志

dmDisplayFrequency

显示模式刷新频率

dmPosition

Windows 98/Me, Windows 2000/XP: 设备在多个显示器配置中的位置

小讯
上一篇 2025-01-04 22:06
下一篇 2025-02-07 21:39

相关推荐

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容,请联系我们,一经查实,本站将立刻删除。
如需转载请保留出处:https://51itzy.com/kjqy/41940.html