View Issue Details

IDProjectCategoryView StatusLast Update
0003718JEDI VCL00 JVCL Componentspublic2006-06-09 03:01
ReporterthehangedmanAssigned Toobones 
PrioritynormalSeverityminorReproducibilitysometimes
Status resolvedResolutionfixed 
Product Version3.20 
Target VersionFixed in Version3.30 
Summary0003718: TJvNetscapeSplitter highlighting
DescriptionTJvNetscapeSplitter highlighting occasionally fails when AllowDrag=false (with default other properties)
Additional InformationWhen AllowDrag is set to false, highlighting takes place when MouseEnter occurs with mouse position of a netscape button, otherwise it doesn't.

The suggested solution is putting the highlight checking out of "if AllowDrag then" statement in TJvCustomNetscapeSplitter.WMMouseMove:

procedure TJvCustomNetscapeSplitter.WMMouseMove(var Msg: TWMMouseMove);
begin
  if AllowDrag then
  begin
    inherited;
  end
  else
    DefaultHandler(Msg); // Bypass TSplitter and just let normal handling
    // The order is important here. ButtonHitTest must be evaluated before
    // the ButtonStyle because it will change the cursor (over button or not).
    // If the order were reversed, the cursor would not get set for bsWindows
    // style since short-circuit Boolean eval would stop it from ever being
    // called in the first place.
    if ButtonHitTest(Msg.XPos, Msg.YPos) and (ButtonStyle = bsNetscape) then
    begin
      if not FIsHighlighted then
        PaintButton(True)
    end
    else
    if FIsHighlighted then
      PaintButton(False);
// end
// else
// DefaultHandler(Msg); // Bypass TSplitter and just let normal handling occur.
end;
TagsNo tags attached.

Activities

obones

2006-06-09 03:01

administrator   ~0009522

This is now in SVN

Issue History

Date Modified Username Field Change
2006-05-22 00:31 thehangedman New Issue
2006-06-09 03:01 obones Status new => resolved
2006-06-09 03:01 obones Resolution open => fixed
2006-06-09 03:01 obones Assigned To => obones
2006-06-09 03:01 obones Note Added: 0009522