Tabber

Übersicht BlitzMax, BlitzMax NG Beginners-Corner

Neue Antwort erstellen

Pebender

Betreff: Tabber

BeitragSo, März 02, 2014 18:59
Antworten mit Zitat
Benutzer-Profile anzeigen
Hi,

irgendwie bin ich zu blöd dafür wenn ich tabber erstelle, wie bekomme ich z.b ein Textfeld auf den ersten Tabber??

Code: [AUSKLAPPEN]
Import MaxGui.Drivers

Strict

Local window:TGadget
Local tabber:TGadget
Local document:TGadget[3]
Local currentdocument:TGadget

' CreateDocument creates a hidden panel that fills entire tabber client area

Function CreateDocument:TGadget(tabber:TGadget)
   Local   panel:TGadget
   panel=CreatePanel(0,0,ClientWidth(tabber),ClientHeight(tabber),tabber)
   SetGadgetLayout panel,1,1,1,1
   HideGadget panel
   Return panel
End Function

' create a default window with a tabber gadget that fills entire client area

window=CreateWindow("My Window",30,20,400,300)

tabber=CreateTabber(0,0,ClientWidth(window),ClientHeight(window),window)
SetGadgetLayout tabber,1,1,1,1

' add three items and corresponding document panels to the tabber

AddGadgetItem tabber,"Document 0",False,-1,""
AddGadgetItem tabber,"Document 1",False,-1,"Tabber Tip 1"
AddGadgetItem tabber,"Document 2",False,-1,"tips 4 2"

document[0]=CreateDocument(tabber)
document[1]=CreateDocument(tabber)
document[2]=CreateDocument(tabber)

SetPanelColor document[0],255,200,200
SetPanelColor document[1],200,255,200
SetPanelColor document[2],200,200,255

' our documents start off hidden so make first one current and show

currentdocument=document[0]
ShowGadget currentdocument

' standard message loop with special tabber EVENT_GADGETACTION and EVENT_GADGETMENU handling

While WaitEvent()
   Select EventID()
      Case EVENT_GADGETACTION
         If EventSource()=tabber
            HideGadget currentdocument
            currentdocument=document[EventData()]
            ShowGadget currentdocument
         EndIf
      Case EVENT_GADGETMENU
         If EventSource()=tabber
            Notify "You right clicked the tab with index " + EventData() + "!"
         EndIf
      Case EVENT_WINDOWCLOSE
         End
   End Select
Wend


ist der Beispielcode, ich habe schon etliches versucht aber alles war falsch.

mfg
BMax & MaxGUI
 

CO2

ehemals "SirMO"

BeitragSo, März 02, 2014 20:04
Antworten mit Zitat
Benutzer-Profile anzeigen
Ich bin mir nicht sicher, ob ich das Problem richtig verstehe: Du erstellst eine Textarea an einer Position im Tabber. Wählt der Benutzer nun einen Reiter an, musst du entweder die Textarea ausblenden (HideGadget) bzw. einblenden (ShowGadget). So entsteht der Effekt des "Tabs wechseln", im Hintergrund sind aber alle Textareas oder andere Gadgets die ganze Zeit erhalten, sie wurden nur ausgeblendet. Momentan habe ich leider keinen Quellcode hier, mit dem ich das zeigen könnte...
mfG, CO²

Sprachen: BlitzMax, C, C++, C#, Java
Hardware: Windows 7 Ultimate 64-Bit, AMX FX-6350 (6x3,9 GHz), 32 GB RAM, Nvidia GeForce GTX 750 Ti

Pebender

BeitragSo, März 02, 2014 21:02
Antworten mit Zitat
Benutzer-Profile anzeigen
Danke, es habe selbst ich es verstanden.
ich habe versucht das Textfeld direkt auf den abber zu machen, statt auf das Window.
Aber wenn das so umständlich funktioniert, kann ich das ganze ja auch über Buttons machen.

mfg
BMax & MaxGUI

kog

BeitragSo, März 02, 2014 21:11
Antworten mit Zitat
Benutzer-Profile anzeigen
Am besten machst du die Sachen auf ein Panel.

Ich für meinen Teil nutze immer den Code von Blitzcoder:
https://www.blitzforum.de/foru...ght=tabber
Windows 7 Home Premium 64bit
CPU: Intel Core i5 3450 Ivy Bridge
GPU: HIS HD 4870 1GB GDDR5
RAM: 4x 4GB DDR3-SDRAM Dual Channel

Pebender

BeitragMo, März 03, 2014 9:13
Antworten mit Zitat
Benutzer-Profile anzeigen
Ja hatte ich schon gesehen, aber dank dir jetzt auch ausprobiert, sieht besser aus.
Danke
BMax & MaxGUI

Neue Antwort erstellen


Übersicht BlitzMax, BlitzMax NG Beginners-Corner

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group