Defining the Term "Color Scheme" in an OLE Context

Last reviewed: February 17, 1995
Article ID: Q83459
The information in this article applies to:
  • Microsoft OLE version 1.0

SUMMARY

This article defines the term "color scheme" in the context of an application that supports OLE. The key point is the distinction between an OLE color scheme and the hardware palette. The functions related to the OLE color scheme use a LOGPALETTE data structure to hold data and can use this information to change the system palette as appropriate.

MORE INFORMATION

The definition of color scheme used by an OLE application would be familiar to users of Microsoft PowerPoint for Windows. The color scheme is a combination of a foreground color, a background color, a number of fill colors, and a number of line colors that PowerPoint uses to render objects on the slides of the presentation. If you edit an object that is embedded in PowerPoint, it can send the applicable color scheme to the OLE server so it can use the same colors to render the embedded object in its window.

An OLE client application allocates memory for a LOGPALETTE data structure and fills the structure with its preferred colors. This palette contains the colors that the client application suggests for use as its foreground color, background color, fill color, and line color. The palNumEntries field of the LOGPALETTE structure contains the number of total colors in this color scheme. The palPalEntry array contains the colors.

The first color is the suggested foreground color and the second is the suggested background color. Of the remaining colors, the first half are suggested fill colors, with the second half containing suggested line colors. If there are an odd number of entries, then the extra color is a fill color -- that is, there is one fewer line color than fill colors. For example, if there are nine entries in the entire color scheme, the first two are the foreground and background colors, the next four are fill colors, and the final three are line colors.

Because the LOGPALETTE data structure does not contain colors for the video hardware, the OLE client cannot specify the structure in a call to the CreatePalette or RealizePalette functions. However, the OLE client can use the information in the LOGPALETTE data structure to affect the hardware palette.

The client application calls the OleSetColorScheme to pass the structure to the OLE server. The server receives notification of the preferred colors through SetColorScheme methods in the server's OLESERVERDOCVTBL and OLEOBJECTVTBL structures.


Additional reference words: 1.00
KBCategory: kbole kbprg
KBSubcategory: LeOneCli


THE INFORMATION PROVIDED IN THE MICROSOFT KNOWLEDGE BASE IS PROVIDED "AS IS" WITHOUT WARRANTY OF ANY KIND. MICROSOFT DISCLAIMS ALL WARRANTIES, EITHER EXPRESS OR IMPLIED, INCLUDING THE WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. IN NO EVENT SHALL MICROSOFT CORPORATION OR ITS SUPPLIERS BE LIABLE FOR ANY DAMAGES WHATSOEVER INCLUDING DIRECT, INDIRECT, INCIDENTAL, CONSEQUENTIAL, LOSS OF BUSINESS PROFITS OR SPECIAL DAMAGES, EVEN IF MICROSOFT CORPORATION OR ITS SUPPLIERS HAVE BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. SOME STATES DO NOT ALLOW THE EXCLUSION OR LIMITATION OF LIABILITY FOR CONSEQUENTIAL OR INCIDENTAL DAMAGES SO THE FOREGOING LIMITATION MAY NOT APPLY.

Last reviewed: February 17, 1995
© 1998 Microsoft Corporation. All rights reserved. Terms of Use.