⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 untitled-14.txt

📁 mfc 教程
💻 TXT
字号:
                                                                    第2章在窗口中绘图43
      nit cy= dc.GetDeviceCaps(VERTRES);
如果屏幕分辨率为 1024 X 768,则 CX和 Cy将分别被设为 1024和 768。
    下表中列出了一些参数。将这些参数传送给GetDeviceCaps能获得与设备描述表有关
的实际输出设备方面的信息。如何理解这些返回值,在某种程度上取决于设备的类型。例
如:调用 GetDeviceCaps并将屏幕 DC的 HORZRES参数传送给它,则函数返回以像素点数目
表示的屏幕宽。对打印机DC做如此调用,则得到的是可打印页面的宽度,同样是以像素点
数目表示的。一般说来,缩放比例值(例如,LOGPIXEthX和LOGPIXEthY均首返回打印机和
其他硬拷贝设备上的正确值,但对屏幕则不行。对于一个600 dPi的激光打印机,LOGPIXEL-
SX和LOGPIXEthY都返回600。但对于屏幕,无论屏幕的尺寸或分辨率如何,两者可能都返
回96。
    理解由NUMCOLORS、BITSPIXEL以及PLANES返回的颜色信息是需要一定技巧的,这
三个都是GetDeviceCaps的参数。对打印机或绘图仪来说,参数NUMCOLORS通常给出设备
能显示的颜色数目。对于单色打印机,NUMCOLORS返回人
                            表2.5几个有用的GETDEVICECAPS参数
  参数返回值
  HORZRES以像点数目表示的显示平面宽度
  VERTRES以像点数目表示的显示平面高度
  HORZSIZE以毫米表示的显示平面宽度
  VERTSIZE以毫米表示的显示平面高度
  LOGPIXEllSX水平方向上每逻辑英寸内像素点的数目
  LOGPIXEDeY竖直方向上每逻辑英寸内像素点的数目
  NUMCOLORS如果是显示设备,则返回静态颜色数目;如果是打印机或绘图仪,则返回能支持的颜
                    色数目
  BIThPIXEL每个像素点的位的数目
  PLANES位平面的数目
  RASTERCAPS表述设备的某些特性的位标志,如设备是否为调色板式,设备是否能显示位图
  TECHNOLOGY位标志,确定设备类型——屏幕、打印机、绘图仪等
    然而,屏幕的颜色分辨率(屏幕可同时显示的颜色的数目)是由BITSPIXEL与PLANES
相乘并取平方得到的,如下所示:
      CClientDC dc(this);
      nit "Planes= dc.GetDeviceCans(PLANES);
      nit nBPP=  dc.GetDeviceCaps(BITSPIXEL);
      nit "Colors=  1<<("PlaneS。  nBPP);
    如果在配备了256色视频适配器的微机上执行这段程序代码,则"Colors将等于256。
调用GetDeviceCaps并将参数NUMCOLORS传递给它,则返回的不是256而是20——Windows

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -