📄 dfsstatusbar.txt
字号:
TDFSStatusBar v1.24
A status bar that provides many common specialized panels. The main features
are key lock indicators (caps, num, scroll), gauges, images, ellipsis text, and
date/time. Also, the status bar can own other components (i.e. you can drop
something on it in the IDE).
Contact Information:
--------------------
The lateset version will always be available on the web at:
http://www.delphifreestuff.com
If you have any questions, comments or suggestions, please use the Delphi
Free Stuff Support Forum at:
http://www.delphifreestuff.com/discus/
If, for some reason, you can not use the web-based support forum, you can
email me at bstowers@delphifreestuff.com. However, the support forum will
always take precedence over direct email since it provides a resource that
others can use when they have a problem. Every message posted to the forum
is emailed directly to this account, so emailing me directly will not get
your message to me any faster. It will only make the message less important
for me to respond to since only one person (you) is benefiting from it
instead of everyone interested. Having said all that, please do email me
directly if it is regarding something that isn't really support related,
i.e. just to say thanks (as novel as that idea is).
Installation:
-------------
Delphi 1, Delphi 2, C++Builder 1:
* This component is not compatible with Delphi 1, 2, or C++Builder 1.
Delphi 3, 4, 5, C++Builder 3 & 4:
* Do one of the following:
+ Create a new package by selecting File | New and choosing Package from
the New tab in the dialog.
+ Open an existing package file. I suggest you do this if you already
have a package that you like to use for small, third party components.
I specifically have a package named "3rdParty.dpk" that I use for
small components that come from other people. Or, if you are using
several of my components, you might create a "DFS.dpk" package and
use it for all of my DFS components.
* In the resulting package window, click the Add button.
* In the Add dialog, on the Add Unit tab, enter the full path name of the
component's registration unit (the unit that ends with 'Reg.pas', i.e.
'BrowseDrReg.pas') and click OK.
* You may want to add the other source files (*.pas) to the package as
well in the same manner as you did the registration unit. While this is
not required, not doing it will cause compiler warnings when the package
is compiled. The component will function fine either way, but I
personally find the warnings very irritating and am not happy until
every compiler warning and hint is gone.
* If this package is new, or it has never been installed, click the
Install button in the package window. If this package is already
installed in Delphi, click the Compile button.
C++Builder 5 and up:
* Perform the "Delphi 3 and up, C++Builder 3 and up" steps above, except
for the last step (Compile or Install).
* Select the package the component has been added to, and choose
Project | Edit Option Source to open the package options in the editor.
* In the entry for PFLAGS, add the "-LUvcl50" option. For example:
<PFLAGS value="-$YD -$W -$O -v -JPHNE -M -LUvcl50"/>
* Perform the final step from above, Compile or Install.
* For Borland's official word on this situation, open the C++Builder help
file and search the index for "dsgnintf.dcu" and see the "Compiling
packages with DsgnIntf" section.
Delphi 6 and up:
* Perform the "Delphi 3, 4, 5, C++Builder 3 & 4" steps above, except
for the last step (Compile or Install).
* Add the DesignIDE package to the Requires list of the package into which
the component is being installed.
* Perform the final step from above, Compile or Install.
* This is necessary because of changes to the design-time support units
introduced in Delphi 6. For complete information, see the Del6New.hlp
file in your Delphi 6 Help directory. In the index, search for
"upgrade issues" and in the resulting list of topics, select the
"DsgnIntf renamed and related changes" topic.
Documentation:
--------------
TDFSStatusBar:
procedure InvalidatePanel(Index: integer);
This method causes only the specific panel identified by Index to be
redrawn.
property UseMonitorDLL: boolean;
This property indicates whether the indicator keys (Caps, Num & Scroll lock)
should be monitored system wide or in the app only. If set to true, your
app will require the DFSKbMon.DLL to be present. See the Implementation
Notes section for more information, including how to rename the DLL.
TDFSStatusPanel:
procedure Invalidate(RefreshNow: boolean);
This method causes the panel to be invalidated. RefreshNow indicates whether
the repaint should take place immediately or later when the next WM_PAINT
message is processed.
property StatusBar: TDFSStatusBar;
The TDFSStatusBar that owns this panel.
property PanelType: TDFSStatusPanelType;
sptNormal - Nothing special, same as a regular TStatusPanel.
sptCapsLock - Caps lock indicator. Normal color if on, gray if off.
sptNumLock - Num lock indicator. Normal color if on, gray if off.
sptScrollLock - Scroll lock indicator. Normal color if on, gray if off.
sptDate - Current date. Uses DateFormat property for format of text.
sptTime - Current time. Uses TimeFormat property for format of text.
sptDateTime - Current date and time. Uses DateFormat and TimeFormat
properties for format of text.
sptTimeDate - Current time and date. Uses DateFormat and TimeFormat
properties for format of text.
sptEllipsisText - Shorten text at the end with '...' when it won't fit.
sptEllipsisPath - Shorten by removing path info with '...' when it won't fit.
sptGlyph - Displays a TPicture object in the panel along with a string from
the Text property (if any).
sptGauge - A progress meter. Use GaugeAttrs to customize it.
sptOwnerDraw - Same as the old TStatusPanel.Style = psOwnerDraw.
property GaugeAttrs: TDFSGaugeAttrs;
property Style: TDFSGaugeStyle;
gsPercent - Your basic progress meter.
gsIndeterminate - A progress indicator where the min/max are not known.
That is, you want to show something going on, but don't know how long
it will take. Same concept as the Netscape status panel gauge when you
are connecting to a site. Use the Enabled property to start and stop
the gauge. This one looks like a little ball bouncing back and forth.
gsIndeterminate2 - Same as last, but looks like Netscapes (a gradient
bar bouncing).
property Position: TPercent;
A value from 0 to 100 indicating the current percentage to display for
sptGauge panel types when the Style is gsPercent. It the Text property
is blank, this value will be displayed within the gauge (i.e. "51%").
If Text is not blank, it's value will be drawn inside the gauge. If you
don't want any text within the gauge, just set Text to a space character.
This property has no meaning for any other panel types.
property Color: TColor;
The color to paint the "filled" area of the gauge with.
property TextColor: TColor;
Only for gsPercent. Color of text painted in the "filled" area.
property Speed: integer;
How fast the movement occurs for indeterminate styles.
property AutoFit: boolean;
Automatically adjust the width of the panel to be wide enough to display
the information. Note that this property has no meaning to some panel
types, and setting it will likely result in the panel's width becoming very
small. For example, sptGauge has no idea how big you would want it to
automatically become.
property Glyph: TPicture;
The image to show on the panel for sptGlyph panel types. This property has
no meaning for any other panel type.
property DateFormat: string;
For use with sptDate, sptTimeDate and sptDateTime PanelTypes. This property
has no meaning for any other panel types. Use the same format as described
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -