BlitzUI

Übersicht BlitzBasic Allgemein

Neue Antwort erstellen

Splinner

Betreff: BlitzUI

BeitragDo, Jan 06, 2005 18:17
Antworten mit Zitat
Benutzer-Profile anzeigen
hallo,

Ich guck mir gerade die BlitzUI an , allerdings verstehe ich nicht ganz wie ich buttons abfragen kann...
z.b.

ich erstelle einen button und will wenn man ihn drückt eine aktion ausführen , wie geht das?

Splinner

BeitragDo, Jan 06, 2005 18:20
Antworten mit Zitat
Benutzer-Profile anzeigen
ah fadammt is ja ganz einfach...hat sich shcon erledigt sr

Splinner

BeitragDo, Jan 06, 2005 18:44
Antworten mit Zitat
Benutzer-Profile anzeigen
hm... ich hab da jetzt doch noch ein problem...

also , ich habe ein Fenster Erstellt mit einem Menu oben :

Spiel : Optionen : Map Editor
Neu Einstellungen ihr wisst schon....
Laden u.s.w
Beenden u.s.w


so ich will nun unter jedem Menu_punkt andere Objekte in dem Fenster zu sehen bekommen, jedoch weiß ich nicht wie ich das realiesieren soll...

muss man vieleicht die Menu_buttons mit einzelnen Objekten verknüpfen? oder wie genau geht das, vllt kann mir ja mal eben jemand der sich damit auskennt ein beispiel coden...

thx schonmal
 

OJay

BeitragDo, Jan 06, 2005 19:27
Antworten mit Zitat
Benutzer-Profile anzeigen
hä? nix verknüpfen...wenn ein menüpunkt angeklickt wurde, wird dessen handle in die "EVENT_MENU" variable übertragen, auf die du dann reagieren kannst. in deinem falle dann eben den inhalt deines fensters verändern...

Splinner

BeitragDo, Jan 06, 2005 19:34
Antworten mit Zitat
Benutzer-Profile anzeigen
ja , aber wenn ich den inhalt meines Fensters dann verändere Erscheint immer noch das vom daforigen Menupunkt...kannst du mir nicht mal eben schnell ein Beispiel machen?

DA

BeitragDo, Jan 06, 2005 19:50
Antworten mit Zitat
Benutzer-Profile anzeigen
Moin,

1. Das hier kommt glaube ich lieber in andere Programme oder tools.

2. denke erst vor dem Posten nach ob das wirklich sinvoll ist was du hier schreibst.

3. Ich denke du musst den Bildschirm löschen und dan einfach das Fenster neu zeichnen. Wink


Thx
DarkAngel
Deutscher Blitz Basic Chat
 

OJay

BeitragDo, Jan 06, 2005 19:54
Antworten mit Zitat
Benutzer-Profile anzeigen
darkangel: einfach mal die fresse halten, ... Wink


splinner: du willst also auch die menüpunkte komplett verändern??! o_O was soll das denn für ein programm werden? errinnert mich an corel9...da hat sich auch bei jedem klick, die komplette applikation neu aufgebaut ^^

erkläre genauer, was du machen willst, mit screen/skizze, ich bin sicher, das das einfacher geht, was du machen willst!

Splinner

BeitragDo, Jan 06, 2005 20:42
Antworten mit Zitat
Benutzer-Profile anzeigen
also , so hab ich das jetzt gelöst , aber das is sicher nich sinn und zweck der sache... du wirst schon sehen was ich meine , wenn du den code ausführst :

Code: [AUSKLAPPEN]

Graphics 800, 600, 16, 1
SetBuffer BackBuffer(  )
HidePointer

Include "blitzui.bb"

;Load fonts and mouse cursors
;and collect information
Initialise(  )

;bgimg = LoadImage ("GFX\bgimg.bmp")

;Window
win001 = Window( -1, -1, 420, 300, "New Islands", "0", 1, 1, 0, 0 )
mnut001 = MenuTitle( "Spiel" )
mnui001 = MenuItem( mnut001, "Neu", "Alt+N", "0", 0, 0, 0 )
mnui002 = MenuItem( mnut001, "Laden", "Alt+L", "0", 0, 0, 0 )
mnui003 = MenuItem( mnut001, "Beenden", "Alt+B", "0", 0, 0, 0 )
mnut003 = MenuTitle( "Optionen" )
mnui008 = MenuItem( mnut003, "Spieler Einstellungen", "", "0", 0, 0, 0 )
mnui009 = MenuItem( mnut003, "Spiel Einstellungen", "", "0", 0, 0, 0 )
mnut004 = MenuTitle( "Mapeditor" )
SendMessage( mnut004, "MM_DISABLE" )
mnui011 = MenuItem( mnut004, "Neue Map", "", "0", 0, 0, 0 )
mnui012 = MenuItem( mnut004, "Map Laden", "", "0", 0, 0, 0 )



;########################################################################## MAIN
Repeat


    ;DrawBlock bgimg,0,0
   ;Draw the GUI and update the mouse
   UpdateGUI(  )
   
   ;Event Handling
   Select app\Event
      Case EVENT_WINDOW
         Select app\WindowEvent
         End Select
      Case EVENT_MENU
         Select app\MenuEvent
            Case mnui001
               Erstelle_Neu()
            Case mnui002
               Erstelle_Laden()
            Case mnui003
               app\Quit = True
               
         End Select
      Case EVENT_GADGET
         Select app\GadgetEvent
         End Select
   End Select
   
   If sendmessage(mnui003,"") = 1 Then End

   
   ;Draw the mouse
   DrawMouse(  )
   
   ;Reset all GUI events
   ResetEvents(  )


   Flip
   Cls

Until KeyHit( 1 ) Or app\Quit = True
;Free all images and controls created by BlitzUI
Destroy(  )
End


;####################################################################### Funktionen
Function Erstelle_neu()

   cbo002 = ComboBox( 50, 69, 200, 20 )

   cbo003 = ComboBox( 50, 124, 200, 20 )

   cbo004 = ComboBox( 50, 182, 200, 20 )
   AddComboBoxItem( cbo004, 0, "1. Zeitalter", "" )
   AddComboBoxItem( cbo004, 0, "2. Zeitalter", "" )
   AddComboBoxItem( cbo004, 0, "3. Zeitalter", "" )
   AddComboBoxItem( cbo004, 0, "4. Zeitalter", "" )
   AddComboBoxItem( cbo004, 0, "5. Zeitalter", "" )
   AddComboBoxItem( cbo004, 0, "6. Zeitalter", "" )
   AddComboBoxItem( cbo004, 0, "7. Zeitalter", "" )
   AddComboBoxItem( cbo004, 0, "8. Zeitalter", "" )
   AddComboBoxItem( cbo004, 0, "9. Zeitalter", "" )
   AddComboBoxItem( cbo004, 0, "10. Zeitalter", "" )

   grp002 = GroupBox( 23, 32, 270, 200, "Einstellungen" )
   lbl001 = Label( 50, 49, "Map Auswahl", 0 )
   lbl002 = Label( 50, 102, "Spieler Auswahl", 0 )
   lbl003 = Label( 50, 159, "Start Zeitalter", 0 )
   
   btn001 = Button( 304, 202, 100, 30, "Starten", "0", 1, 0, 0 )
   SendMessage( btn001, "BM_DISABLE" )
End Function

Function Erstelle_Laden()
   btn001 = Button( 304, 202, 100, 30, "Starten", "0", 1, 0, 0 )
   SendMessage( btn001, "BM_DISABLE" )
   cbo001 = ComboBox( 45, 72, 200, 20 )

   grp002 = GroupBox( 33, 41, 255, 66, "Laden" )
   lbl001 = Label( 45, 54, "Gespeichertes Spiel waehlen", 0 )
End Function

DA

BeitragDo, Jan 06, 2005 20:57
Antworten mit Zitat
Benutzer-Profile anzeigen
Moin,

@ OJay
Ja Ja wie immer...Rolling Eyes

Thx
DarkAngel
Deutscher Blitz Basic Chat
 

OJay

BeitragDo, Jan 06, 2005 22:00
Antworten mit Zitat
Benutzer-Profile anzeigen
jo aaalso splinner:
das was du da machen willst ist hochgradig...waaaahhhhh Wink

mache es wie folgt:
erstelle ein fenster für "neu" und ein fenster für "laden", direkt nach dem ersten fenster. setze beide modal ("WM_SETMODAL") und verstecke danach beide (mit der funktion HideGagdet()).
so.
wenn nun der benutzer im menü laden anklickt, führst du die funktion ShowGadget() auf das laden-fenster aus. nun kannst du auf den ok und abbrechen button reagieren (global eindeutige namen vergeben! z.b. btnLadenOk, btnLadenCancel).
wenn der benutzer nun einen dieser buttons geklickt hast, versteckst du das entsprechende fenster wieder mit hidegagdet() und führst die operationen aus (bei ok die map laden, bei abbrechen meistens nichts).

soviel zum crashkurs über eventbasierte-guiprogrammierung Smile

Splinner

BeitragFr, Jan 07, 2005 15:10
Antworten mit Zitat
Benutzer-Profile anzeigen
ah danke danke....
werd das gleich mal austesten

Neue Antwort erstellen


Übersicht BlitzBasic Allgemein

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group