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

MyButton.bi

Uploader:MitgliedMB Interactive Labs
Datum/Zeit:17.10.2010 21:20:16

'*********************************************************************************
'* MyMenu:  Funktion ist es aus eine Grafikdatei, eine funktionierendes Menü für *
'*          ein Spiel zu machen.                                                                *
'*********************************************************************************
'* Copyright by: MB Interactive Labs. 2010.
'*********************************************************************************

'#Include Once "Inc\Grafik\MyGrafik.bi" 'Datei die für das Laden der 2D BMP Datein verantwortlich ist

Type tButton
    Public:
        ButtonID As Integer     'Abspeichern der ID des Buttons
    SizeX As Integer        'Größe des Bildes Speichern
    SizeY As Integer        'Größe des Bildes Speichern
    PosX As Integer     'Position des Buttons
    PosY As Integer     'Position des Buttons
    Filename As String  'BildName
    Grafik As Any Ptr       'Bildbuffer

    'Funktionen buttonsteuerung
    Declare Function Init_Button() As tButton

    'Laden der Bilddaten(BMP)
        Declare Sub Load_Button()

        'Anzeigen der Bilddaten(BMP)
        Declare Sub Show_Button()

        'Abfragen, ob Mausbutton gedrückt worden ist und wenn ja, in welchen bereich gedrückt worden ist?
        Declare Function Button_Clicked(BX As Integer, BY As Integer, BS As Integer) As Integer

        'Löschen des Button
        Declare Sub Destroy_Button()
End Type


'*********************************************************************************

Function tButton.Init_Button() As tButton
    Dim TempButton As tButton

    TempButton.ButtonID = 0000
    TempButton.SizeX = 0
    TempButton.SizeY = 0
    TempButton.PosX = 0
    TempButton.PosY = 0
    TempButton.Filename = "Default.bmp"

    Return TempButton
End Function

Sub tButton.Load_Button()
    'Button in den Speicher laden
    Dim As Integer breit, hoch
    Dim As Integer ff, i

    ff=FREEFILE
    Open this.Filename For Input As #ff 'öffne die Datei zum lesen
    Get #ff, 19, breit              'Breite aus der BMP-Datei auslesen
    Get #ff, 23, hoch               'Höhe aus der BMP-Datei auslesen
    Close #ff
    hoch=ABS(hoch)
    this.SizeX = breit
    this.SizeY = hoch
    this.Grafik = ImageCreate(breit,hoch)
    BLoad this.Filename, this.Grafik 'Laden
End Sub

Sub tButton.Show_Button()
    Put (this.PosX,this.PosY),this.Grafik,Alpha,RGB(255,255,255)
End Sub

Sub tButton.Destroy_Button()
    If this.Grafik <> 0 Then ImageDestroy this.Grafik
End Sub

Function tButton.Button_Clicked(BX As Integer, BY As Integer, BS As Integer) As Integer
    'Schritt 1: Überprüfen, ob Linke oder Rechte maustaste gedrückt worden ist?
    If (BS = 1) Then
        'Schritt 2: Wo wurde geclickt?
        IF (BX >= this.PosX) AND (BX <= this.PosX+this.SizeX) AND (BY >= this.PosY) AND (BY <= this.PosY+this.SizeY) Then
        Return this.ButtonID
         Exit FUNCTION
        END If
    End If
    If (BS = 2) Then
            Return 0
            Exit Function
    End If
End Function