View Issue Details

IDProjectCategoryView StatusLast Update
0002829JEDI VCL00 JVCL Componentspublic2005-04-02 02:57
ReporteranonymousAssigned ToAHUser 
Status resolvedResolutionfixed 
Product Version3.00 
Target VersionFixed in Version3.10 
Summary0002829: Painting error with non-transparant, non-TWinControl Jv component when themes are enabled
Descriptiontested under d2005 sp2, xp-pro sp2, jvcl3.

the code that actually erases the background incorrectly is in jvthemes.pas, line 1093, PerformEraseBackground

 SetWindowOrgEx(DC, WindowOrg.X, WindowOrg.Y, nil);

it seems that instead of erasing a rectangle in the label.canvas, it's erasing it from the parent canvas.

Affected controls include TJvLinkLabel and TJvSegmentedLEDDisplay.
Additional InformationTo reproduce,

New win32 application
drop TXPManifest on the form
drop tshape on the form, set align=top.
set the shape.color to blue (just for contrast)
drop a TJvLinkLabel on the form (anywhere)
run the app.

The creation order of the components also affects how visible this bug is. its important that the label is created last, so its the last control to paint.

see attached screenshot for result.
TagsNo tags attached.


2005-04-01 23:13


JvPaintBug.PNG (19,929 bytes)
JvPaintBug.PNG (19,929 bytes)


2005-04-01 23:23

viewer   ~0006835

setting label.transparent:=true; is a possible workaround for this bug.


2005-04-02 02:57

developer   ~0006836

Fixed in CVS

Issue History

Date Modified Username Field Change
2005-04-01 23:13 anonymous New Issue
2005-04-01 23:13 anonymous File Added: JvPaintBug.PNG
2005-04-01 23:23 anonymous Note Added: 0006835
2005-04-02 02:57 AHUser Status new => resolved
2005-04-02 02:57 AHUser Resolution open => fixed
2005-04-02 02:57 AHUser Assigned To => AHUser
2005-04-02 02:57 AHUser Note Added: 0006836