Jump to content

XSkin.au3... Skin your GUI


Recommended Posts

I have a pretty big update for _ButtonHover and XSkin. I've added support for _HoverButton's where each can have it's own Normal/Over/Press states. I also fixed a bug in _ButtonHover that was causing major problems. For the bug, try this -

$test = ""

If $test = 0 Then ConsoleWrite("test1 = " & $test & @CRLF)
If $test = 1 Then ConsoleWrite("test2 = " & $test & @CRLF)oÝ÷ ÙµÒ)Èrç{Ûjëh×6Func XSkinIcon(ByRef $XS_hWin, $XS_cH = 1) ; icon style
    If $XS_cH > 3 Or $XS_hWin = "" Then Return
    Local $XS_b, $XS_IPos1 = $XS_Isize, $XSIPos, $XS_winB[$XS_cH + 1]
    If StringRight($Icon_Folder, 1) <> "\" Then $Icon_Folder &= "\"
    $XSIPos = WinGetPos($XS_hWin)
    For $XS_b = 1 To UBound($XS_winB) - 1
        If $XS_b = 3 And Not FileExists($Icon_Folder & $XS_Istyle & $XS_b & ".bmp") Then
            GUICtrlCreatePic($Icon_Folder & "Standard3.bmp", ($XSIPos[2] - $XadjLt) - $XS_IPos1, $XadjDn, $XS_Isize, $XS_Isize, -1, $WS_EX_TOPMOST)
        Else
            GUICtrlCreatePic($Icon_Folder & $XS_Istyle & $XS_b & ".bmp", ($XSIPos[2] - $XadjLt) - $XS_IPos1, $XadjDn, $XS_Isize, $XS_Isize, -1, $WS_EX_TOPMOST)
        EndIf
        GUICtrlSetState(-1, $GUI_DISABLE)
        $XS_winB[$XS_b] = GUICtrlCreateButton("", ($XSIPos[2] - $XadjLt) - $XS_IPos1, $XadjDn, $XS_Isize, $XS_Isize, $WS_CLIPSIBLINGS)
        $XS_IPos1 += $XS_Isize
    Next
    Return $XS_winB
EndFunc   ;==>XSkinIcon
Edited by wraithdu
Link to post
Share on other sites
  • Replies 503
  • Created
  • Last Reply

Top Posters In This Topic

Top Posters In This Topic

Popular Posts

** UPDATED ** Jan 22, 2009 Ver 1.4.1 XSkin.au3 * Added - XSkinConsole - Plug-in * Added - XSkinTrayMenu - Plug-in * Over 40 GUI Skins! - any size you want * Mouse-Over GUI Options

XSkin.au3 Demonstration Page Basics: 1. A Skinned GUI Only 2. A Skinned GUI and Button 3. A Skinned GUI, Button and XSkinMsgBox 4. A Skinned GUI, Button and XSkinInputBox 5. A

Posted Images

I have a pretty big update for _ButtonHover and XSkin. I've added support for _HoverButton's where each can have it's own Normal/Over/Press states. I also fixed a bug in _ButtonHover that was causing major problems. For the bug, try this -

In one word... Awesome!!!

I should have noticed the == portion but, I really like that addition to allow different buttons. I still like the Theme approach, However, being able to have your own pic buttons has been asked for many times.

Good Stuff!

thx

8)

Edited by Valuater

NEWHeader1.png

Link to post
Share on other sites

Thanks, I'm glad you like it :)

I also like the Theme approach, which is why the "tag" param is optional (defaults to ""). If you omit it, then the script operates just as before, using the Theme buttons.

UPDATE:

I was working on this for someone who wanted a themed GUI, and discovered (and squashed) 2 bugs. I've updated the _HoverButtonWaitUp() function in my previous post to NOT use @Gui_CtrlId. The 2 bugs were -

1. if the function was called from the tray icon menu, then GUIGetCursorInfo() fails, and the ButtonWait function failed with an array subscript error and crashed the script

2. if the VERY FIRST CLICK is from the tray menu, then @Gui_CtrlId is undefined and crashed the script with an unknown macro error

The ButtonUp function now uses the array from _ControlHover instead of @Gui_CtrlId and tests to make sure GUIGetCursorInfo() is successful and returns an array. Enjoy :(

PS - anyone know why editing a post with autoit | /autoit tags corrupts the text?

Edited by wraithdu
Link to post
Share on other sites
  • 3 weeks later...
  • 3 weeks later...

Hi,

works the xSkin.au3 with the new stable version 3.2.12.0 good or are there some errors?

thanks :)

I have been checking all the Skins and .....

... ALL Plug-ins too, and havent found a problem yet!!

Please let me know if you find any

8)

NEWHeader1.png

Link to post
Share on other sites
  • 2 weeks later...

i make one new skin....i think all of you will like it:D

little stole it but what ever:D

Butons added:D

X,minimaze buton (normal, over mouse,pressed)

Simple buton (normal, over mouse,pressed)

Posted Image

Feel free to download it and use it:D

↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓

Spider.zip

Respect for all

Edited by Kyme
Link to post
Share on other sites

i hate buttons but what ever maybe you will like it:D

Butons added:D

X,minimaze buton (normal, pressed)

Simple buton (normal, pressed)

Posted Image

Feel free to download it and use it:D

↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓

Flo.zip

Respect for all

Edited by Kyme
Link to post
Share on other sites

Armmy skin:D

Butons added:D

X,minimaze buton (normal,over mouse, pressed)

Simple buton(normal,over mouse, pressed)

Posted Image

Feel free to download it and use it:D

↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓

Armmy.zip

Respect for all

Edited by Kyme
Link to post
Share on other sites
  • 1 month later...

from many requests..

This is how to use a second gui

#include <XSkin.au3>

Dim $XskinID[3] ; the count to Mouseover + 1

; the two following folders are seperate for building skins
; however in YOUR program put them in the same folder
; folder of skin
$Skin_Folder = @ScriptDir & "\Skins\Black-Yellow"
; icon folder
$Icon_Folder = @ScriptDir & "\Skins\Default"

; create the parent ...

$XSkinGui = XSkinGUICreate( "My GUI", 400, 450, $Skin_Folder)
$XIcon = XSkinIcon($XSkinGui, 3)

$XSkinID[1] = GUICtrlCreateLabel(" This is a Mouse-Over color test", 120, 150, 150, 20)

$label = GUICtrlCreateLabel(" This is the theme button color", 120, 200, 150, 20)
GUICtrlSetBkColor( $label, $btn_color) ; see example of theme uses in XSkin.au3

GUISetState()


; Create the second ...

$XSkinGui2 = XSkinGUICreate( "My GUI2", 400, 450, $Skin_Folder)
$XIcon2 = XSkinIcon($XSkinGui, 1)

$XSkinID[2] = GUICtrlCreateLabel(" This is a Second GUI", 120, 150, 150, 20)

$label = GUICtrlCreateLabel(" Press exit to close this GUI", 120, 200, 150, 20)
GUICtrlSetBkColor( $label, $btn_color) 

GUISetState( @SW_HIDE, $XSkinGui2)


While 1
    MouseOver()
    $msg = GUIGetMsg()
   
    If $msg = $XIcon[1] Then Exit
    If $msg = $XIcon[2] Then GUISetState(@SW_MINIMIZE)
    
    If $msg = $XIcon[3] Then 
        GUISetState( @SW_HIDE, $XSkinGui)
        GUISetState( @SW_SHOW, $XSkinGui2)
    EndIf
    
    If $msg = $XIcon2[1] Then 
        GUISetState( @SW_HIDE, $XSkinGui2)
        GUISetState( @SW_SHOW, $XSkinGui)
    EndIf
    
WEnd

1 of many ways available.

8)

NEWHeader1.png

Link to post
Share on other sites
  • 1 month later...
  • 2 weeks later...

Hi, this looks great!!!

I used this mod to dress up my UI and it works fine on my pc. But once I complied the program to an exe and run it on a different pc, I got an error message says skin folder cannot be found.

Does this mod require the skin folder to be installed on every pc it runs on? Can the exe file contain everything it needs to run including skins?

Thanks!

Link to post
Share on other sites

Hi, this looks great!!!

I used this mod to dress up my UI and it works fine on my pc. But once I complied the program to an exe and run it on a different pc, I got an error message says skin folder cannot be found.

Does this mod require the skin folder to be installed on every pc it runs on? Can the exe file contain everything it needs to run including skins?

Thanks!

Yes, just use FileInstall() to install the Xskin files with the exe... see help

... glad you like it!

8)

NEWHeader1.png

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
  • Recently Browsing   0 members

    No registered users viewing this page.

×
×
  • Create New...