6Click 'New Leaf' to add leafs; 'New Item' to add items
MS Sans Serif
leafheader
leaflabel2
1 of 1
leaflabel1
leafcorner
wwwwwww
pwwwwww
Panel3D2
SSPanel#
Captions
MS Sans Serif
Frame3D4
SSFrame
MS Sans Serif
List1
MS Sans Serif
Frame3D3
SSFrame
Captions
MS Sans Serif
Text1
Combo1
Text:
Label7
Panel3D3
SSPanel#
Tab Captions
MS Sans Serif
Command3
Apply Now
MS Sans Serif
Intro
loader
status
SSPanel#
MS Sans Serif
picToolbar
newitem
New Item
MS Sans Serif
newleaf
New Leaf
MS Sans Serif
Line6
Line5
Line4
wwwwwwwwwwp
wwwwwwwwwwp
wwwwwwwwwwp
wwwwwwwwwwp
wwwwp
wwwwp
wwwwwwwwwww
wwwwwwwwwww
wwwwwwwwwww
wwwwwwwwwww
wwwwwwwwwww
wwwwwwwwwww
SSPanel#
SSCommand
SSCommand
SSCommand
SSCommand
SSCommand
wwwwwwwwp
ffffffff
ffffffff
SSCommand
fffff`
ffff`
ffff`
ffff`
ffff`
ffff`
ffff`
ffff`
ffff`
fffff
fffff
SSCommand
wwwwwwww
wwwwwwwwxp
wwwwwwwwxp
ffffffff`wwwxp
Image6
wwwwwwww
wwwwwwww
wwwwwwww
wwwwwwww
wwwwwwww
wwwwwwww
wwwwwwww
wwwww
wwwww
wwwww
wwwwwx
wwwwwwww
wwwwwwww
Image6
wwwwwwww
wwwwwwww
wwwwwwww
wwwwwwww
wwwwwwww
wwwwwwww
wwwwwwww
wwwww
wwwww
wwwww
wwwww
wwwwwwww
wwwwwwww
Panel3D3_DragDrop
Source
Control}
TabData
Initialize
numpages
active?
colsy
orient
tabsup
tLeft
tTopV
minwidtht
minheight5
DefineControlI
tabbox
invbox
Form_Load
Form_Resize
windowstate
TabResize
tabbox_Click
TabClickj
Button
tabbox_MouseUp
Shift]
tabbox_PaintW
DrawText]
panel3d^
frame3d
picbox1
picbox2U
msframe
tboxq
tControlWidth
tControlHeight`
scaleheight
pages
define
imgCopyButton_Click
tbox_Change
text1
textbox
thisQ
sample
demonstrates)
multiple8
types~
WidthJ
Heightu
status
insetx
insety
LoadText
couple
extra
steps3
required
list1
List1_Click&
Value
Command1_Click
combo1?
Text1_Change-
Text1_KeyPress6
keyascii
command36
Thencommand3f
Command3_Clicki
ListIndex
Combo1_Changev
Combo1_Click
Command2_Click
frame1v
Visible
Drive1_Change
drive1.
Drive
driveerrP
Dir1_Change
file1
File1_Click
GetIconD
fileR
hIcon
GetWindowWord{
GWW_HINSTANCE
ExtractIcon
DrawIcon
iconbox
nIndex
hisnt
lpszExeName>
iIcon
loader
Picture
Image
Image1_Click
Index
Text2_Change
Place
PlaceThings3
b_Click/
msframe_DragDrop
panel3d2
Printer
FontCount
Fonts
screen
FontName!
Page1c
IconPage
TextPage`
NewPages
Addicon
Action
Filename
genericX
Command7_Click&
leafpic
leaftitle\
FiletitleG
leafcorner_Clickn
leafbtn_Click
leafbtn
Enabled
SetParent
hWndChild
hWndNewParent
Command5_Click
createpage_Click
gtext1
gtext2
Picture1_Click
gcheck1A
gicon;
gcheck1_Click
gpanel,
Caption
newtag
gcheck2n
newpage_Click
activeleaf
iconnumber
newitem_Click
newleaf_Click
leaflabel2
thennewleaf
newleaf
picsonleaf
total
leafcap
position
leafpagem
Leaf_Clickb
leaf_paint
CurrentX
CurrentY
paint
numleafs
i_Click
leafpic_Click
newitemd
used for new pages demo
used for leaf demo
shell.dll
Combo1_Click
Command1_Click
Command3_Click
Form_Load
Form_Resize
adjust the pages as you wish
PageResize Me, -1, -1, page(), tb-
GetIcon
no icons
Initialize
set to highest index (total-1)
===create an array of controls
for this example, use an assortment of control types a
as the pages
===fill in the fields of the struct
number of tabs
initial focusa
number of tabs in each row
0 = up, 1 = down
if the tab control does not fill the form, you must
define the size of the control
(note: width will be set to the tabbox width)u
optional:t
leaf_paint
s$ = lp.Caption(lp.active * 8 + y * 4 + x + 1)
leafcorner_Click
leafpic_Click
Item clicked.
List1_Click
LoadText
This sample demonstrates the placement of the tab control on a form with other controls.
It also demonstrates an assortment of other variations on the control's usage.
It shows the use of multiple control types as the tab control's 'pages'.
It demonstrates the placement of the tabs on a container other than a form (e.g. a 3d panel).
And it shows how to implement runtime property changes.
A couple of extra steps are required in this case.
1. You must set the Left, Top, and Height properties before calling DefineControl(). If you do not set Width, it will default to the designtime width of the tabbox. Note that this differs from the case when all these values are 0, which defaults to the size of Page().
2. You must handle resizing the tabbox and the pages if you place it on a resizable window. (Not supported and not recommended. I haven't tried it; extensive code modification may be required.)
3. You must assign controls to the page() array with individual Set statements for each page().
4. The tab control code only draws within the tabbox; if you wish to get a proper 3D effect, you must handle the additional drawing yourself. An early version of this sample used 6 Line controls to achieve consistency with the other controls. This worked fine but made design modifications a nightmare.
It now sits on a 3D panel.
This sample is fairly well junked up with dummy controls. It should give you some indication of how the performance of the code is affected by an increase in the number of controls on each page. The hit should be negligible, but notice that some combinations refresh more slowly, and flipping between light and dark backgrounds can be unpleasant.
newitem_Click
load a picturebox values: 1 to 32
load a picture into it
Cannot extract an icon from this file.
set its parent
increment number of items on this leaf
values: 1 - 8
each position has a unique index, remember what's there