Buchempfehlung
Windows-Programmierung. Das Entwicklerhandbuch zur WIN32-API
Windows-Programmierung. Das Entwicklerhandbuch zur WIN32-API
"Der" Petzold, das über 1000 Seiten starke Standardwerk zum Win32-API - besonders nützlich u. a. bei der GUI-Programmierung in FreeBASIC! [Mehr Infos...]
FreeBASIC-Chat
Es sind Benutzer im FreeBASIC-Chat online.
(Stand:  )
FreeBASIC bei Twitter
Twitter FreeBASIC-Nachrichten jetzt auch über Twitter erhalten. Follow us!

fb:porticula NoPaste

Info
Info / Hilfe
Liste
Übersicht / Liste
Neu
Datei hochladen
Suche
Quellcode suchen
Download
Dateidownload

XTGUI_Test.bas

Uploader:MitgliedThePuppetMaster
Datum/Zeit:05.03.2023 12:17:23

'####################################################################################################################################
Open Cons for Output as #1



'####################################################################################################################################
#Include Once "fbgfx.bi"
#Include Once "FreeImage.bi"
#Include Once "XTGUI.bi"



'####################################################################################################################################
Dim Shared G_ScreenWidth as Integer = 800
Dim Shared G_ScreenHeight as Integer = 600



'####################################################################################################################################
Dim Shared G_ListD() as String
Dim Shared G_ListC as Integer
Dim Shared G_ListPos as Integer
Dim Shared G_ListSel as Integer



'####################################################################################################################################
Sub CB_Button(ByRef R_Return as Integer = 0, ByVal V_Value as Integer)
Print #1, "Button"
End Sub



'####################################################################################################################################
Sub CB_Exit(ByRef R_Return as Integer = 0, ByVal V_Value as Integer)
End 0
End Sub



'####################################################################################################################################
Sub CB_List(ByRef R_Return as Integer = 0, ByVal V_Value as Integer)
Print #1, "List: " & V_Value
G_ListSel = V_Value
End Sub



'####################################################################################################################################
Sub CB_Scroll(ByVal V_Callback as Any Ptr, ByVal V_Direction as Integer)
Print #1, "Scroll: " & V_Direction
G_ListPos += V_Direction
If G_ListPos < 0 Then G_ListPos = 0
If G_ListPos > G_ListC Then G_ListPos = G_ListC
End Sub



'####################################################################################################################################
Sub DoRedraw_GUI()
XTGUI_Cls(&HFF222222)
XTGUI_AddButton(0, 0, 100, 25, "Button", @CB_Button)
XTGUI_AddButton(0, 25, 100, 25, "Exit", @CB_Exit)
XTGUI_AddList(0, 50, 100, 100, G_ListD(), G_ListC, G_ListPos, G_ListSel, @CB_List)
End Sub



'####################################################################################################################################
Randomize(Timer())
ScreenRes G_ScreenWidth, G_ScreenHeight, 32

XTGUI_Init(G_ScreenWidth, G_ScreenHeight)
XTGUI_ColorBackground = &HFF8080FF
XTGUI_ColorText = &HFF000000
XTGUI_ColorBorder = &HFF5757AE
XTGUI_ColorSelected = &HFF80FF80
XTGUI_CallbackScroll = @CB_Scroll()

G_ListC = 20
Redim G_ListD(G_ListC) as String
For X as Integer = 1 to G_ListC
    G_ListD(X) = Str(X)
Next

Do until InKey() = Chr(27)
    XTGUI_CheckIO(0, 0)
    DoRedraw_GUI()
    ScreenLock()
    Put (0, 0), XTGUI_GetDrawBuffer(), PSET
    ScreenUnLock()
    Sleep 1, 1
Loop

XTGUI_Term()