Kbase P113392: Changing the LABEL-BGCOLOR of a browse column does not work on non-Classic Windows Themes.
Autor |
  Progress Software Corporation - Progress |
Acesso |
  Público |
Publicação |
  23/09/2010 |
|
Status: Verified
SYMPTOM(s):
Changing the LABEL-BGCOLOR attribute of a browse column does not work.
Changing the background color of a browse column label does not work.
FACT(s) (Environment):
Progress session is using a manifest file.
Used to work in OpenEdge 10.0B.
Using non-classic Windows Themes.
Windows XP
Windows Vista
Windows 7
OpenEdge 10.1x
OpenEdge 10.2x
OpenEdge Category: Language (4GL/ABL)
CAUSE:
In 10.0B, OpenEdge owned the drawing of browse widgets; as a consequence, browse widgets never had the XP look, but OpenEdge had full control on what was drawn and how it was drawn.
Starting with OpenEdge 10.1A, if a manifest file is used under Windows XP, then OpenEdge delegates the drawing of the browse widget to the XP Themes Manager; because of a limitation in the XP Themes Manager, the background color for browse column labels (the LABEL-BGCOLOR attribute) is ignored.
FIX:
Said limitation in the XP Themes Manager becomes a limitation in the OpenEdge product too.
In OpenEdge 10.1A, the only way to regain control of the background color of browse column labels is to stop using manifest files, thus losing the XP look for the whole session.
In OpenEdge 10.1B and later releases, add the key value UseClassicBrowseHeader to the Windows registry or an .ini file such as progress.ini. This key overrides the XP theme for the browse header only, reverting to the Windows Classic theme.
To add UseClassicBrowseHeader in the registry:
Using regedit, navigate to HKEY_CURRENT_USER\Software\PSC\PROGRESS\10.2B\Startup
Right click on the Startup key or anywhere in the right panel of the editor.
Select "New", then "String Value".
Type "UseClassicBrowseHeader" (no quotes) as the Name.
Right-click on UseClassicBrowseHeader and select "Modify".
Type "yes" (no quotes) in the "Value data" text box.
Click OK
Exit regedit.
To add UseClassicBrowseHeader to an .ini file:
Edit the .ini file with which the application is started. If an .ini file is not currently used t