View Issue Details

IDProjectCategoryView StatusLast Update
0003935JEDI VCL00 JVCL Componentspublic2007-01-30 02:37
ReportermvrhovAssigned Toobones 
PrioritynormalSeveritymajorReproducibilityalways
Status resolvedResolutionfixed 
Product VersionDaily / GIT 
Target VersionFixed in Version3.34 
Summary0003935: TJvWizardCustomPage WMEraseBkgnd behaving incorrectly
DescriptionIt seems that WMEraseBkgnd is not behaving correctly at least not if using windows themes.
If I put TSpTBXRadioButton on page, control content is painted black.
I tried that by commenting content of procedure but then TPanel is not painted correctly.

But it seems to work for both cases if I do:
  {$IFDEF COMPILER9_UP}
  inherited;
  Msg.Result := 0;
  {$ENDIF COMPILER9_UP}
TagsNo tags attached.

Activities

obones

2006-10-02 01:29

administrator   ~0010271

Please provide the zipped sources of a demo application showing this.

2006-10-02 02:59

 

demo.7z (485,475 bytes)

mvrhov

2006-10-02 03:08

reporter   ~0010272

One additional note:
I did trace inherited in that procedure it goes down to TWinControl.WMEraseBkgnd procedure. And then in that procedures if sentence it goes to the else part of 1st if sentence (it contains if (not DoubleBuffered) ...) which is also not executed, because DoubleBuffered of TJvWizardCustomPage is set to True to prevent filickering.

obones

2006-10-06 02:35

administrator   ~0010298

Why the IFDEF ?

mvrhov

2006-10-06 04:06

reporter   ~0010313

Initial code:

{$IFDEF VCL}
procedure TJvWizardCustomPage.WMEraseBkgnd(var Msg: TWMEraseBkgnd);
begin
  {$IFDEF JVCLThemesEnabledD56}
  if ThemeServices.ThemesEnabled then
    inherited;
  {$ENDIF JVCLThemesEnabledD56}
  Msg.Result := 1;
  {$IFDEF COMPILER9_UP}
  inherited;
  {$ENDIF COMPILER9_UP}
end;
{$ENDIF VCL}

my code
{$IFDEF VCL}
procedure TJvWizardCustomPage.WMEraseBkgnd(var Msg: TWMEraseBkgnd);
begin
  {$IFDEF JVCLThemesEnabledD56}
  if ThemeServices.ThemesEnabled then
    inherited;
  {$ENDIF JVCLThemesEnabledD56}
  {$IFDEF COMPILER9_UP}
  inherited;
  Msg.Result := 0;
  {$ENDIF COMPILER9_UP}
end;
{$ENDIF VCL}

obones

2006-10-06 04:18

administrator   ~0010315

So it's only behaving wrongly with D2005 and upper?

mvrhov

2006-10-06 04:39

reporter   ~0010317

Wouldn't know that I only have BDS 2006.

obones

2007-01-04 03:27

administrator   ~0010516

This is fixed in SVN.

mvrhov

2007-01-30 01:36

reporter   ~0010685

Last edited: 2007-01-30 01:45

No It's NOT.
Your sequence is wrong:
This is correct sequence
  inherited;
  Msg.Result := 0;

obones

2007-01-30 02:36

administrator   ~0010686

Sorry about that, this now resolved.

Issue History

Date Modified Username Field Change
2006-10-01 09:08 mvrhov New Issue
2006-10-02 01:29 obones Note Added: 0010271
2006-10-02 01:29 obones Status new => feedback
2006-10-02 02:59 mvrhov File Added: demo.7z
2006-10-02 03:08 mvrhov Note Added: 0010272
2006-10-06 02:35 obones Note Added: 0010298
2006-10-06 04:06 mvrhov Note Added: 0010313
2006-10-06 04:18 obones Note Added: 0010315
2006-10-06 04:39 mvrhov Note Added: 0010317
2007-01-04 03:27 obones Status feedback => resolved
2007-01-04 03:27 obones Fixed in Version => Daily / SVN
2007-01-04 03:27 obones Resolution open => fixed
2007-01-04 03:27 obones Assigned To => obones
2007-01-04 03:27 obones Note Added: 0010516
2007-01-30 01:36 mvrhov Status resolved => feedback
2007-01-30 01:36 mvrhov Resolution fixed => reopened
2007-01-30 01:36 mvrhov Note Added: 0010685
2007-01-30 01:45 mvrhov Note Edited: 0010685
2007-01-30 01:45 mvrhov Note Edited: 0010685
2007-01-30 02:36 obones Status feedback => resolved
2007-01-30 02:36 obones Fixed in Version 3.30 => Daily / SVN
2007-01-30 02:36 obones Resolution reopened => fixed
2007-01-30 02:36 obones Note Added: 0010686