Aktuelle Zeit: 21.09.2019, 13:10

Alle Zeiten sind UTC + 1 Stunde




Ein neues Thema erstellen Auf das Thema antworten  [ 2 Beiträge ] 
Autor Nachricht
 Betreff des Beitrags: GUI: TabControl und Tabs
BeitragVerfasst: 15.11.2009, 16:58 
Offline

Registriert: 15.11.2009, 16:35
Beiträge: 1
Hallo,

ich möchte einen Dialog zum Erstellen von neuen Maps in meinen Mapeditor integrieren. Nun wollte ich dafür Tabs einsetzen, um eine Unterteilung der Einstellungen vornehemn zu können.
Mein Code (C++) dazu:
Code:
m_GuiEnv = DEVICE->getGUIEnvironment();

void CreateMapDialog()
{
   m_Window = m_GuiEnv->addWindow( core::rect<s32>( 0, 0, 600, 400), true, L"Create New Map");

   m_GuiEnv->addStaticText( L"Name:", core::rect<s32>( X1, Y1, X2, Y2), false, true, m_Window);
   m_GuiEnv->addEditBox( L"", core::rect<s32>( X3, Y1, X4, Y2), true, m_Window);

   // ...

   m_GuiEnv->addButton( core::rect<s32>( X5, Y17, X6, Y18), m_Window, CANCEL_BUTTON, L"Cancel");
   m_GuiEnv->addButton( core::rect<s32>( X9, Y17, X10, Y18), m_Window, CREATE_BUTTON, L"Create");

   gui::IGUITabControl* tab_control = m_GuiEnv->addTabControl( core::rect<s32>( 302, 24, 596, Y16), m_Window, true, true);
   gui::IGUITab * tab1 = tab_control->addTab( L"Size");
   gui::IGUITab * tab2 = tab_control->addTab( L"Design");

   m_GuiEnv->addStaticText( L"Width:", core::rect<s32>( X5, Y3, X6, Y4), false, true, tab1); // <- wird nicht sichtbar
   m_GuiEnv->addEditBox( L"", core::rect<s32>( X7, Y3, X8, Y4), true, tab1); // <- wird nicht sichtbar

   // ...
}



Generell werden alle Gui-Elemente mit m_GuiEnv->drawAll(); gezeichnet.

Das Problem:
Die Elemente, die als Parent einen Tab haben, werden nicht angezeigt (vllt unter den Tabs versteckt?) !
Ich habe mir schon Beispielcodes angeschaut und verglichen sowie verschiedene Sachen (z.B. bringToFront) ausprobiert, jedoch ohne Erfolg.

Wo liegt der Fehler?
Ich hoffe es kann mir jemand helfen, eig kann das doch nicht so schwer sein?!

MfG,
Arevil


Nach oben
 Profil  
 
 Betreff des Beitrags: Re: GUI: TabControl und Tabs
BeitragVerfasst: 18.11.2009, 14:25 
Offline
Benutzeravatar

Registriert: 17.04.2007, 08:42
Beiträge: 460
Wohnort: Willich, NRW
Recht merkwürdig, ich hatte auch mal mit tabs gearbeitet und suche gerade den code durch, aber naja werd nicht so recht fündig (noch am suchen).

Was eigentlich unwahrscheinlich ist, dass die Elemente mit visible = false erzeugt werden. Setz das flag einfach mal vorsichtshalber auf true (kanns mir aber eig nicht vorstellen ...).

Was du aber noch machen könntest ist, das Zeichnen erzwingen. IGUIElement->draw(); Damit lässt du es nicht vom GUIManager in der Mainloop rendern, sondern an genau jener Stelle. Eben nochmal n bringToFront() vorne ran und scauen obs zum vorschein kommt.

Als nächstes überprüfe mal die Koordinaten, mit denen die Buttons erzeugt werden. Wenn nämlich die rectangles nicht valid sind (d.h. LowerRightCorner < LeftUpperCorner), werden die Buttons natürlich auch nicht gezeichnet.

Wenn das alles nichts bringt wirds wohl an der ganzen tab-sache liegen und ich werd mal den code doch weiter durchsuchen müssen^^'

mfg heck

_________________
Bild

Irrlicht - From Noob To Pro A Guideline

--

Sonstige Projekte, Blog : http://www.rpdev.net


Nach oben
 Profil  
 
Beiträge der letzten Zeit anzeigen:  Sortiere nach  
Ein neues Thema erstellen Auf das Thema antworten  [ 2 Beiträge ] 

Alle Zeiten sind UTC + 1 Stunde


Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 1 Gast


Du darfst keine neuen Themen in diesem Forum erstellen.
Du darfst keine Antworten zu Themen in diesem Forum erstellen.
Du darfst deine Beiträge in diesem Forum nicht ändern.
Du darfst deine Beiträge in diesem Forum nicht löschen.
Du darfst keine Dateianhänge in diesem Forum erstellen.

Suche nach:
Gehe zu:  
cron
Powered by phpBB® Forum Software © phpBB Group
Deutsche Übersetzung durch phpBB.de