Watch, Follow, &
Connect with Us
Public Report
Report From: Delphi-BCB/VCL/Win 32 Controls/TCoolBar    [ Add a report in this area ]  
Report #:  61536   Status: Open
TCoolBar does not update its height immediately
Project:  Delphi Build #:  11.0.2902.10471
Version:    11.0 Submitted By:   Qian Xu
Report Type:  Minor failure / Design problem Date Reported:  4/28/2008 8:18:24 PM
Severity:    Commonly encountered problem Last Updated: 6/23/2008 7:34:40 AM
Platform:    All platforms Internal Tracking #:   260185
Resolution: None (Resolution Comments) Resolved in Build: : None
Duplicate of:  None
Voting and Rating
Overall Rating: No Ratings Yet
0.00 out of 5
Total Votes: None
Description
TCoolBar does not update its height immediately, while changing bands' positions. For more information, please read http://stanleyxu2005.blogspot.com/2008/04/not-cool-thing-of-tcoolbar.html
Steps to Reproduce:
1. Open the demo project "coolstuf" in Delphi folder.
2. Compile and run it.
3. Drag the (third) Links toolbar to top and then to bottom, repeat it for several times

You will see an extra area (roughly 40px) at bottom of TCoolBar.
Workarounds
procedure TCoolBar.CNNotify(var Message: TWMNotify);
//PATCH-BEGIN
var
  I, FID: Integer;
  RBBI: TReBarBandInfo;
//PATCH-END
begin
  if (Message.NMHdr^.code = RBN_HEIGHTCHANGE) then
    if IsAutoSized and (ComponentState * [csLoading, csDestroying] = []) then
    begin
      //PATCH-BEGIN
      for I := 0 to Bands.Count - 1 do
        if Bands[I].FixedSize then
        begin
          FillChar(RBBI, SizeOfReBarBandInfo, 0);
          RBBI.cbSize := SizeOfReBarBandInfo;
          RBBI.fMask := RBBIM_STYLE;
          FID := Bands[I].FID;
          Perform(RB_GETBANDINFO, FID and IDMask, Integer(@RBBI));
          Perform(RB_SETBANDINFO, FID and IDMask, Integer(@RBBI));
        end;
      //PATCH-END

      ReadBands;
      BeginUpdate;
      try
        if AutoSize then AdjustSize;
      finally
        EndUpdate;
      end;
    end
    else if IsBackgroundDirty then
      Invalidate;
end;
Attachment
None
Comments

Markus Humm at 4/28/2008 11:19:54 PM -
Marked as "needs attention"

Server Response from: CODE1