📄 history.txt
字号:
BarMenu Components Version History:
Legend; (*) notes, (-) changes to the code
-- Version 2.3.0 -- (2001-10-21)
* Hopefully the Delphi 6 and C++Builder 5 packages work because I had
to manually edit the package sources (I don't have Delphi 6 or CB5
installed)
- Implemented DrawModule concept. DrawModule centralizes drawing of
all menuitems within the menu. If there is no DrawModule assigned then
the default drawing implemented in BarMenus is used.
You can create own DrawModules by inheriting from TBcBarMenuDrawModule
class and implementing the two abstract methods. Look BcDrawModule for
more info. There is a example (TBcCustomDrawModule) DrawModule in the
package which allows the drawing through events OnDrawMenuItem and
OnMeasureMenuItem events. Example usage in the demo project.
- Fixed bug with AdvancedBeforeDrawBar event calling (thanks for the
guy who pointed it out; cannot check his name now :( )
- Changed menuitem event loading for BcBarPopupMenu to use Loaded
method as well. Should make the popup faster if there are large
number of menuitems.. I have not tested how the menus handle
menuitems added on runtime but it should reset the events on Rebuild
(though not very optimal solution).
- Updated Readme.txt and FAQ.txt (forgot to do this in the 2.2.0 :/ ).
Install/Uninstall instructions more complete
- Gradient drawing is now done using 32-bit DIB. Faster and should
save some resources. There is a function DrawGradient() which you can
use to draw gradients to your own TBitmaps or TCanvas'. Preferred to
use TBitmap as with TCanvas it uses a bit more resources. See demo
project for example usage. As a small note that the new code in the
BarMenus.DrawGradient() is A LOT faster than the old code used in the
Demo project.
- Gradient has GradientStyle property (gsVertical, gsHorizontal,
gsDiagonalLeftRight, gsDiagonalRightLeft). Note that gsDiagonalRightLeft and
gsDiagonalLeftRight uses Pixels[] if not using the TBitmap. This is not
good if accessing directly to screen visible canvas. So using TBitmap
buffer is recommended (atleast my ATI Radeon VE had side effect of
hardly noticable trembling, but annoying, in the whole screen if not using
buffer).
- Fixed couple of Range Checking Errors and now the clBtnFace (plus others)
work as Caption highlight/shadow colors.
- Added Visible properties to BarPicture, BarBackPicture and BarCaption.
You can use OnAdvancedBeforeDrawBar to override the drawing set.
- Added gradient support Separators ssCaption (for upgraders as a note that
CaptionColor property was removed).
- Now Separators.Alignment works with SeparatorStyle ssShortLine too.
-- Version 2.2.0 -- (2001-10-16)
* Changed the minor version number because of the "parameter incorrect"
bug fix.
- Caption Highlight and Shadow colors. Set to clNone to disable.
Use Depth property to control highlight and shadow distance
(you can probably use negative values too).
- Added overloaded procedure Popup(P: TPoint) method for
TBcCustomBarPopupMenu. Added PopupAtCursor which will popup the
popupmenu at mouse cursor position.
- Fixed some Assign methods.
- FINALLY FOUND the "parameter incorrect" bug. It did not occur
of menu animations were disabled.. and I don't use those myself :)
The Windows apparantly creates different DC handle for the
menu animation and it made the WindowFromDC -> GetClientRect
return something very incorrect. If the animation is disable,
then it returns right values. Now it checks if the GetClientRect
returns valid value. If it is not valid then it uses the
height calculated in the measure event.
If the "parameter incorrect" still exists, please tell me ..
Because of this window handle problem I removed the Opacity and
Flat properties (well, moved to protected).
-- Version 2.1.0 -- (2001-10-11)
- Separated the Designtime registering to own designtime package.
- MenuFont property. Note, Menu items aren't sized correctly. Either
use font which is small enough or use OnMeasureMenuItem to do own
measuring.
- Fixed the MenuChanged a bit. Now it should redraw the menu bar
only if really needed. Makes especially the TBcMainMenu faster.
Also other optimization done.
- Changed the Picture properties to TBcPicture which is just a map
to TBitmap or TPicture depending on the PICTUREASTBITMAP define.
By default it is set, so Pictures are TBitmaps. I hope this fixes
the "Parameter incorrect" errors. If you got the error earlier,
please try both ways to compile the package and let me know the
results. Note that the demo project works when PICTUREASTBITMAP is
defined.
- TBitmap Transparency problem should have been fixed. It was
strange bug in the code which did not appear under NT. I've tested
the code under Windows 2000 Professional and Windows 98.
Also used MemProof to check any resource leaks or peaks and
found nothing.
- Added FlushDoubleBuffer methods for the TBcBarPopupMenu and
TBcMainMenu. It will free the internal DoubleBuffer and force
it to be redrawn when it's needed next time. Normally the bar
is stored there for fast access.
- Updated Demo project.
- Delphi 6 and C++Builder 5 compatibility with own packages.
Couldn't test C++Builder 5 packages, so if they work let me know.
-- Version 2.0.3 -- (2001-10-07)
* Skipped version 2.0.2.
* Long time since last release. I've been using my working version,
so kind of forgot to release this fixed version :) Well, actually
it isn't the only reason. I've been doing some other work (programming
of course) which I get paid for. Also upgraded my computer (now with
Athlon 1000 MHz, Asus A7V WA, 448MB SDRAM, ATI Radeon 32MB DDR VE,
Logitech Cordless Optical MouseMan, Hitatchi DVD-ROM and the
other usual stuff; HP CD-Writer 9350, 16GB IBM DMA/66, and 40GB
IBM ATA/100 harddisks, SBLive!) and had to re-install Windows 2000,
which was a bit pain :/ I was at Assembly 2001 too (www.assembly.org)..
- Many thanks to Magnus Flysj
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -