Image-Button Modul

Übersicht BlitzMax, BlitzMax NG Codearchiv & Module

Neue Antwort erstellen

Trust

Betreff: Image-Button Modul

BeitragDi, Nov 21, 2017 16:50
Antworten mit Zitat
Benutzer-Profile anzeigen
Hallo Leute,

wenn es ein Gui-Element gibt was man am häufigsten braucht dann sind es wohl Buttons.
Ich habe mich oft dabei ertappt, dass ich für Projekte immer wieder das Rad neu erfunden hatte und eine Buttonklasse erstellt habe.

Da ich BMax gerne zum "rapid-prototyping" hernehme, um schnell mal zu testen, ob kleine Ideen so funktionieren wie ich sie im Kopf habe, musste ich mich nun mal dazu aufraffen ein Modul für Image-Buttons zu erstellen und möchte dieses mit euch teilen.
Hauptaugenmerk war, dass sie so einfach wie möglich und ohne viel Aufwand zu benutzen sind.

Man kann ganz einfach Buttons erstellen, welche zu jedem State ein Image haben. States sind normal, mouse hover und focused (wenn der Button geklickt wurde, ist er fokusiert)

Hier mal ein Screenshot, wo die Gui nur aus diesen Buttons besteht: (Ein Tool welches Images zu Pixelart konvertiert)
user posted image
Bei Intersse, ist hier der Worklog.

Das Modul kann hier herunter geladen werden. Dieser Mod ist für Windows vorkompiliert, also einfach so herunterladen und in den Modordner von BlitzMax entpacken (BlitzMax -> mod -> rednib.mod)

Nach dem kopieren sollte die Dokumentation neu erstellt werden, damit dieser Mod ebenfalls in die Dokumentation mit einbezogen wird.

Auch wenn der Mod gut dokumentiert ist, hier noch eine kleine Übersicht und Erklärung mit anschließendem Beispiel:

Module rednib.Button

Types
Arrow TButton

Functions
Arrow mouseOverButton (button)
Arrow newButton (x, y, imgNormal, imgHover, imgFocus, alpha, midHandle)
Arrow renderbuttons ()
Arrow setTooltip (button, tooltipText)
Arrow setTooltipBgColor (red, green, blue, alpha)
Arrow setTooltipDelay (tooltipDelay)
Arrow setTooltipTextColor (red, green, blue)
Arrow getFocusedButton ()
Arrow getLastFocusedButton ()
Arrow setFocusedButton ()
Arrow unfocusButton ()


Imports
Exclamation BRL.Blitz
Exclamation BRL.LinkedList
Exclamation BRL.Max2D
Exclamation BRL.PolledInput

Infos
Idea Version : 1.02
Idea Author : Michael Binder
Idea Date : Nov-2017
Idea Types : 1
Idea Functions : 11



Arrow mouseOverButton()
Description:
Checkt ob sich die Maus über dem Button befindet

Return:
True wenn ja, andernfalls false

BlitzMax: [AUSKLAPPEN]

Function mouseOverButton : Int
(
button : TButton
)



Arrow newButton()
Description:
Erstellt einen neuen Button

Long description
imgFocus ist ein image, welches dann gezeichnet wird, wenn der Button geklickt wurde und der Button somit fokusiert ist. Dieser parameter ist optional.

Return:
Button-Objekt vom Typ TButton

BlitzMax: [AUSKLAPPEN]

Function newButton : TButton
(
x : Int
y : Int
imgNormal : TImage
imgHover : TImage
imgFocus : TImage (Default = Null)
alpha : Float (Default = 1.0)
midHandle : Int (Default = True)

)



Arrow renderButtons()
Description:
Updated und Zeichnet alle Buttons und ggf. Tooltips wenn diese gesetzt sind.

Long description
Die Funktion renderButtons() muss einmal in der Hauptschleife aufgerufen werden.

BlitzMax: [AUSKLAPPEN]
Function renderbuttons : Int ( ) 



Arrow setTooltip()
Description:
Erstellt ein Tooltip für den Button

BlitzMax: [AUSKLAPPEN]

Function setTooltip : Int
(
button : TButton
tooltipText : String
)




Arrow setTooltipBgColor()
Description:
Setzt die Farbe und den Alphawert des Tooltiphintergrunds

BlitzMax: [AUSKLAPPEN]

Function setTooltipBgColor : Int
(
red : Int
green : Int
blue : Int
alpha : Float (Default = 1.0)
)



Arrow setTooltipTextColor()
Description:
Setzt die Farbe des Tooltiptextes

BlitzMax: [AUSKLAPPEN]

Function setTooltipTextColor : Int
(
red : Int
green : Int
blue : Int
)



Arrow setTooltipDelay()
Description:
Setzt den delay des Tooltips

Long description
Wenn die Maus sich über dem Button befindet, entscheidet der delay-Wert, wie lange es dauert, bis der Tooltip angezeigt wird.

BlitzMax: [AUSKLAPPEN]

Function setTooltipDelay : Int
(
tooltipDelay : Float
)



Arrow getFocusedButton ()
Description:
Gibt den fokusierten/derzeit geklickten Button zurück

Long description
Dies kann nützlich sein, wenn man abhängig vom fokusierten Button, aktionen ausführen möchte.
Wie zB. in einem Bildbearbeitungsprogramm, wo man abhängig vom selektierten Werkzeug, unterschiedliche operationen am Bild durchführen kann

BlitzMax: [AUSKLAPPEN]

Function getFocusedButton : TButton ( )



Arrow getLastFocusedButton ()
Description:
Gibt den zuletzt fokusierten/letzten geklickten Button zurück. (der Button, welcher vor dem derzeit geklickten Button geklickt wurde)

Long description
Dies kann nützlich sein, wenn man abhängig vom fokusierten Button, aktionen ausführen möchte.
Wie zB. in einem Bildbearbeitungsprogramm, wo man abhängig vom selektierten Werkzeug, unterschiedliche operationen am Bild durchführen kann.

BlitzMax: [AUSKLAPPEN]

Function getLastFocusedButton : TButton ( )



Arrow setFocusedButton ()
Description:
Setzt den Button als derzeit fokusierten Button (letzter fokusierter Button wird ebenfalls gesetzt)

Long description
Dies kann nützlich sein, wenn man abhängig vom fokusierten Button, aktionen ausführen möchte.
Wie zB. in einem Bildbearbeitungsprogramm, wo man abhängig vom selektierten Werkzeug, unterschiedliche operationen am Bild durchführen kann

BlitzMax: [AUSKLAPPEN]

Function setFocusedButton( button:TButton )



Arrow unfocusButton ()
Description:
Setzt den derzeit fokusierten Button auf unfokusiert (derzeit fokusierter Button wird zu zuletzt fokusierter Button)

Long description
Dies kann nützlich sein, wenn man abhängig vom fokusierten Button, aktionen ausführen möchte.
Wie zB. in einem Bildbearbeitungsprogramm, wo man abhängig vom selektierten Werkzeug, unterschiedliche operationen am Bild durchführen kann

BlitzMax: [AUSKLAPPEN]

Function unfocusButton( )


Und abschließend noch ein Beispiel, welches alle Funktionen benutzt:

BlitzMax: [AUSKLAPPEN]

Import rednib.button

Graphics 1024, 768
SetBlend ALPHABLEND

' If no tooltip is wanted, just remove the following three commands
setTooltipBgColor(20, 20, 20, 0.7)
setTooltipTextColor(200, 200, 200)
setTooltipDelay(500)

Local imgNormal:TImage = LoadImage("assets/myButton_normal.png")
Local imgHover:TImage = LoadImage("assets/myButton_hover.png")

Local button1:TButton = newButton(50, 50, imgNormal, imgHover)

' If no tooltip is wanted, just remove the following command
setTooltip(button1, "This is a tooltip text


While Not AppTerminate()

If mouseOverButton(button1) And MouseHit(1)
setFocusedButton(button1)
Notify("clicked left")
EndIf

If KeyHit(KEY_SPACE)
unfocusButton()
EndIf

Local focusedButton:TButton = getFocusedButton()

If focusedButton = button1
Print("Your are in button1 mode")
Else
Print("No mode")
EndIf

renderbuttons()
Flip;Cls
Wend




Die ganze "focused Button" Geschichte ist optional und muss nicht verwendet werden. (Finde es allerdings praktisch)
Daher hier nochmal ein ganz minimalistisches Beispiel:
BlitzMax: [AUSKLAPPEN]

Import rednib.button

Graphics 1024, 768
SetBlend ALPHABLEND

Local imgNormal:TImage = LoadImage("assets/btnLoad_normal.png")
Local imgHover:TImage = LoadImage("assets/btnLoad_hover.png")

Local button:TButton = newButton(50, 50, imgNormal, imgHover)

While Not AppTerminate()

If mouseOverButton(button) And MouseHit(1)
Notify("clicked left")
EndIf

renderbuttons()
Flip;Cls
Wend



Ich hoffe das es für den Einen oder Anderen nützlich ist.

Gruß Trust




Ps.: wer vor dem Download den Source sehen möchte:
BlitzMax: [AUSKLAPPEN]




Rem
bbdoc:
A simple image button class

about: Buttons can have an image For each stage: normal, mouse hover, focused/clicked
Focused/clicked is otional. For more infos read the documentation about get-/set- focusedButton


Note: All fields And methods beginning with an underscore are supposed To be Private,
so they should Not be called Or referrenced directly

by Michael Binder Nov-2017
End Rem

Module rednib.button

ModuleInfo "Version: 1.02"
ModuleInfo "Author: Michael Binder"
ModuleInfo "Date: Nov-2017"

ModuleInfo "History: 1.02 Tooltip text- and bg- color are class variables now"
ModuleInfo "History: _tooltipColorR/G/B/A and _tooltipTextColorR/G/B are now class variables and no longer fields of each button object"
ModuleInfo "History: Fixed an issue where the hover image was drawn when the mouse was hovering over the button even when the button was focused - that seemed to be confusing"
ModuleInfo "History: 1.01 Bug Fix"
ModuleInfo "Fixed an issue where the tooltip was drawn outside of the screen area when the button was placed at the bottom or right border of the screen"
ModuleInfo "History: 1.00 Release"

Import BRL.PolledInput
Import BRL.LinkedList
Import BRL.Max2D
Import BRL.Blitz


Type TButton
Rem
bbdoc: List of all buttons
End Rem

Global _list:TList = New TList

Rem
bbdoc: Holds the current clicked button
End Rem

Global _currentFocus:TButton = Null

Rem
bbdock: Holds the last clicked button
End Rem

Global _lastFocus:TButton = Null

Rem
bbdoc: Tooltip text color red
default: 255
End Rem

Global _tooltipTextColorRed:Int = 255
Rem
bbdoc: Tooltip text color green
default: 255
End Rem

Global _tooltipTextColorGreen:Int = 255
Rem
bbdoc: Tooltip text color blue
default: 255
End Rem

Global _tooltipTextColorBlue:Int = 255

Rem
bbdoc: Tooltip backgound color red
default: 0
End Rem

Global _tooltipBgColorRed:Int = 0
Rem
bbdoc: Tooltip backgound color green
default: 0
End Rem

Global _tooltipBgColorGreen:Int = 0
Rem
bbdoc: Tooltip backgound color blue
default: 0
End Rem

Global _tooltipBgColorBlue:Int = 0

Rem
bbdoc: Alpha of the tooltip background
End Rem

Global _tooltipBgColorAlpha:Float

Rem
bbdoc: Delay until the tooltip appears
End Rem

Global _tooltipDelay:Float

Rem
bbdoc: Tooltip text
about: if this is not null, it will automatically be drawn
End Rem

Field _tooltipText:String = Null

Rem
bbdoc: x coordinate of the button
End Rem

Field _x:Int

Rem
bbdoc: y coordinate of the button
End Rem

Field _y:Int

Rem
bbdoc: Image of the button when the button is not clicked and the mouse is not hovering over
End Rem

Field _imgNormal:TImage

Rem
bbdoc: Image of the button when the mouse is hovering over
End Rem

Field _imgHover:TImage

Rem
bbdoc: Image of the button when the button was clicked
about: this will stay until an other button was clicked
End Rem

Field _imgFocus:TImage

Rem
bbdoc: Width of the "normal" image of the button
End Rem

Field _imgNormalWidth:Int

Rem
bbdoc: Height of the "normal" image of the button
End Rem

Field _imgNormalHeight:Int

Rem
bbdoc: Width of the "hover" image of the button
End Rem

Field _imgHoverWidth:Int

Rem
bbdoc: Height of the "hover" image of the button
End Rem

Field _imgHoverHeight:Int

Rem
bbdoc: Width of the "focus" image of the button
End Rem

Field _imgFocusWidth:Int

Rem
bbdoc: Height of the "focus" image of the button
End Rem

Field _imgFocusHeight:Int

Rem
bbdoc: Alpha of the button
End Rem

Field _alpha:Float

Rem
bbdoc: Timer that is needed to calculate when the _tooltipDelay has been reached and the tooltip can be shown
End Rem

Field _tooltipDelayTimer:Float = 0.0

Rem
bbdoc: Determines if the tooltip delay timer has been set
about: if mouse enters the button, timer should be set once. After mouse leaves the button, timer should be reseted
End Rem

Field _tooltipDelayHasSet:Int = False

Rem
bbdoc: Midhandle value of the button
about: If this is set, the ancor point of each individual image is set to the middle, otherwise it will be in the top left corner
End Rem

Field _midHandle:Int ' True or False

Rem
bbdoc: Overwritten New Method
about: It automatically adds this button to the button list
End Rem

Method New() Final
TButton._list.AddLast(Self)
End Method

Rem
bbdoc: Sets the tooltip delay timer
End Rem

Method _setTooltipDelayTimer()
If Self._tooltipDelayHasSet = False
If Self._tooltipDelay > 0.0
Self._tooltipDelayTimer = MilliSecs() + Self._tooltipDelay
EndIf
EndIf
End Method

Rem
bbdoc: Checks if tooltip delay has been reached to show the tooltip
End Rem

Method _hasTooltipDelayReached:Int()
If MilliSecs() > Self._tooltipDelayTimer
Return True
EndIf
Return False
End Method


Rem
bbdoc: Updates the tooltip delay timer
End Rem

Method _updateTooltipTimer()
If mouseOverButton(Self)
Self._setTooltipDelayTimer()
Self._tooltipDelayHasSet = True
Else
Self._tooltipDelayTimer = 0.0
Self._tooltipDelayHasSet = False
EndIf
End Method

Rem
bbdoc: Draws the tooltip
about: If the tooltip text is set, tooltip will automatically be drawn on mouse hover
End Rem

Method _drawTooltip() Final
If Self._hasTooltipDelayReached()
If Self._tooltipText <> Null And mouseOverButton(Self)
Local mx:Int = MouseX()
Local my:Int = MouseY()
Local gw:Int = GraphicsWidth()
Local gh:Int = GraphicsHeight()
Local width:Int = TextWidth(Self._tooltipText)
Local height:Int = TextHeight(Self._tooltipText)
Local cursorHeight:Int = 20
Local margin:Int = 6

Local xPos:Int
Local yPos:Int

If mx + width + margin*2 < gw
xPos = mx
Else
xPos = mx - (width + margin*2)
EndIf
If my + height + cursorHeight + margin*2 < gh
yPos = my + cursorHeight
Else
yPos = my - (height + margin*2)
EndIf

' tooltip background
If Self._tooltipBgColorAlpha < 1.0 Then SetAlpha(TButton._tooltipBgColorAlpha)
SetColor(TButton._tooltipBgColorRed, TButton._tooltipBgColorGreen, TButton._tooltipBgColorBlue)
DrawRect(xPos, yPos, width + margin*2, height + margin*2)
If TButton._tooltipBgColorAlpha < 1.0 Then SetAlpha(1.0)

' tooltipp text
SetColor(TButton._tooltipTextColorRed, TButton._tooltipTextColorGreen, TButton._tooltipTextColorBlue)
DrawText(Self._tooltipText, xPos + margin, yPos + margin)

SetColor(255, 255, 255)
EndIf
EndIf
End Method


Rem
bbdoc: Updates the button
about: This will automatically called by the method "renderButtons()"
End Rem

Method _update()
Self._updateTooltipTimer()
End Method

Rem
bbdoc: Draws the button
about: This will automatically called by the method "renderButtons()"
End Rem

Method _draw() Final
Local x:Int, y:Int

If mouseOverButton(Self)
If Self._midhandle = True
x = Self._x - Self._imgHoverWidth/2
y = Self._y - Self._imgHoverHeight/2
Else
x = Self._x
y = Self._y
EndIf

If TButton._currentFocus <> Self
If Self._alpha < 1 Then SetAlpha(Self._alpha)
DrawImage(Self._imgHover, x, y)
If Self._alpha < 1 Then SetAlpha(1)
Else
If Self._alpha < 1 Then SetAlpha(Self._alpha)
DrawImage(Self._imgFocus, x, y)
If Self._alpha < 1 Then SetAlpha(1)
EndIf

Else
If Self._imgFocus And TButton._currentFocus = Self
If Self._midhandle = True
x = Self._x - Self._imgFocusWidth/2
y = Self._y - Self._imgFocusHeight/2
Else
x = Self._x
y = Self._y
EndIf
If Self._alpha < 1 Then SetAlpha(Self._alpha)
DrawImage(Self._imgFocus, x, y)
If Self._alpha < 1 Then SetAlpha(1)
Else
If Self._midhandle = True
x = Self._x - Self._imgNormalWidth/2
y = Self._y - Self._imgNormalHeight/2
Else
x = Self._x
y = Self._y
EndIf
If Self._alpha < 1 Then SetAlpha(Self._alpha)
DrawImage(Self._imgNormal, x, y)
If Self._alpha < 1 Then SetAlpha(1)
EndIf
EndIf
End Method


End Type



Rem
bbdoc: Creates a new button
returns: A TButton object
End Rem

Function newButton:TButton(x:Int, y:Int, imgNormal:TImage, imgHover:TImage, imgFocus:TImage = Null, alpha:Float = 1.0, midHandle:Int = True)
Local button:TButton = New TButton
button._x = x
button._y = y
button._imgNormal = imgNormal
button._imgHover = imgHover
button._imgFocus = imgFocus
button._imgNormalWidth = ImageWidth(button._imgNormal)
button._imgNormalHeight = ImageHeight(button._imgNormal)
button._imgHoverWidth = ImageWidth(button._imgHover)
button._imgHoverHeight = ImageHeight(button._imgHover)
If button._imgFocus
button._imgFocusWidth = ImageWidth(button._imgFocus)
button._imgFocusHeight = ImageHeight(button._imgFocus)
EndIf
button._alpha = alpha
button._midHandle = midHandle
Return button
End Function


Rem
bbdoc: Updates and draws all buttons in the list, also draws the tooltips if they are set
about: This must be called once in the main game loop to make the buttons appear and work
End Rem

Function renderbuttons()
Local button:TButton
For button= EachIn TButton._list
button._update()
button._draw()
Next
button = Null
For button = EachIn TButton._list
' draw tooltip if tooltip text is set and mouse is hovering over the button
button._drawTooltip()
Next
End Function


Rem
bbdoc: Sets the tooltip text (if no tooltip is set, no tooltip will be drawn)
End Rem

Function setTooltip(button:TButton, tooltipText:String)
button._tooltipText = tooltipText
End Function

Rem
bbdoc: Sets the text color of the tooltip (if no tooltip is set, no tooltip will be drawn)
about: Default is white: 255, 255, 255
End Rem

Function setTooltipTextColor(red:Int, green:Int, blue:Int)
TButton._tooltipTextColorRed = red
TButton._tooltipTextColorGreen = green
TButton._tooltipTextColorBlue = blue
End Function

Rem
bbdoc: Sets the background color of the tooltip (alpha is optional) (if no tooltip is set, no tooltip will be drawn)
about: Default is black: 0, 0, 0
End Rem

Function setTooltipBgColor(red:Int, green:Int, blue:Int, alpha:Float = 1.0)
TButton._tooltipBgColorRed = red
TButton._tooltipBgColorGreen = green
TButton._tooltipBgColorBlue = blue
TButton._tooltipBgColorAlpha = alpha
End Function

Rem
bbdoc: Sets the delay of the tooltip in milliseconds (if no tooltip is set, no tooltip will be drawn)
about: When mouse hovers over a button, the delay determines after what time the tooltip will be shown (Default is 0.0)
End Rem

Function setTooltipDelay(tooltipDelay:Float)
TButton._tooltipDelay = tooltipDelay
End Function


Rem
bbdoc: Checks if mouse is hovering over the button
returns: True if mouse is hovering over the button, otherwise false
End Rem

Function mouseOverButton:Int(button:TButton)
If button._midhandle = True
If button._imgFocus And TButton._currentFocus = button
If MouseX() > button._x - button._imgFocusWidth/2 And MouseX() < button._x + button._imgFocusWidth/2
If MouseY() > button._y - button._imgFocusHeight/2 And MouseY() < button._y + button._imgFocusHeight/2
Return True
EndIf
EndIf
Else
If MouseX() > button._x - button._imgHoverWidth/2 And MouseX() < button._x + button._imgHoverWidth/2
If MouseY() > button._y - button._imgHoverHeight/2 And MouseY() < button._y + button._imgHoverHeight/2
Return True
EndIf
EndIf
EndIf
Else
If button._imgFocus And TButton._currentFocus = button
If MouseX() > button._x And MouseX() < button._x + button._imgFocusWidth
If MouseY() > button._y And MouseY() < button._y + button._imgFocusHeight
Return True
EndIf
EndIf
Else
If MouseX() > button._x And MouseX() < button._x + button._imgHoverWidth
If MouseY() > button._y And MouseY() < button._y + button._imgHoverHeight
Return True
EndIf
EndIf
EndIf
EndIf
Return False
End Function


Rem
bbdoc: Sets the Button to the current focused Button (last focused button will also be set accordingly)
about: This can be usefull, when you want to do certain actions only while the current clicked/focused button was this button
(eg. in an image editor, you can select tools and only do the tools actions while this tool button is focused or was clicked)
End Rem

Function setFocusedButton(button:TButton)
If button <> Null
TButton._lastFocus = TButton._currentFocus
TButton._currentFocus = button
EndIf
End Function


Rem
bbdoc: Sets the current focused button unfocused (current focused button will become the last focused button)
about: This can be usefull, when you want to do certain actions only while the current clicked button was this button
(eg. in an image editor, you can select tools and only do the tools actions while this tool button is focused or was clicked)
End Rem

Function unfocusButton()
TButton._lastFocus = TButton._currentFocus
TButton._currentFocus = Null
End Function

Rem
bbdoc: Get the current focused/clicked Button
about: This can be usefull, when you want to do certain actions only while the current clicked button was this button
(eg. in an image editor, you can select tools and only do the tools actions while this tool button is focused or was clicked)
End Rem

Function getFocusedButton:TButton()
If TButton._currentFocus <> Null Then Return TButton._currentFocus
Return Null
End Function

Rem
bbdoc: Get the last focused/clicked Button before the current clicked Button
about: This can be usefull, when you want to do certain actions only while the last clicked button was this button
(eg. in an image editor, you can select tools and only do the tools actions while this tool button is focused or was clicked)
End Rem

Function getLastFocusedButton:TButton()
If TButton._lastFocus <> Null Then Return TButton._lastFocus
Return Null
End Function
Es gibt 10 Gruppen von Menschen: diejenigen, die das Binärsystem verstehen, und die anderen.
  • Zuletzt bearbeitet von Trust am Fr, Nov 24, 2017 12:50, insgesamt 9-mal bearbeitet

Holzchopf

Meisterpacker

BeitragMi, Nov 22, 2017 23:02
Antworten mit Zitat
Benutzer-Profile anzeigen
Sehr schön. Vorbildliche Modul-Präsentation möchte ich gesagt haben. Darf ich fragen, wieso du auf OOP verzichtest?
Erledige alles Schritt um Schritt - erledige alles. - Holzchopf
CC BYBinaryBorn - Yogurt ♫ (31.10.2018)
Im Kopf da knackt's und knistert's sturm - 's ist kein Gedanke, nur ein Wurm

Trust

BeitragDo, Nov 23, 2017 16:42
Antworten mit Zitat
Benutzer-Profile anzeigen
Danke!
Also "intern" ist es schon OOP. Für den User werden der Einfachheit einfach nur "BlitzBasic-Typisch" Funktionen bereit gestellt.

Dachte mir, dass es simpler ist, grade zum schnell was testen.

Ich hatte zuerst einen Ansatz verfolg, bei dem man eigene Buttons von der Klasse TButton ableitet und nur die abstrakte Methode "onClick()" von TButton definiert. Somit würde in main(oder wo auch immer) der Code für das Verhalten des Buttons wegfallen.

Allerdings habe ich festgestellt, dass grade zum schnell testen das etwas umständlicher ist.
Daher habe ich das ganze Modul so umgeschrieben, dass es "nur" noch simple Funktionen sind für den User.

Zu dem funktioniert das Codehighlighting und die Contexthilfe nicht bei Methoden in der standard MaxIde, bei Funktionen allerdings schon. Was ziemlich praktisch ist Smile.

G,
Trust
Es gibt 10 Gruppen von Menschen: diejenigen, die das Binärsystem verstehen, und die anderen.

Neue Antwort erstellen


Übersicht BlitzMax, BlitzMax NG Codearchiv & Module

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group