Watch, Follow, &
Connect with Us
Public Report
Report From: Delphi-BCB/VCL/Standard Controls/TComboBox    [ Add a report in this area ]  
Report #:  85501   Status: Closed
Changing color of themed controls causes repaint problem.
Project:  Delphi Build #:  14.0.3593.25826
Version:    14.0 Submitted By:   Paul Campbell
Report Type:  Basic functionality failure Date Reported:  6/16/2010 12:40:45 PM
Severity:    Commonly encountered problem Last Updated: 3/20/2012 2:24:39 AM
Platform:    All versions Internal Tracking #:   277462
Resolution: Fixed (Resolution Comments) Resolved in Build: : 15.0.3872.33573
Duplicate of:  None
Voting and Rating
Overall Rating: No Ratings Yet
0.00 out of 5
Total Votes: None
Description
If you change the color of a TComboBox, activate the TComboBox and then change the color again, other themed controls on the form do not get painted correctly.


Added by Sysop
<<<<<<<<<<<
This issue occurs on XP and is similar to QC#83902, QC#75749.
>>>>>>>>>>>
Steps to Reproduce:
Run or compile attached project to see the problem.
Workarounds
None.
Attachment
Bug.zip
Comments

Tomohiro Takahashi at 6/16/2010 7:02:03 PM -
Is your issue about TEdit?
What OS do you use? Does your issue occur on XP, Vista, 7 and 2008?

Paul Campbell at 6/17/2010 7:20:46 AM -
When a themed TComboBox drops down over any other themed control, it changes the border of the other themed controls. In the example that is provided, the TComboBox and TEdit control both have their color set to clYellow. The TComboBox is then activated and a value is selected. When the TComboBox and TEdit colors are changed back to clWindow, there is a thin yellow border around both controls. If you pass the mouse cursor over the controls, their borders get repainted to the correct color.

The problem appears to manifests itself on XP machines only.

Tomohiro Takahashi at 6/17/2010 6:10:54 PM -
> The problem appears to manifests itself on XP machines only.
Is your issue same as(similar to) QC#83902, QC#75749 ?

Paul Campbell at 6/18/2010 8:12:59 AM -
The issue that we are reporting does not manifest itself by just changing the color of the controls. If you run the supplied example, and just click the "Color" and then "Uncolor" buttons, the frame is painted correctly. We can only get the bug to manifest itself by activating the TComboBox.

However, we can see how the other reports do have a similarity to what we are reporting. In our example, the TComboBox drop down window covers the TEdit control when the TComboBox is activated. This causes both the TComboBox and TEdit border to assume the color of the TComoboBox. When the TComboBox drop down is closed, the invalidated controls do not get their border repainted correctly. You have to hover the mouse over both controls (or minimize/maximize the application) to get the borders to repaint correctly.

We do concur that this problem only started happening when we upgraded to Delphi 2010.

Server Response from: ETNACODE01