Windows的调色板管理很复杂,每一个Windows应用程序都有自己的调色板,在使用调色板时,首先要想系统申请。Windows根据应用程序的优先级,对调色板进行分配。优先级最高的应用程序可以得到Windows的前台调色板,其它程序使用后台调色板。
为保证Windows基本显示界面的一致性,Windows保留了20种颜色的内部系统调色板,用来绘制窗口的图标、边界等通过界面。这个调色板在所有的显示设置都不会改变。
每个设备上下文都拥有一个逻辑调色板,如果要使用内部系统调色板之外的颜色,应该创建一个新的逻辑调色板并将其选入设备上下文。这样还不能使用新颜色,只有把设备上下文中的逻辑调色板实现到系统调色板中,新颜色才可以使用。在逻辑调色板实现到系统调色板时,Windows会创建一调色板映射表。当使用逻辑调色板绘图时,GDI绘图程序直接查询调色板映射表以把像素值从逻辑调色板的索引转为系统调色板的索引。