![]() |
Languages »
C / C++ Language »
General
Intermediate
XPander Controls ConvergedBy mkgWinXP like animated collapsing group box control. |
VB, VC7.1.NET 1.1, Win2K, WinXPVS.NET2003, Dev
|
|
Advanced Search Add to IE Search |
|
|
|
||||||||||||||||

There are a number of XP like grouping controls on CodeProject and elsewhere:
(Please let me know if I missed someone!)
Thanks to all those who wrote those nice controls. All these controls implement a number of features, however no single control implements all those features. So I decided to shamelessly copy their code and "Converge" everything in one! ;-) Also most of them were in C#, so I decided to start with VB.NET for this one. I used VS 2003 but they should work in VS 2002 also.
You can use it in two ways:
XPanderList control to your form and then drop XPander
controls to the XPanderList
control.
XPander control to your form.
Most of the properties exposed on the controls are self-explanatory but some important ones are:
CaptionStyle - Choose a caption style. FlatLine
makes it look like, Office 2003 flat caption with a line in the end, style.
ChevronStyle - Different chevron styles. Image, ArrowsInCircle,
Triangle.
CollapsedImage, ExpandedImage, ExpandedHighlightImage,
CollapsedHighlightImage - Specify your own bitmaps for chevrons!
(Make sure that you have ChevronStyle set to Image.)
Image
- Image on the left side of the caption.
CanToggle - Is the user allowed to expand/collapse? If
False
chevrons are not displayed, clicking on the caption does nothing and mouse
cursor remains default.
ShowTooltips
- Whether to show tool tips or not. Tool tip text is same as the caption text.
Animated
- Enable/disable animation.
AnimationTime - How fast/slow (time). Used only if Animated
is True. Value 0 behaves as if Animated=False
CaptionTextHighlightColor
- Caption is drawn in this color when hovering.
CaptionHeight - Caption height can be adjusted. All child controls
on this "group" are repositioned automatically with caption height change.
There are more properties for adjusting caption attributes like height, font, colors and so on.
Also methods Expand(), Collapse() are available on XPander
and ExpandAll(), CollapseAll() are available on XPanderList.
The "original articles" do such a good job of explaining the code so I will not repeat it here. They can be found with the links above.
Note that properties like CaptionLeftColor of type Color
(and other properties like it) can be "Reset" using the VS.NET designer. This
is achieved by using the DefaultValue attribute:
<Description("Determines the ending (dark) " + _
"color of the caption gradient fill."), _
DefaultValue(GetType(Color), "198, 210, 248"), _
Category("Caption")> _
Public Property CaptionRightColor() As Color
To draw disabled strings I use:
ControlPaint.DrawStringDisabled(g, CaptionText, _
m_CaptionFont, capcolor, CaptionRectF, format)
Similarly to draw disabled images I use:
ControlPaint.DrawImageDisabled(g, m_ExpandedImage, _
Me.Width - m_ExpandedImage.Width - 8, 2 + _
imageOffsetY, Me.CaptionRightColor)
Once again since this is more a copy/paste/organize operation then "new code", all credits go to those who wrote the original controls namely Daren May, Derek Lakin, Rob Tomson and the people who made TaskVision.
PaneBottomRightColor, PaneTopLeftColor, PaneOutlineColor
ImageOffset
between image and caption top.
CaptionTextAlign, can be Left,Middle
or Right
CaptionStyle=WrapAroundLine
ChevronStyle=PlusMinus
DrawChevronImage replaced by ChevronStyle. Currently
you can select Image, ArrowsInCircle, Triangle
or None.
FlatCaptionStyle replaced by CaptionStyle which can
be Normal or FlatLine.
CaptionCurveRadius
is also exposed now. Set it to 0 to remove curved captions.
BorderStyle. Enable border
drawing by setting DrawBorder to True
Note: If you are already using version 1.0, you will have to change your
form code to use CaptionStyle and ChevronStyle instead
of FlatCaptionStyle and DrawChevronImage.
Happy XPanding!
General
News
Question
Answer
Joke
Rant
Admin
|
PermaLink |
Privacy |
Terms of Use
Last Updated: 4 Jan 2004 Editor: Nishant Sivakumar |
Copyright 2003 by mkg Everything else Copyright © CodeProject, 1999-2009 Web12 | Advertise on the Code Project |