BASIC

Author Topic: Buttons für Jedeman  (Read 3220 times)

Offline mull

  • Mr. Polyvector
  • ***
  • Posts: 168
    • View Profile
    • http://www.ligapro.de
Buttons für Jedeman
« on: 2007-Jun-07 »
Hiermit kann jeder schnell und einfach Buttons für sein Programm verwenden.
Zusätzlich sind noch Funktionen für 3D Boxen und Mittiger TExt dabei.
Enfach kopieren und ausprobieren.

SYSTEMPOINTER TRUE
ED=1
WHILE TRUE
   MOUSESTATE mx, my, mb1, mb2
   IF Menu1=0 AND Butt("Hauptmenue", 200, 100, 200, 50, RGB(50,150,200))
     Menu1 = 1
   ELSE
     IF Menu1=0 AND Butt("ENDE", 200, 200, 100, 50, RGB(50,150,200))
        END
     ENDIF  
   ENDIF
   IF Menu1
     IF Butt("Menue Schliessen", 250, 300, 250, 40, RGB(50,150,200))
       Menu1 = 0; qw=0
     ELSE
       IF Butt("Editor " + ED, 250, 150, 150, 30, RGB(50,150,200))
         ED = -ED
       ELSE
         IF Butt("Spielerei", 250+qw, 200, 190, 30, RGB(50,150,200))
           INC qw, 10
         ENDIF
       ENDIF
     ENDIF
   ENDIF

SHOWSCREEN
WEND
//
//
// ------------------------------------------------------------- //
// -=#  BOX  #=-
// ------------------------------------------------------------- //
FUNCTION Box: X, Y, W, H, Col, Press
  LOCAL Fa, Dunkel = RGB(22,22,22), Hell = RGB(244,244,244)
  INC W, X; INC H, Y
  IF Press = 1
    Fa=Dunkel; Dunkel= Hell; Hell=Fa
  ENDIF
  FILLRECT X, Y, W, H, Col
  DRAWLINE X, Y, W, Y, Hell   // oben
  DRAWLINE W, Y, W, H, Dunkel // rechts
  DRAWLINE X, H, W, H, Dunkel // unten
  DRAWLINE X, Y+1, X, H, Hell // links
ENDFUNCTION // BOX
// ------------------------------------------------------------- //
// -=#  BUTT  #=-
// ------------------------------------------------------------- //
FUNCTION Butt: Tex$, X, Y, W, H, Col
   //Butt wird immer Mittig angezeigt
   //PRINT mb1+" , "+ButtKlick+ " BX: "+ ButtMausX  + " BX: "+ ButtMausX ,0,30
   DEC X, W/2; DEC Y, H/2
   Box(X, Y, W, H, Col, 0) ; Text(Tex$, X+W/2, Y+H/2) // Normal
    IF istdrin(X, Y, W, H)  
       IF mb1=0 AND ButtKlick = 0
         ALPHAMODE 0.15 ; Box(X, Y, W, H, Col, 0)  // Hoverefekt
       ELSE  // gedrückt
          ALPHAMODE 0 ; Box(X, Y, W, H, Col, 1) ; Text(Tex$, X+W/2, Y+H/2) // Normal
          ALPHAMODE 0.15 ; Box(X, Y, W, H, Col, 0)  // Hoverefekt
          ButtKlick = 1 ; Press = 1
          ButtMausX = mx; ButtMausY = my
          IF mb1 = 0  //Maus losgelassen
             ButtKlick = 0; ButtMausX = -1 ; ButtMausY = -1
             PLAYSOUND (Sound, 0, .95)
             RETURN 1
          ENDIF
       ENDIF
    ENDIF
    ALPHAMODE 0
    IF mb1 = 0 AND ButtKlick = 1 AND ButtMausX <> mx AND ButtMausY <> my
       ButtKlick = 0; ButtMausX = -1 ; ButtMausY = -1
    ENDIF
ENDFUNCTION // BUTT
// ------------------------------------------------------------- //
// -=#  ISTDRIN  #=-
// ------------------------------------------------------------- //
FUNCTION istdrin: X, Y, W, H
   IF (mx >= X AND mx <= X + W) AND (my >= Y  AND my <= Y + H) THEN RETURN 1
ENDFUNCTION // ISTDRIN
// ------------------------------------------------------------- //
// -=#  TEXT  #=-  Mittiger Text
// ------------------------------------------------------------- //
FUNCTION Text: Text$, X, Y
  GETFONTSIZE W, H
  W = W * LEN(Text$)
  PRINT Text$, X - W / 2 , Y - H / 2   
ENDFUNCTION // TEXT
AMD Phenom II x4 955 Proc. 3.2 GHZ,  4GB Ram
Windows 7 64bit Ultima
NVIDIA GeForce GTX 460
Leistungsindex 5,7

Offline Schranz0r

  • Premium User :)
  • Administrator
  • Prof. Inline
  • *******
  • Posts: 5028
  • O Rly?
    • View Profile
Buttons für Jedeman
« Reply #1 on: 2007-Jun-07 »
Hab ich auch schon gemacht,


Guckst du da:  http://www.styleattax.de/phpBB/viewtopic.php?t=5

Ist aber eine Simple Variante
I <3 DGArray's :D

PC:
AMD Ryzen 7 1700 @3.9GHz, 16GB HyperX Fury 3000MHz Ram, ASUS ROG GTX 1060 STRIX 6GB, Windows 10 Pro 64Bit, MSi Tomahawk B350 Mainboard

Offline Kitty Hello

  • code monkey
  • Administrator
  • Prof. Inline
  • *******
  • Posts: 10719
  • here on my island the sea says 'hello'
    • View Profile
    • http://www.glbasic.com
Buttons für Jedeman
« Reply #2 on: 2007-Jun-08 »
Yo. Cool. Ich verwende trotzdem meistens lieber DDgui, weil's bisserl mehr bietet.

Offline Schranz0r

  • Premium User :)
  • Administrator
  • Prof. Inline
  • *******
  • Posts: 5028
  • O Rly?
    • View Profile
Buttons für Jedeman
« Reply #3 on: 2007-Jun-17 »
Jow die DDgui können aber net alle benutzen, da wird man ja blöd im Kopf :D....   zu viele Befehle, bin froh das die net in der Befehlreferenz drin steht, dann hätte ich ja keinen durchblick mehr =)
I <3 DGArray's :D

PC:
AMD Ryzen 7 1700 @3.9GHz, 16GB HyperX Fury 3000MHz Ram, ASUS ROG GTX 1060 STRIX 6GB, Windows 10 Pro 64Bit, MSi Tomahawk B350 Mainboard

Offline Kitty Hello

  • code monkey
  • Administrator
  • Prof. Inline
  • *******
  • Posts: 10719
  • here on my island the sea says 'hello'
    • View Profile
    • http://www.glbasic.com
Buttons für Jedeman
« Reply #4 on: 2007-Jun-18 »
Hä!?:
Das ist doch nur:
DDGui_PushDialog()
DDGui_Text / DDgui_Button / usw.. (Das Teil machen)

und dann:
DDGui_Show();
DDgui_Get("object_TEXT")
DDGui_Set("object_TEXT", "neuer Text")

also - wie kann GUI einfacher sein!?

Offline Schranz0r

  • Premium User :)
  • Administrator
  • Prof. Inline
  • *******
  • Posts: 5028
  • O Rly?
    • View Profile
Buttons für Jedeman
« Reply #5 on: 2007-Jun-18 »
Da wär ein Grundlagentutorial net schlecht, von einen der sich da auskennt.
Ich bin davor gestanden, wie bestellt und nicht abgeholt XD
I <3 DGArray's :D

PC:
AMD Ryzen 7 1700 @3.9GHz, 16GB HyperX Fury 3000MHz Ram, ASUS ROG GTX 1060 STRIX 6GB, Windows 10 Pro 64Bit, MSi Tomahawk B350 Mainboard