Graphics Control Issues

Applies To: Windows 7, Windows Vista

There are several known graphics control issues addressed by the Compatibility Administrator through compatibility fixes and compatibility modes.

Fix Name Symptom Fix Description

AlwaysActiveMenus

Inactive windows do not display as expected.

Causes windows to remain active even in the background. On Windows XP Professional, inactive menus appear differently from those in the active window and some applications cannot handle this change.

CorrectBitmapHeader

Bitmap images do not load, or clicking on an active bitmap image causes the application to become unresponsive.

Corrects known bitmap headers that are were previously acceptable, but are no longer acceptable in Windows XP Professional.

CorrectCreateIcon

A shadowed block appears instead of an icon.

Intercepts calls made to the CreateIcon function, zeroing out the alpha channel in the lpbXORbits function, improving the display of certain icons in Windows XP.

CorrectCreateSurface

Bitmap images do not display as expected in an application.

Attempts to correct the contents of the DDSCAPS structure in the DirectDraw CreateSurface methods.

CorrectFarEastFont

East Asian font characters do not display correctly.

Corrects the lfCharSet value in the LOGFONTA structure, which is passed to the CreateFontIndirectA function to correctly display localized versions of East Asian characters.

Previously, East Asian applications created localized display fonts by supplying only the font face name and letting the system pick up the correct character set. To display the localized characters correctly in applications running on Windows XP Professional, you must specify the correct character set.

DelayWin95VersionLie

You receive a blank window+A12 after pressing ESC, instead of returning to the application menu.

Modifies the GetVersion and GetVersionEx functions so that they return version information resembling Windows 95 for specified function calls. This is useful in cases where some parts of an application are version-sensitive, but others are not.

DisableAnimation

Menu or list box contents do not appear, or they do not appear as expected.

Disables menu and list box animation.

DisableFilterKeys

The graphics do not display as expected after enabling the FilterKeys option.

Disables the FilterKeys option at application startup and restores it when the application closes.

DisableThemes

The application alternates between the applied themed view and the non-themed view.

Temporarily disables the Windows XP Professional theme functionality for applications that do not support the new display themes.

DisableThemes

The standard message boxes do not appear for applications using the new display themes.

Temporarily disables the Windows XP Professional theme functionality for applications that do not support the new display themes.

DisableThemes

The Minimize and Close buttons no longer function.

Temporarily disables the Windows XP Professional theme functionality for applications that do not support the new display themes.

DisableThemes

The title bar of the application window hides the application toolbars.

Temporarily disables the Windows XP Professional theme functionality for applications that do not support the new display themes.

DisableThemes

Dialog boxes are truncated.

Temporarily disables the Windows XP Professional theme functionality for applications that do not support the new display themes.

DisableThemes

The application buttons appear to overlap.

Temporarily disables the Windows XP Professional theme functionality for applications that do not support the new display themes.

DisableThemes

The application window no longer displays as expected after resizing it.

Temporarily disables the Windows XP Professional theme functionality for applications that do not support the new display themes.

DisableThemes

You receive an access violation error message when you modify an image.

Temporarily disables the Windows XP Professional theme functionality for applications that do not support the new display themes.

EmulateCreateProcess

The Help screen does not appear.

Integrates the CreateProcessA API, ensuring that all parameters have acceptable values for the Windows XP implementation of the API.

EmulateDrawText

Text does not appear in the menu or in message boxes.

Emulates Windows 95 and Windows 98 to convert and accept the out-of-range rectangle drawing values in the DrawText function.

EmulateBitmapStride

The graphics appear corrupted as an application loads.

Modifies the GetObjectA function to ensure that the scan line width is DWORD-aligned for bitmap objects.

EmulateDirectDrawSync

The application starts with a blank screen.

Integrates the mutex functions used by DirectDraw to synchronize exclusive mode access and to ensure that all synchronization events happen on the same thread for Windows 95 and Windows 98 applications. If a thread other than the one that acquired it releases the exclusive mode, instability can occur.

EmulateGetProfileString

Bitmaps do not display as expected in Autorun dialog boxes.

Causes the Windows XP Professional version of the GetProfileString function to strip trailing white space (including tabs) from the end of INI file strings, in order to emulate the behavior of Windows 95 and Windows 98.

EmulateGetStringType

The application scrolls text too rapidly.

Causes the Windows XP Professional GetStringTypeA, GetStringTypeW, GetStringTypeExA, and GetStringTypeExW functions to emulate the Windows 2000 versions of these functions.

EmulateTextColor

Button and label text does not appear.

Modifies the behavior of the SetTextColor and SetBkColor functions with regards to the COLORREF structure. The GDI functions on Windows 95 and Windows 98 enable applications to specify a color in a 16-bit value. On the Microsoft Windows°NT® Server°4.0 operating system and later, the colors must be in a true COLORREF format.

This compatibility fix converts the 16-bit colors to true COLORREF values.

EnlargeGetObjectBufferSize

Graphics do not appear in the application.

Modifies the bitmap information buffer size for the GetObjectA function. Some applications hard-code this size to 10 when the value must be SIZEOF(BITMAP).

   

ExtractAssociatedIcon

You receive an "Out of memory" or system resources error when inserting a file as an icon into another file.

Removes the alpha channel from 32-bits-per pixel (bpp) icons, reverting the icon to 24-bpp.

This compatibility fix applies only to applications that use the ExtractAssociatedIcon function.

FailObsoleteShellAPI

You receive an access violation error when attempting to access the File menu of an application.

Retrieves the GetProcAddress function and returns a pointer to a stubbed version of the function that always fails. This also occurs if the application returns an obsolete version of a private shell32 function by ordinal.

FakeThemeMetrics

The menu and toolbar buttons appear in the wrong color.

Forces a match between the menu and button colors if the system color for the menu does not match the system color for the button face.

ForceCDStop

Graphics are missing and video clips do not play after a minimal application installation.

Stops applications written for the Microsoft Windows®°95 operating system or the Microsoft Windows®°98 operating system from trying to access the CD-ROM drive when playing a movie or sound through MCI.

Note
This compatibility fix assumes that the application is running off a single CD-ROM drive at a time.

ForceSimpleWindow

The application starts with a blank screen.

Adjusts the CreateWindow function parameters to create a very simple window. This fixes problems that occur when an application passes combinations of styles that had special meaning in Windows 95 and Windows 98, but are not supported in the Windows® XP Professional operating system.

ForceDefaultSystemPaletteEntries

Menu commands appear as black boxes.

Attempts to isolate the Graphical Device Interface (GDI) palette operations from DirectDraw to more closely emulate Windows 95 and Windows 98 behavior.

HeapDelayLocalFree

Your application fails after returning to the main menu.

Modifies the LocalFree function, delaying the actual freeing of the memory. This compatibility fix assists applications attempting to use memory after it has already been freed with the LocalFree function.

HideCursor

The mouse pointer appears unexpectedly in your application.

Forces the ShowCursor function to act as an on/off function instead of incrementing or reducing the display count. For example, calling ShowCursor(FALSE) will always force the cursor to hide instead of just reducing the display count.

IgnoreLoadLibrary

You receive an access violation error message when inserting an image file.

Emulates the Windows 95 and Windows 98 behavior by preventing the LoadLibrary API from loading specified DLL files.

This compatibility fix works for any application that has a fallback mechanism for unsupported features.

LoadComctl32Version5

An application button or control appears corrupted.

Intercepts calls to the CreateWindow, DialogBox, and CreateDialog functions to ensure that the Comctl32.dll library is loaded. By default, applications do not load the Comctl32.dll library until the DLL exports a function call. Additionally, the application does not register the common control window classes until the DLL is loaded.

This compatibility fix ensures that the DLL is loaded and that the application registers the window classes whenever the CreateWindow, CreateWindowEx, DialogBox, or CreateDialog function is called.

NoGdiBatching

The icons and other visual elements disappear after resizing a window.

Disables the batching of GDI calls through the GdiGetBatchLimit, GdiSetBatchLimit, and GdiFlush functions.

NoShadow

The application window flickers and is repeatedly refreshed.

Disables window shadowing for an application.

RemoveInvalidW2KWindowStyles

The application's user interface is unresponsive.

Removes any window styles not supported by Windows XP Professional by using the CreateWindowEx function.

RestoreSystemCursors

Closing an application does not restore the system cursor.

Resolves problems with any Windows 95 and Windows 98 applications that use the SetSystemCursor() function to restore the system cursor.

See Also

Concepts

Known Compatibility Fixes, Compatibility Modes, and AppHelp Messages
Internet Explorer Compatibility Test Tool