I am working on the next update to rkSmartTabs and this is more or less what I have come up with.
What you see on the picture is a smarttab with more tabs than fit the view, the three first tabs are pinned tabs so they are not scrollable. It is not finished as you can see from the rendering. A lot of coding remains.
You are welcome to give me feedback on this one.
Just an update of what I am working on.
I also have some updates of some of my other components coming up.
When doing graphics filters I am often annoyed by the fixed dialog most people use, so I decided to try to come up with an alternative solution and this is what I did.
To compile the demo you need to install the included component, rkFilterPreviewDialog.
This component will display a dialog according to the instructions in the controls property. You can add a label, trackbar, radiobutton or a space command.
Commands you can use are:
L:Just a label
R:Radio button:0 // change zero to one to select it
S:16 // a 16 pixels space is added before next component is added
T:0:100:10:10 // Trackbar:Min:Max:Value:Frequency
You can use the properties CtrlBegin and CtrlEnd to say where the dialog starts and end. From line to line. See demo to get a better view.
Remember to set UseBeginEnd when using these properties.
Here is the setup for the dialog in the picture above.
The demo shows how everything works a lot better than I can explain.
So what is new, what have I done.
I removed some properties, like the bottomline and its color property.
I added an opacity property. All panels in the screenshot are rkVistaPanels even the main background.
Some code cleanup.
Version 1.8 of rkSmartTabs is up. A lot of new stuff in here.
A few things that are new.
Tab captions are now rendered a little different and close button are adjusted down a little.
You can now pin a tab to the left side. See image above, three pinned tabs to the left.
Use UnpinTab(ATab) to unpin a tab and PinTab(ATab) to pin a tab. A pinned tab can only show a glyph. You can use TabPinned(ATab) to check if a tab is pinned. Because of the way pinned tabs are handled you should use SetTabName and GetTabName to set and get the caption of a tab. To get which tab is under the cursor you can use the GetTabAtXY function.
There is a new property, OnCustomDraw, that will lett you draw onto a tab. This can be used to paint a progress indicator or other thing you would like to put on a tab.
Some new properties
Now you can control the colors of your tabs
The border colors ColorBrdActive
Text outline colors ColorOutActive
Color of the tabs ColorTabActive
Tabs caption text ColorTxtActive
GdiPlusText, this property is used when painting tabs in aero glass. I could not make gdi text work properly with aero so you need to enable gdi+ text rendering when using aero. If not using too transparent tabs aero works ok.
You can set the opacity of a tab state using the following properties LevelTabActive
Outline Text can be outlined by setting this property to true. This is not operativ when using gdi+ text
PinnedStr New in this version is pinned tabs set the symbol string you want to use for marking a pinned tab here
SeeThruTabs This property will let the other tabs shine thru, see what it looks like in picture above
Download at downloads page
This component uses the GDI + headers found at progdigy.com
In Delphi XE this is not working very well… one solution might be to rename the gdi+ units. I am trying to resolve this issue but as long I can not test, it is a little difficult. Maybe use graphics32 as the base is better?
This is the source code of the teaser program. Take note that this is just a sample and not, in any way, a complete application.
It uses a lot of my components so I suggest you download and install all of them.
Original a D2007 project but now a D2010 project. This means that the saving and loading of the albums are in ansi code and not unicode. When compiling in D2010 you will get a lot of warnings. I needed it to be in ansi code to be compatible with my existing album files. It should not be to difficult to come up with a different way of loading and saving albums.
Hope this helps a little in working with rkSmartView.
Ctrl + arrow left and right to expand and close all groups.
Space = Preview
Alt + left mousebutton will show image information.
F8 will show statistic information.
Press and hold left mousebutton in imagepreview to zoom.