Article View: be.comp.programming
Article #14541Re: Hoe objecten op een TabStrip in VB6 toevoegen?
From: AquatiK
Date: Sat, 27 Jan 2001 18:06
Date: Sat, 27 Jan 2001 18:06
60 lines
3341 bytes
3341 bytes
Verhaeghe Pieter wrote:
> Hoe kan ik objecten (zoals ListBox, ComboBox, ...) invoegen op een TabStrip
> (tabblad) in Visual Basic?
> Hoe moet ik dan de verschillende tabbladen selekteren?
De truuk is dat je een aantal frames (een control-array!) definieert die
mekaar netjes overlappen binnen de Tab-control. (in de ontwikkelfaze zet
je die natuurlijk even uit mekaar). Elke frame (waarvan de border
uiteraard onzichtbaar kan zijn in de run-faze - ik hou het graag
zichtbaar, zet ze in de load-faze onzichtbaar) laat je overeenkomen met
1 tabbetje in de tab-control. Frame(0) komt overeen met het eerste
tabbetje, frame(1) met het tweede, enz...
*Binnen* die frames zet je dan al je controls en schermelementen. De
frame werkt als container, als je die dus zicht- of onzichtbaar zet,
worden alle controls en elementen erin ook meteen zicht/onzichtbaar. Je
weet toch hoe je een control binnen een frame/container brengt? (ikzelf
definieer hem vlug op de form, selekteer hem, dan knippen (ctrlx), dan
de container/frame aanklikken, en plakken (ctrlv).
Bij elk tabclick-event ga je nu de overeenkomstige frame zichtbaar
zetten, en alle andere onzichtbaar. Heb je bvb. 5 tabs, dan zet je bij
een klik op het tweede tabbetje frame(0),frame(2,3,4) onzichtbaar, en
frame(1) zichtbaar.
------------
' Per design zijn alle frames(0..NumberOfFrames-1) onzichtbaar... (naam
= TabFrame)
Dim mintCurFrame As Integer
Const NumberOfFrames = 7
Private Sub Form_Load()
Dim I As Integer, H as Long
'
mintCurFrame = 0 ' (ofwel terug te halen uit de INI file of registry
(laatste waarde)
' (je zet dan uiteraard bij de form_unload deze
waarde terug in de registry/ini)
TabFrame(mintCurFrame).Visible = True
For I = 0 To NumberOfFrames - 1
TabFrame(I).Caption = "": TabFrame(I).BorderStyle = 0
TabFrame(I).Left = (TabStrip1.Width - TabFrame(I).Width) / 2
TabFrame(I).Top = TabFrame(0).Top
Next I
End Sub
Private Sub TabStrip1_Click()
Dim I As Integer, L As Long
I = TabStrip1.SelectedItem.Index - 1
If I = mintCurFrame Then Exit Sub
TabFrame(I).Visible = True
If mintCurFrame >= 0 Then TabFrame(mintCurFrame).Visible = False
mintCurFrame = I
End Sub
Succes,
Hugo Maes
Technical Details
Message-ID:
<3A730EFC.C25E988B@chello.be>Path:
arc1-ca.pugleaf.net!supernews.google.com!sn-xit-02!supernews.com!isdnet!195.162.196.73.MISMATCH!zapata.tvd.be!news.tvd.be!news.chello.be!not-for-mailReferences:
<94sc70$209$1@news1.skynet.be>Show Full Headers
Complete Article Headers
X-Google-Language: DUTCH,ASCII-7-bit X-Google-Thread: 107324,1e3e8378202dc49d X-Google-Attributes: gid107324,public X-Google-Thread: fcea4,1e3e8378202dc49d X-Google-Attributes: gidfcea4,public X-Google-ArrivalTime: 2001-01-27 11:07:28 PST Path: arc1-ca.pugleaf.net!supernews.google.com!sn-xit-02!supernews.com!isdnet!195.162.196.73.MISMATCH!zapata.tvd.be!news.tvd.be!news.chello.be!not-for-mail Message-ID: <3A730EFC.C25E988B@chello.be> From: AquatiK <Hugo.Maes@chello.be> X-Mailer: Mozilla 4.75 [en] (Win98; U) X-Accept-Language: en MIME-Version: 1.0 Newsgroups: be.comp.programming,nl.comp.programmeren Subject: Re: Hoe objecten op een TabStrip in VB6 toevoegen? References: <94sc70$209$1@news1.skynet.be> Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit Lines: 60 Date: Sat, 27 Jan 2001 18:06:01 GMT NNTP-Posting-Host: 195.162.211.85 X-Complaints-To: abuse@chello.be X-Trace: news.chello.be 980618761 195.162.211.85 (Sat, 27 Jan 2001 19:06:01 MET) NNTP-Posting-Date: Sat, 27 Jan 2001 19:06:01 MET Organization: Chello Usenet Service