GUI über HTML und CSS

  • Hallo zusammen,

    Ich lege viel Wert auf eine schöne GUI jedoch erscheint mir GDI+ für einen Anfänger etwas zu kompliziert, daher habe ich mich auf die Suche gemacht, ob man eine GUI über HTML und CSS erstellen kann. Einige Ansätze habe ich bereits hier im Forum gefunden, jedoch gab es keine lauffähige Lösung...

    Aus diesem Grund stelle ich euch hier meine Lösung vor. Diese basiert auf HTML und CSS3.

    Über jeden Verbesserungsvorschlag freue ich mich sehr.

    [autoit]


    ;*****************************************
    ;HMTL_GUI.au3 by rYnow
    ;Ein HTML - GUI Konzept
    ;~ Wie funktioniert das?
    ;~ Die GUI wird in HTML und in CSS3 erstellt. Das wichtigste ist der CSS Befehl ":activ". Durch diesen Befehl können wir mit "PixelGetColor" den Farbwert des activen
    ;~ Buttons erkennen.
    ;
    ;Zubeachten:
    ;~ Dieses Konzept funktioniert nur mit CSS3, daher ist IE ab Version 10 notwendig und in der HTML muss folgender MetaTag eingesetzt werden:
    ;~ <meta http-equiv="X-UA-Compatible" content="IE=9" />
    ;~ Zudem muss beachtet werden, dass der CSS ":activ" nicht den gleicheb Farbwert besitzt wie Background oder Hover.
    ;*****************************************
    #include <GUIConstantsEx.au3>
    #include <WindowsConstants.au3>
    #include <GuiButton.au3>
    #include <IE.au3>

    [/autoit][autoit][/autoit][autoit]

    HotKeySet("{ESC}", "Terminate")
    func Terminate ()
    MsgBox(0,"Ende","GUI wird beendet")
    exit
    EndFunc

    [/autoit][autoit][/autoit][autoit]

    Opt("PixelCoordMode", 2)
    _IEErrorHandlerRegister()
    $IE = _IECreateEmbedded()
    $html_GUI = GUICreate("html GUI", 200, 300, -1, -1, BitOR($WS_SYSMENU, $WS_POPUP),-1)
    $Browser = GUICtrlCreateObj($IE, -1, -1, 230, 310)

    [/autoit][autoit][/autoit][autoit]

    GUISetState(@SW_SHOW, $html_GUI)
    _IENavigate($IE, @scriptdir & "HTMLGUI.html")

    [/autoit][autoit][/autoit][autoit]

    While 1
    ;Farbprüfung in der GUI
    $button1 = PixelGetColor(50, 30)
    $button2 = PixelGetColor(50, 90)
    $button3 = PixelGetColor(50, 150)
    $button4 = PixelGetColor(50, 210)
    $button5 = PixelGetColor(50, 270)

    if $button1 = 1786718 then
    MsgBox(0,"Button","Button1 wurde gedrückt")
    $button1 = 0
    elseif $button2 = 1786718 then
    MsgBox(0,"Button","Button2 wurde gedrückt")
    $button2 = 0
    elseif $button3 = 1786718 then
    MsgBox(0,"Button","Button3 wurde gedrückt")
    $button3 = 0
    elseif $button4 = 1786718 then
    MsgBox(0,"Button","Button4 wurde gedrückt")
    $button4 = 0
    elseif $button5 = 1786718 then
    MsgBox(0,"Button","Button5 wurde gedrückt")
    $button5 = 0
    EndIf

    [/autoit][autoit][/autoit][autoit]

    WEnd

    [/autoit][autoit][/autoit][autoit][/autoit]


    HTML


    CSS

  • Evtl. dann mal jQuery ausprobieren (wenn Javascript läuft). Müsste auch sehr gut aussehen.