Uso della Classe WorkSpace
Da Gambas-it.org - Wikipedia.
Versione del 12 gen 2013 alle 06:11 di Vuott (Discussione | contributi)
La Classe WorkSpace consente di utilizzare un oggetto speciale somigliante ad una TabStrip. La WorkSpace implementa un'area di valoro naloga ad una TabStrip, in ciascuna scheda della quale è possibile inglobare delle finestre di primo livello. Per poter inglobare tali oggetti Window nella WorkSpace, sarà necessario inanzitutto istanziarli, e, differentemente dall'oggetto TabStrip', bisognerà inserirli mediante il metodo .Add .
Ci si sposterà da una scheda ad un'altra della WorkSpace, semplicemente cliccando sulla rispettiva linguetta.
Per poter utilizzare detta Classe bisognerà attivare il componente: gb.form.mdi .
Esempio pratico
Mostriamo un semplice esempio, nel quale viene creata una WorkSpace con tre schede:
Private ws As Workspace Public Sub Form_Open() ' Dichiariamo la variabile del tipo Window per le finestre ' che dovranno essere inglobate nelle schede della "WorkSpace": Dim w As Window Dim ww As New Window[] Dim j As Byte ' Istanziamo ad esmepio tre oggetti di tipo "Window" ' che saranno inglobati in tre rispettive schede della "WorkSpace": For j = 0 To 2 With w1 = New Window(fmain) .Border = True .W = 100 .H = 100 Select Case j Case 1 ' Nel secondo oggetto "Window" poniamo una immagine: .Picture = Picture.Load("percorso_file_immagine") Case 2 ' Nel terzo oggetto "Window" poniamo una "TextLabel", ' affinché si abbia almeno una scheda della "WorkSpace" con del testo: With tl = New TextLabel(w1) .X = 60 .Y = 100 .W = 150 .H = 80 .Border = Border.Sunken .Background = Rnd(&000000, &FFFF00) .Text = "Questa è una TextLabel posta nella terza scheda della WorkSpace !" End With End Select ' Diamo un colore casuale a ciascuna "Window": .Background = Rnd(&000000, &FFFF00) End With ' Inseriamo ciascuna "Window" in una variabile array di tipo "Window", ' per poter trasferire le variabili "Window" alla "WorkSpace" successivamente: ww.Add(w1) Next ' Creaiamo l'oggetto "WorkSpace" e gli attribuiamo delle proprietà: With ws = New Workspace(FMain) As "pippo" .X = 10 .Y = 30 .W = 400 .H = 400 For j = 0 To ww.Max .Add(ww[j]) .Windows[j].Caption = "Scheda" & CStr(j + 1) ' Poniamo le linguette di ciascuna scheda in alto (ad ogni modo così è di default). ' Se volessimo farle apparire in basso la proprietà sarebbe: "Align.Bottom": .Orientation = Align.Top .Font.Bold = True Next ' Stabiliamo che la scheda in risalto sarà la seconda: .ActiveWindow = ww[1] End With End