Sign in to follow this  
Followers 0
FinalVersion

Steam GUI

16 posts in this topic




Very cool, but you should replace the static path to the images for the GUI creation with @ScriptDir, so people do not have to go in an change that. Other than that, nice job :mellow:


Share this post


Link to post
Share on other sites

Hi...there are other examples on the forum...one using no pictures

Share this post


Link to post
Share on other sites

here is the one i made last year :mellow:

http://www.autoitscript.com/forum/index.php?showtopic=95043&st=0&p=682968&#entry682968

Share this post


Link to post
Share on other sites

Very nice Job.I like it.Thanks very much FinalVersion.


[size="5"] [/size]

Share this post


Link to post
Share on other sites

#9 ·  Posted (edited)

The images bugged me, so I wrote a modified version without images that uses the steam theme colors.

#NoTrayIcon
#include <GUIConstantsEx.au3>
#include <WindowsConstants.au3>
#include <SendMessage.au3>
#include <Constants.au3>
#include <WinApi.au3>

Global Const $SC_DRAGMOVE = 0xF012
Opt("MouseCoordMode", 2)

Local $tMsg
Opt("TrayMenuMode", 1)

$frmMain = GUICreate("frmMain", 333, 441, 192, 124, $WS_POPUP, 0)
GUISetState(@SW_SHOW)
GUISetBkColor(0x464646,$frmMain)
$rgn = _WinAPI_CreateRoundRectRgn(0, 0, 333, 441, 3, 3)
_WinAPI_SetWindowRgn($frmMain, $rgn)
DrawBar()

While 1
    $tMsg = TrayGetMsg()
    Switch $tMsg
        Case $TRAY_EVENT_PRIMARYDOWN
            GUISetState(@SW_SHOW)
            DrawBar()
            WinSetState("frmMain", "", @SW_RESTORE)
            Opt("TrayIconHide", 1)
    EndSwitch

    $nMsg = GUIGetMsg()
    Switch $nMsg
        Case $GUI_EVENT_CLOSE
            Exit
        Case $GUI_EVENT_PRIMARYDOWN
            $mPos = MouseGetPos()
            If $mPos[1] <= 20 Then
                If $mPos[0] >= 295 And $mPos[0] <= 316 Then
                    GUISetState(@SW_HIDE)
                    Opt("TrayIconHide", 0)
                ElseIf $mPos[0] >= 313 And $mPos[0] <= 322 Then
                    Exit
                Else
                    _SendMessage($frmMain, $WM_SYSCOMMAND, $SC_DRAGMOVE, 0)
                EndIf
            EndIf
    EndSwitch
WEnd

Func DrawBar()
    Local $aDim = WinGetClientSize($frmMain)
    Local $hDC = _WinAPI_GetDC($frmMain)
    ; Bar
    Local $hBrush = _WinAPI_CreateSolidBrush(0x5a6a50)
    Local $hRect = DllStructCreate($tagRECT)
    DllStructSetData($hRect,"Left",0)
    DllStructSetData($hRect,"Top",0)
    DllStructSetData($hRect,"Right",$aDim[0])
    DllStructSetData($hRect,"Bottom",20)
    _WinAPI_FillRect($hDC,DllStructGetPtr($hRect),$hBrush)
    _WinAPI_DeleteObject($hBrush)
    ; Minimize
    $hBrush = _WinAPI_CreateSolidBrush(0xd8ded3)
    DllStructSetData($hRect,"Left",$aDim[0]-37)
    DllStructSetData($hRect,"Top",12)
    DllStructSetData($hRect,"Right",$aDim[0]-28)
    DllStructSetData($hRect,"Bottom",14)
    _WinAPI_FillRect($hDC,DllStructGetPtr($hRect),$hBrush)
    _WinAPI_DeleteObject($hBrush)
    ; Close
    Local $hPen = _WinAPI_CreatePen($PS_SOLID,2,0xd8ded3)
    Local $hSelected = _WinAPI_SelectObject($hDC,$hPen)
    _WinAPI_DrawLine($hDC,$aDim[0]-20, 5, $aDim[0]-11, 14)
    _WinAPI_DrawLine($hDC,$aDim[0]-20, 14, $aDim[0]-11, 5)
    _WinAPI_SelectObject($hDC,$hSelected)
    _WinAPI_DeleteObject($hPen)
    $hBrush = _WinAPI_CreateSolidBrush(0xd8ded3)
    ; Frame Edge
    $hBrush = _WinAPI_CreateSolidBrush(0x686a65)
    DllStructSetData($hRect,"Left",$aDim[0]-1)
    DllStructSetData($hRect,"Top",20)
    DllStructSetData($hRect,"Right",$aDim[0])
    DllStructSetData($hRect,"Bottom",$aDim[1])
    _WinAPI_FillRect($hDC,DllStructGetPtr($hRect),$hBrush)
    DllStructSetData($hRect,"Left",0)
    DllStructSetData($hRect,"Top",20)
    DllStructSetData($hRect,"Right",1)
    DllStructSetData($hRect,"Bottom",$aDim[1])
    _WinAPI_FillRect($hDC,DllStructGetPtr($hRect),$hBrush)
    DllStructSetData($hRect,"Left",0)
    DllStructSetData($hRect,"Top",$aDim[1]-1)
    DllStructSetData($hRect,"Right",$aDim[0])
    DllStructSetData($hRect,"Bottom",$aDim[1])
    _WinAPI_FillRect($hDC,DllStructGetPtr($hRect),$hBrush)
    _WinAPI_DeleteObject($hBrush)
    _WinAPI_ReleaseDC($frmMain,$hDC)
    AdlibRegister("DrawBar")
EndFunc
Edited by NerdFencer

_________[u]UDFs[/u]_________-Mouse UDF-Math UDF-Misc Constants-Uninstaller Shell

Share this post


Link to post
Share on other sites

NerdFencer,

I'm not pro at GDI stuff, not even close, so here is a question for you. Why is it, when I replace the default colours with 0x97D9F5 and 0xe9eff5, do they not appear as they should? I should see blue, not orange/cream.

James

Share this post


Link to post
Share on other sites

I'm not pro at GDI stuff, not even close, so here is a question for you. Why is it, when I replace the default colours with 0x97D9F5 and 0xe9eff5, do they not appear as they should? I should see blue, not orange/cream.

Ok, so does anyone have an answer for my question?

Share this post


Link to post
Share on other sites

Weird, Tried blue on the background - thats blue.

Tried blue on the titlebar - thats not blue.

Look at: Line 77 and 79 -- nothing to do with above comment


"Today's scientists have substituted mathematics for experiments, and they wander off through equation after equation, and eventually build a structure which has no relation to reality." ~ Nikola Tesla

Share this post


Link to post
Share on other sites

The colors for the background are in RGB format while the colors in the Draw function are in BGR format. So, for red, instead of using 0xFF0000, use 0x0000FF.


[font="Verdana"] [size="2"]"[/size][/font]Failure is not an option -- it comes packaged with Windows"[font="Verdana"][size="2"] Gecko Web Browser[/size][/font][font="Verdana"][size="2"], [/size][/font][font="Verdana"][size="2"]Yahtzee![/size][/font][font="Verdana"][size="2"], Toolbar Launcher (like RocketDock)[/size][/font][font="Verdana"][size="2"]Internet Blocker, Simple Calculator, Local Weather, Easy GDI+ GUI [/size][/font][font="Verdana"][size="2"]Triangle Solver, TCP File Transfer, [/size][/font][font="Verdana"][size="2"]Valuater's Autoit Wrappers[/size][/font][font="Verdana"][size="3"][size="2"][size="2"]OOP In AutoIt[/size][/size][/size][/font][font="Verdana"][size="2"][size="1"]Using Windows XP SP3, 1GB RAM, AMD Athlon Processor @ 2.1 GHzCheck me out at gadgets.freehostrocket.com[/size][/size][/font]

Share this post


Link to post
Share on other sites

That explains alot - just think backwards


"Today's scientists have substituted mathematics for experiments, and they wander off through equation after equation, and eventually build a structure which has no relation to reality." ~ Nikola Tesla

Share this post


Link to post
Share on other sites

The colors for the background are in RGB format while the colors in the Draw function are in BGR format. So, for red, instead of using 0xFF0000, use 0x0000FF.

I was thinking of something like that but couldn't see the documentation for it, that or I mis-read it.

Share this post


Link to post
Share on other sites

I was thinking of something like that but couldn't see the documentation for it, that or I mis-read it.

Rule of thumb: If RGB doesn't work as expected, try BGR.

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!


Register a new account

Sign in

Already have an account? Sign in here.


Sign In Now
Sign in to follow this  
Followers 0