🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: be.comp.programming
Article #14541

Re: Hoe objecten op een TabStrip in VB6 toevoegen?

#14541
From: AquatiK
Date: Sat, 27 Jan 2001 18:06
60 lines
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-mail
References: <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