View Issue Details

IDProjectCategoryView StatusLast Update
0004295JEDI VCL00 JVCL Componentspublic2008-10-14 02:30
ReportermandinoAssigned Toobones 
PrioritynormalSeverityminorReproducibilityalways
Status resolvedResolutionfixed 
Product Version3.33 
Target VersionFixed in Version3.34 
Summary0004295: XPItemPainter glitch
DescriptionXPItemPainter does not draw left and right lines of the selection frame, only the top and bottom lines.
TagsNo tags attached.

Activities

obones

2007-11-15 06:43

administrator   ~0014030

Please provide a screenshot

obones

2007-11-30 08:29

administrator   ~0014034

Actually, it's a bit more subtle than this. The Painter no longer draws the border because of the change for Vista.
We're looking into it.

MarcoWarm

2008-01-02 04:28

reporter   ~0014114

Revision 11592 does not work under Vista with XPItemPainter...
Error: Canvas does not allow drawing
after reverting to 11400 it works fine again

obones

2008-01-02 07:09

administrator   ~0014115

Even under non Vista versions of windows?
Do you see all borders, and is it fast on all versions of windows?

obones

2008-01-03 09:27

administrator   ~0014116

Please try revision 11659, it no longer triggers the error on my WinXP system

MarcoWarm

2008-01-25 02:06

reporter   ~0014160

Last edited: 2008-01-25 02:08

Revision 11659:
No more errors under XP and Vista.
Speed in XP is very good
Vista makes it awfully slow nearly 1 second between item changes.
all borders are visible

obones

2008-02-20 04:10

administrator   ~0014170

Ok, please try again with revision 11726. This should not change anything for WinXP and Vista should be back to normal speed. Can you confirm that you see the borders on all versions of Windows and that the speed is correct?

MarcoWarm

2008-03-04 02:08

reporter   ~0014267

tried revision 11745 today.
Speed is good, both on Vista and XP
The frames are drawn correctly on XP and below
on Vista left and right frame of selection is missing. Like in initial post.

obones

2008-03-04 03:12

administrator   ~0014269

Ok.
With revision 11738 or later, inside JvMenus.pas, at line 3684, replace this line

          DrawBorder(Canvas, WRect);

with these lines

          DC := CreateDC('DISPLAY', nil, nil, nil);
          try
            if not Assigned(FBorderCanvas) then
              FBorderCanvas := TControlCanvas.Create;

            FBorderCanvas.Handle := DC;
            DrawBorder(FBorderCanvas, WRect);
          finally
            DeleteDC(DC);
          end;

Then recompile and let us know how it goes. I do not have Vista here so I cannot test this at all, I'm just guessing.

obones

2008-03-04 06:49

administrator   ~0014272

Hum, one more thing. Inside TJvXPMenuItemPainter.DrawBorder, set the color of the Brush at the beginning, right before setting its style. Something like that:

    Brush.Color := RGB(0, 0, 0);

It seems one must set the color or the style might not be taken into account.

MarcoWarm

2008-03-10 00:46

reporter   ~0014286

I did the suggested changes. So far all borders can be seen with Vista. The speed in Vista is not too good. But better than Revision 11659. It takes about half a second for the highlit frame to repaint on the next item.

obones

2008-03-11 08:08

administrator   ~0014289

Please try revision 11757, I made some changes that should mean that it works for all flavours of Windows, and I hope no performance impact under Vista.
Thanks for the confirmation

obones

2008-10-14 02:29

administrator   ~0014858

Assuming this is fixed.

Issue History

Date Modified Username Field Change
2007-11-15 06:25 mandino New Issue
2007-11-15 06:43 obones Note Added: 0014030
2007-11-15 06:43 obones Status new => feedback
2007-11-30 08:29 obones Note Added: 0014034
2007-11-30 08:29 obones Status feedback => confirmed
2008-01-02 04:28 MarcoWarm Note Added: 0014114
2008-01-02 07:09 obones Note Added: 0014115
2008-01-03 09:27 obones Note Added: 0014116
2008-01-03 09:27 obones Status confirmed => feedback
2008-01-25 02:06 MarcoWarm Note Added: 0014160
2008-01-25 02:08 MarcoWarm Note Edited: 0014160
2008-02-20 04:10 obones Note Added: 0014170
2008-03-04 02:08 MarcoWarm Note Added: 0014267
2008-03-04 03:12 obones Note Added: 0014269
2008-03-04 06:49 obones Note Added: 0014272
2008-03-10 00:46 MarcoWarm Note Added: 0014286
2008-03-11 08:08 obones Note Added: 0014289
2008-10-14 02:29 obones Status feedback => resolved
2008-10-14 02:29 obones Fixed in Version => 3.34
2008-10-14 02:29 obones Resolution open => fixed
2008-10-14 02:29 obones Assigned To => obones
2008-10-14 02:29 obones Note Added: 0014858