设备(如显示器和打印机)的色彩功能可以从单色到数千种颜色。因为应用程序可能需要在整个范围内为设备生成输出,所以应准备好处理变化的颜色能力。
应用程序可以使用GetDeviceCaps函数来检索给定设备的可用颜色数量来检索NUMCOLORS值。此值指定可供应用程序使用的颜色数量。通常,该计数对应于输出设备的物理属性,例如打印机中的墨水数量或显示适配器可以传输到显示器的不同颜色信号的数量。
虽然NUMCOLORS值指定了颜色的计数,但它不能识别可用颜色。应用程序可以通过枚举具有PS_SOLID类型的所有笔来发现可用的颜色。由于支持给定设备的设备驱动程序通常具有全系列的实心笔,并且因为Windows要求固体笔只有设备可以生成的颜色,枚举这些笔通常等同于枚举颜色。应用程序可以使用EnumObjects函数来枚举笔。