FF_SetControlImage


Mit FF_SetControlImage kann ein Button mit einem Bild versehen werden, welches anstatt des Textes angezeigt wird. Es werden die Grafikformate *.jpg, *.jp2, *.png, *.tif und *.bmp unterstützt. Soweit das Grafikformat es zulässt, sind auch transparente Bilder möglich.

Grundsätzlich kann bei aktivem Dialog das Bild eines Buttons nicht mehr verändert werden. Um verschiedene Zustände eines Buttons (z.B. an / aus) grafisch darzustellen, kann es aber sinnvoll sein, dies durch unterschiedliche Bilder darzustellen. Dies kann wie folgt erreicht werden:
1. Dialog schließen
2. Dialog mit geänderten Grafiken auf den Button neu definieren
3. Dialog erneut aufrufen

Bsp. in VBScript
' FFSubmenu=Test
' FFName=DemoButtonPicture
' KGsoft (praetor), Version 1.0 vom 06.05.2011

Option Explicit
const on_picture = "an3.png"
const off_picture = "aus3.png"
Dim Taste, aktini
 
aktini = 1                     ' Variable steuert, mit welchen Grafiken die Button versehen werden
Call Dialogaufbau
Call Buttonicons
Call Main
 
Sub Main
    Do                        ' erneute Anzeige des Dialogs, solange Buttonbilder geändert werden
        Do                    ' Dialoganzeige und Tastenabfrage
            Taste = FF_ShowDialog("Demo Button-Picture")
            Select Case Taste
                Case "1_button"
                    aktini = 1
                    FF_CloseDialog "Demo Button-Picture"
                    Exit Do
                Case "2_button"
                    aktini = 2
                    FF_CloseDialog "Demo Button-Picture"
                    Exit Do
                Case "OK"
                    Exit Sub
                Case "CANCEL"
                    Exit Sub
            End Select
        loop
            Call Dialogaufbau
            Call Buttonicons
    Loop
End Sub
 
Sub Dialogaufbau
    '** Start Dialog Demo Button-Picture **
    FF_AddDialog "Demo Button-Picture",93,47
    FF_AddControl "Demo Button-Picture","1_button","BUTTON",5,22,17,17
    FF_AddControl "Demo Button-Picture","2_button","BUTTON",26,21,18,18
    FF_AddControl "Demo Button-Picture","OK","BUTTON",53,28,33,11
    FF_AddControl "Demo Button-Picture","I","STATIC",14,10,7,11
    FF_AddControl "Demo Button-Picture","II","STATIC",34,10,7,11
    '** End Dialog Demo Button-Picture **
End Sub
 
Sub Buttonicons                            '
    Select Case aktini
        Case 1
            FF_SetControlImage "Demo Button-Picture", "1_button", FF_GetFFPathEx(2) & "\DemoButtonPicture\" & on_picture
            FF_SetControlImage "Demo Button-Picture", "2_button", FF_GetFFPathEx(2) & "\DemoButtonPicture\" & off_picture
        Case 2
            FF_SetControlImage "Demo Button-Picture", "2_button", FF_GetFFPathEx(2) & "\DemoButtonPicture\" & on_picture
            FF_SetControlImage "Demo Button-Picture", "1_button", FF_GetFFPathEx(2) & "\DemoButtonPicture\" & off_picture
    End Select
End Sub
 
Zum ausprobieren kann das folgende Scriptarchiv heruntergeladen und in FF installiert werden.

Der Aufruf erfolgt dann über Aufgabenbereich -> Skripte -> Test -> DemoButtonPicture