Jump to content

XSkin.au3... Skin your GUI


Valuater
 Share

Recommended Posts

Line 8 #include <XSkin.au3>

Error: #include depth exceeded. Make sure there are no recursive includes

XD I suppose im doing something wrong XD

[center]"When you look at old, classic games like Snake, you often put it off because it's such a simple game, but it's only when you actually try and create your own unique game from scratch, do you finally appreciate those games."[/center][center]Don't ask for answers if you haven't TRIED yet![/center][center]Most answers can be answered in the help file! Use it![/center]

Link to comment
Share on other sites

This is the help file for XSkin, If you have any problems or improvements for/with it PM me.

Sorry it took so long, I havn't been able to get onto the forums lately :)

Updates In Version 1.2

*Added Gradient

*Added Tab

*Added Animate

XSkin.zip

Edited by Joscpe

-Joscpe

Link to comment
Share on other sites

Ok, I started the help a bit, I would like to know if I should bother continuing on it...

Its attached below...

that looks pretty cool, if you want to conmtinue that would be great!!!!

remember

XSkinGUICreate( "title", Width, Height, "Skin Folder" )

Parameters

Title The title of the GUI

Width Width of the window

Height Height of the window

Skin Directory Directory of the skin your using

........ XSkinGUICreate() has more optional parameters also

8)

Edited by Valuater

NEWHeader1.png

Link to comment
Share on other sites

that looks pretty cool, if you want to conmtinue that would be great!!!!

remember

XSkinGUICreate( "title", Width, Height, "Skin Folder" )

Parameters

Title The title of the GUI

Width Width of the window

Height Height of the window

Skin Directory Directory of the skin your using

........ XSkinGUICreate() has more optional parameters also

8)

Is this better?

XSkinGUICreate( "title", Width, Height, "Skin Folder" [, Header [, Corners]] )

Parameters

Title The title of the GUI

Width Width of the window

Height Height of the window

Skin Folder Directory of the skin your using

Header [optional] Use -1 to show title with Max/Min/Close, use 0 to show title only and 1 to not show any of them. Default ( 1 ) don't show anything.

Corners [optional] Use 0 for no rounded corners. Default ( 25 ) corners have an arc of 25.

Example

#include <XSkin.au3> 

; folder of skin
$Skin_Folder = @ScriptDir & "\Skins\Black-Yellow"

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

GUISetState()

While 1
    Sleep(10)
WEnd

Hey Valuater, is this "XSkin Plus" created by you? is it any better?

Edited by Joscpe

-Joscpe

Link to comment
Share on other sites

Is this better?

XSkinGUICreate( "title", Width, Height, "Skin Folder" [, Header [, Corners]] )

Parameters

Title The title of the GUI

Width Width of the window

Height Height of the window

Skin Folder Directory of the skin your using

Header [optional] Use -1 to show title with Max/Min/Close, use 0 to show title only and 1 to not show any of them. Default ( 1 ) don't show anything.

Corners [optional] Use 0 for no rounded corners. Default ( 25 ) corners have an arc of 25.

Example

#include <XSkin.au3> 

; folder of skin
$Skin_Folder = @ScriptDir & "\Skins\Black-Yellow"

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

GUISetState()

While 1
    Sleep(10)
WEnd

Hey Valuater, is this "XSkin Plus" created by you? is it any better?

Looks great!!!

what is XSkin Plus???

I have created Plug-ins like the XSkinShell ( skin any program )

8)

NEWHeader1.png

Link to comment
Share on other sites

Nvm, I thaught I saw a post somewhere about it. Also...

Xskinprogress plus 2.zip

I updated my help file, if you wanna look at it... I can't figure out why this thread was never stickied, I would say this is a pretty big jump in AutoIt coding.

Edited by Joscpe

-Joscpe

Link to comment
Share on other sites

Sorry for errors. In the version 2 of Xskinprogress plus.au3:

$Progress1 = XSkinProgress(80, 60, 20, 200,4) ; 4 is Vertical

$Progress2 = XSkinProgress(120, 60, 20, 200,5) ; 5 is Vertical SMOOTH

$Progress3 = XSkinProgress(160, 60, 20, 200,14) ; 14 is Vertical Flux

$Progress4 = XSkinProgress(200, 60, 20, 200,15) ; 15 is Vertical Line

$Progress5 = XSkinProgress(50, 280, 200, 20,0) ; 0 is horizontal

$Progress6 = XSkinProgress(50, 310, 200, 20,1) ; 1 is Horizontal SMOOTH

$Progress7 = XSkinProgress(50, 340, 200, 20,8) ; 8 is Horizontal Flux

$Progress8 = XSkinProgress(50, 370, 200, 20,9) ; 9 is Horizontal Line

Link to comment
Share on other sites

Xskinprogress plus is a demo.

I have add a new variable $HAL9000 in Xskin.au3 to obtain this little improvement. If you want, you can use it.

Func XSkinProgress($Pleft, $Ptop, $Pwidth, $Pheight,$HAL9000)

Local $XS_n, $PControl

If StringInStr(@OSTYPE, "WIN32_NT") Then

$XS_n = DllCall("uxtheme.dll", "int", "GetThemeAppProperties")

DllCall("uxtheme.dll", "none", "SetThemeAppProperties", "int", 0)

EndIf

$PControl = GUICtrlCreateProgress($Pleft, $Ptop, $Pwidth, $Pheight,$HAL9000)

GUICtrlSetBkColor($PControl, $over_color)

GUICtrlSetColor($PControl, $btn_color)

GUICtrlSetLimit(-1,100,0)

If StringInStr(@OSTYPE, "WIN32_NT") and IsArray($XS_n)Then

DllCall("uxtheme.dll", "none", "SetThemeAppProperties", "int", $XS_n[0])

EndIf

Return $PControl

EndFunc ;==>XSkinProgress

Link to comment
Share on other sites

Nvm, I thaught I saw a post somewhere about it. Also...

I updated my help file, if you wanna look at it... I can't figure out why this thread was never stickied, I would say this is a pretty big jump in AutoIt coding.

Really... Really Nice job on the Help File...

I will Link it to page #1 when you get just a little further....

.... again, nice job!!! Joscpe

8)

NEWHeader1.png

Link to comment
Share on other sites

XSkin Plug-in

XSkinGradient.au3

Gradient Background colors

Posted Image

Demo

#include <GUIConstantsEx.au3>
#include <XSkin.au3>
#include <XSkinGradient.au3> 


; folder of skin
$Skin_Folder = @ScriptDir & "\Skins\Defacto"

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

$Icon_Folder = @ScriptDir & "\Skins\Default"
$XIcon = XSkinIcon ($XSkinGui, 1)

$Button_1 = XSkinButton ("Set Button/Bkg Color", 130, 130, 120, 30, "CallA") ; mouse-over color automatic
$Button_2 = XSkinButton ("Set Bkg/Over Color", 130, 165, 120, 30, "CallB") ; mouse-over color automatic
$Button_3 = XSkinButton ("Set Over/Button Color", 130, 200, 120, 30, "CallC") ; mouse-over color automatic
$Button_4 = XSkinButton ("Set Custom (Blue)", 130, 235, 120, 30, "CallCustom") 
$Button_5 = XSkinIconButton ("Exit", 130, 270, 120, 30, 240) ; Icon button - No mouse-over color

$Back_Color = XSkinGradient($XSkinGui, $bkg_color, $btn_color)

GUISetState()

While 1
    MouseOver ()
    $msg = GUIGetMsg()
    
    If $msg = $XIcon[1]Or $msg = $Button_5 Then Exit
    
WEnd

Func CallCustom()
    GUICtrlDelete($Back_Color)
    $start_color = 0x000066
    $final_color = 0x0000FF
    $Back_Color = XSkinGradient($XSkinGui, $start_color, $final_color)
EndFunc   ;==>CallResize

Func CallA()
    GUICtrlDelete($Back_Color)
    $Back_Color = XSkinGradient($XSkinGui, $btn_color, $bkg_color)
EndFunc   ;==>CallRun

Func CallB()
    GUICtrlDelete($Back_Color)
    $Back_Color = XSkinGradient($XSkinGui, $bkg_color, $over_color)
EndFunc   ;==>CallRun

Func CallC()
    GUICtrlDelete($Back_Color)
    $Back_Graph = XSkinGradient($XSkinGui,  $over_color, $btn_color)
EndFunc   ;==>CallRunoÝ÷ Ùt¤q«iØ֮ݫ­¢+ØìYÈĸĸÀÕѽ¥ÐYÈØ̸ȸÄȸÀÔ¼ÈȼÈÀÀà´½Ì9½ÐIÅÕ¥ÉaM­¥¸¹ÔÌ(¥¹±Õµ½¹(¥¹±Õ±Ðí
½±½È¹ÔÌÐì(¥¹±Õ±ÐíU%
½¹ÍѹÑÍà¹ÔÌÐì((̵¼(¥¹±Õ±ÐíaM­¥¸¹ÔÌÐì((ÀÌØíM­¥¹}½±ÈôMÉ¥ÁѥȵÀìÅÕ½ÐìÀäÈíM­¥¹ÌÀäÈíѼÅÕ½Ðì(ÀÌØíaM­¥¹Õ¤ôaM­¥¹U%
ÉÑ ÅÕ½ÐíÉ¥¹Ðµ¼ÅÕ½Ðì°ÐÀÀ°ÐÔÀ°ÀÌØíM­¥¹}½±È¤((ÀÌØí   ­}
½±½ÈôaM­¥¹É¥¹Ð ÀÌØíaM­¥¹Õ¤°ÀÌØíѹ}½±½È°ÀÌØí­}½±½È¤)U%MÑMÑÑ ¤()]¡¥±Ä(ÀÌØíµÍôU%Ñ5Í ¤(%ÀÌØíµÍô´ÌQ¡¸á¥Ð)]¹((()Õ¹aM­¥¹É¥¹Ð ÀÌØí¹aM­¥¹U$°ÀÌØí¹MÑÉÑ
½±½È°ÀÌØí¹¹
½±½È¤(1½°ÀÌØí¹M¥éô]¥¹Ñ
±¥¹ÑM¥é ÀÌØí¹aM­¥¹U$¤(1½°ÀÌØí¹`ôÀ°ÀÌØí¹dôÀ°ÀÌØí¹]¥Ñ ôÀÌØí¹M¥élÁt°ÀÌØí¹!¥¡ÐôÀÌØí¹M¥élÅt(1½°ÀÌØí½±½ÈÅHô}
½±½ÉÑI ÀÌØí¹MÑÉÑ
½±½È¤(1½°ÀÌØí½±½ÈÅô}
½±½ÉÑɸ ÀÌØí¹MÑÉÑ
½±½È¤(1½°ÀÌØí½±½ÈÅô}
½±½ÉÑ  ±Õ ÀÌØí¹MÑÉÑ
½±½È¤(1½°ÀÌØí¹MÑÁHô¡}
½±½ÉÑI ÀÌØí¹¹
½±½È¤´ÀÌØí½±½ÈÅH¤¼ÀÌØí¹!¥¡Ð(1½°ÀÌØí¹MÑÁô¡}
½±½ÉÑɸ ÀÌØí¹¹
½±½È¤´ÀÌØí½±½ÈŤ¼ÀÌØí¹!¥¡Ð(1½°ÀÌØí¹MÑÁô¡}
½±½ÉÑ  ±Õ ÀÌØí¹¹
½±½È¤´ÀÌØí½±½ÈŤ¼ÀÌØí¹!¥¡Ð(ÀÌØí¹ÉÁ ôÕ¥
Ñɱ
ÉÑÉÁ¡¥ ÀÌØí¹`°ÀÌØí¹d°ÀÌØí¹]¥Ñ °ÀÌØí¹!¥¡Ð¤(½ÈÀÌØí¤ôÀQ¼ÀÌØí¹!¥¡Ð´ÀÌØí¹d(ÀÌØíÍ
½±½ÈôÅÕ½ÐìÁàÅÕ½ÐìµÀìMÑÉ¥¹½ÉµÐ ÅÕ½ÐìÀÉ`ÀÉ`ÀÉ`ÅÕ½Ðì°ÀÌØí½±½ÈÅH¬ÀÌØí¹MÑÁH¨ÀÌØí¤°ÀÌØí½±½ÈŬÀÌØí¹MÑÁ¨ÀÌØí¤°ÀÌØí½±½ÈŬÀÌØí¹MÑÁ¨ÀÌØí¤¤(U%
ÑɱMÑÉÁ¡¥ ´Ä°ÀÌØíU%}I}
=1=H°ÀÌØíÍ
½±½È°Áá¤(U%
ÑɱMÑÉÁ¡¥ ´Ä°ÀÌØíU%}I}5=Y°À°ÀÌØí¤¤(U%
ÑɱMÑÉÁ¡¥ ´Ä°ÀÌØíU%}I}1%9°ÀÌØí¹]¥Ñ °ÀÌØí¤¤(9áÐ(U%
ÑɱMÑMÑÑ ÀÌØí¹ÉÁ °ÀÌØíU%}%M   1¤(IÑÕɸÀÌØí¹ÉÁ )¹Õ¹

Thanks to Zedna, gafrost, and CoePSX

Ver 1.1.0 Autoit Ver v3.2.12.0 5/22/2008 - Does Not Require XSkin.au3

8)

Edited by Valuater

NEWHeader1.png

Link to comment
Share on other sites

Downloaded the new version, 1.3.5, didn't see any stuff in there for xSkin Tabs, am I incorrect in thinking that they are now available?

Sorry... just seen your post, been kinda busy

Actually.... Not yet

I posted a pic of a "working" demo, my problem is releasing this without clear understanding of development questions, future development and etc..

The XSkinColorTab() i will post shortly...

This is not a major development, I can't get the entire TAB Painted... sorry

The XSkinListTab() will be posted later... ??? ( need to figure out future integration/development )

this is a neat development with pic buttons and etc

linked here...

http://www.autoitscript.com/forum/index.ph...st&p=291783

8)

NEWHeader1.png

Link to comment
Share on other sites

XSkin Plug-in

XSkinGradient.au3

Gradient Background colors

Posted Image

Demo

#include <GUIConstants.au3>
#include <XSkin.au3>
#include <XSkinGradient.au3> 
; folder of skin
$Skin_Folder = @ScriptDir & "\Skins\Defacto"

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

$Icon_Folder = @ScriptDir & "\Skins\Default"
$XIcon = XSkinIcon ($XSkinGui, 1)

$Button_1 = XSkinButton ("Set Button/Bkg Color", 130, 130, 120, 30, "CallA") ; mouse-over color automatic
$Button_2 = XSkinButton ("Set Bkg/Over Color", 130, 165, 120, 30, "CallB") ; mouse-over color automatic
$Button_3 = XSkinButton ("Set Over/Button Color", 130, 200, 120, 30, "CallC") ; mouse-over color automatic
$Button_4 = XSkinButton ("Set Custom (Blue)", 130, 235, 120, 30, "CallCustom") 
$Button_5 = XSkinIconButton ("Exit", 130, 270, 120, 30, 240) ; Icon button - No mouse-over color

$Back_Color = XSkinGradient($XSkinGui, $bkg_color, $btn_color)

GUISetState()

While 1
    MouseOver ()
    $msg = GUIGetMsg()
    
    If $msg = $XIcon[1]Or $msg = $Button_5 Then Exit
    
WEnd

Func CallCustom()
    GUICtrlDelete($Back_Color)
    $start_color = 0x000066
    $final_color = 0x0000FF
    $Back_Color = XSkinGradient($XSkinGui, $start_color, $final_color)
EndFunc   ;==>CallResize

Func CallA()
    GUICtrlDelete($Back_Color)
    $Back_Color = XSkinGradient($XSkinGui, $btn_color, $bkg_color)
EndFunc   ;==>CallRun

Func CallB()
    GUICtrlDelete($Back_Color)
    $Back_Color = XSkinGradient($XSkinGui, $bkg_color, $over_color)
EndFunc   ;==>CallRun

Func CallC()
    GUICtrlDelete($Back_Color)
    $Back_Graph = XSkinGradient($XSkinGui,  $over_color, $btn_color)
EndFunc   ;==>CallRun

 oÝ÷ Ùt¤q«iØ֮ݫ­¢+Ø(¥¹±Õµ½¹(¥¹±Õ±Ðí
½±½È¹ÔÌÐì(¥¹±Õ±ÐíU%
½¹ÍѹÑ̹ÔÌÐì((̵¼(¥¹±Õ±ÐíaM­¥¸¹ÔÌÐì((ÀÌØíM­¥¹}½±ÈôMÉ¥ÁѥȵÀìÅÕ½ÐìÀäÈíM­¥¹ÌÀäÈíѼÅÕ½Ðì(ÀÌØíaM­¥¹Õ¤ôaM­¥¹U%
ÉÑ ÅÕ½ÐíÉ¥¹Ðµ¼ÅÕ½Ðì°ÐÀÀ°ÐÔÀ°ÀÌØíM­¥¹}½±È¤((ÀÌØí   ­}
½±½ÈôaM­¥¹É¥¹Ð ÀÌØíaM­¥¹Õ¤°ÀÌØíѹ}½±½È°ÀÌØí­}½±½È¤)U%MÑMÑÑ ¤()]¡¥±Ä(ÀÌØíµÍôU%Ñ5Í ¤(%ÀÌØíµÍô´ÌQ¡¸á¥Ð)]¹((()Õ¹aM­¥¹É¥¹Ð ÀÌØí¹aM­¥¹U$°ÀÌØí¹MÑÉÑ
½±½È°ÀÌØí¹¹
½±½È¤(1½°ÀÌØí¹M¥éô]¥¹Ñ
±¥¹ÑM¥é ÀÌØí¹aM­¥¹U$¤(1½°ÀÌØí¹`ôÀ°ÀÌØí¹dôÀ°ÀÌØí¹]¥Ñ ôÀÌØí¹M¥élÁt°ÀÌØí¹!¥¡ÐôÀÌØí¹M¥élÅt(1½°ÀÌØí½±½ÈÅHô}
½±½ÉÑI ÀÌØí¹MÑÉÑ
½±½È¤(1½°ÀÌØí½±½ÈÅô}
½±½ÉÑɸ ÀÌØí¹MÑÉÑ
½±½È¤(1½°ÀÌØí½±½ÈÅô}
½±½ÉÑ  ±Õ ÀÌØí¹MÑÉÑ
½±½È¤(1½°ÀÌØí¹MÑÁHô¡}
½±½ÉÑI ÀÌØí¹¹
½±½È¤´ÀÌØí½±½ÈÅH¤¼ÀÌØí¹!¥¡Ð(1½°ÀÌØí¹MÑÁô¡}
½±½ÉÑɸ ÀÌØí¹¹
½±½È¤´ÀÌØí½±½ÈŤ¼ÀÌØí¹!¥¡Ð(1½°ÀÌØí¹MÑÁô¡}
½±½ÉÑ  ±Õ ÀÌØí¹¹
½±½È¤´ÀÌØí½±½ÈŤ¼ÀÌØí¹!¥¡Ð(ÀÌØí¹ÉÁ ôÕ¥
Ñɱ
ÉÑÉÁ¡¥ ÀÌØí¹`°ÀÌØí¹d°ÀÌØí¹]¥Ñ °ÀÌØí¹!¥¡Ð¤(½ÈÀÌØí¤ôÀQ¼ÀÌØí¹!¥¡Ð´ÀÌØí¹d(ÀÌØíÍ
½±½ÈôÅÕ½ÐìÁàÅÕ½ÐìµÀìMÑÉ¥¹½ÉµÐ ÅÕ½ÐìÀÉ`ÀÉ`ÀÉ`ÅÕ½Ðì°ÀÌØí½±½ÈÅH¬ÀÌØí¹MÑÁH¨ÀÌØí¤°ÀÌØí½±½ÈŬÀÌØí¹MÑÁ¨ÀÌØí¤°ÀÌØí½±½ÈŬÀÌØí¹MÑÁ¨ÀÌØí¤¤(U%
ÑɱMÑÉÁ¡¥ ´Ä°ÀÌØíU%}I}
=1=H°ÀÌØíÍ
½±½È°Áá¤(U%
ÑɱMÑÉÁ¡¥ ´Ä°ÀÌØíU%}I}5=Y°À°ÀÌØí¤¤(U%
ÑɱMÑÉÁ¡¥ ´Ä°ÀÌØíU%}I}1%9°ÀÌØí¹]¥Ñ °ÀÌØí¤¤(9áÐ(U%
ÑɱMÑMÑÑ ÀÌØí¹ÉÁ °ÀÌØíU%}%M   1¤(IÑÕɸÀÌØí¹ÉÁ )¹Õ¹((

Thanks to Zedna, gafrost, and CoePSX

8)

Will this be avaliable for the dat file for skin development?

-Joscpe

Link to comment
Share on other sites

Will this be avaliable for the dat file for skin development?

Its ALREADY built-in

from XSkin.au3

$bkg_color = IniRead($Skin_Folder & "\Skin.dat", "color", "background", 0xD9F6FF)
$btn_color = IniRead($Skin_Folder & "\Skin.dat", "color", "button", 0xD9F6FF)
$over_color = IniRead($Skin_Folder & "\Skin.dat", "color", "mouseover", 0xD9F6FF)
$fnt_color = IniRead($Skin_Folder & "\Skin.dat", "color", "fontcolor", 0x000000)

nothing else is required

8)

Edited by Valuater

NEWHeader1.png

Link to comment
Share on other sites

XSkin Plug-in

XSkinTab.au3

Posted Image

demo...

#include <XSkin.au3> 
#include <XSkinTab.au3> 
#include <_ButtonHover.au3> 

Dim $XSkinID[2]

; the three following folders are seperate for building skins
; however in YOUR program put them in the same folder
; folder of skin
$Skin_Folder = @ScriptDir & "\Skins\Defacto"
; icon folder
$Icon_Folder = @ScriptDir & "\Skins\Default"
; Button pic folder
$XButton_Location = @ScriptDir & "\Buttons\Style_01"

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

$Tab1 = XSkinColorTabCreate(205, 90, 200, 260, $btn_color)
GUICtrlCreateTabItem("Super Skin")
$XSkinID[1] = GUICtrlCreateLabel(" XSkinTabs()... Here!...NOW!!!", 225, 125, 152, 17) ; mouse-over color
GUICtrlCreateTabItem("Power Skin")
GUICtrlCreateLabel("Inside Tab 2", 225, 125, 102, 17)
GUICtrlCreateTabItem("XSkin !")
GUICtrlCreateLabel("Inside Tab 3", 225, 125, 102, 17)
GUICtrlCreateTabItem("")

$test_btn = _HoverButton("Test", 270, 370, 80, 25, 0x40e0d0) 

$tab_Main = XSkinListTabCreate( 5, 40, 40, 150, 360)
$Edit1 = XSkinListTabItem( 1, "My Edit Box", "", "Edit", 44)
GUICtrlSetData( -1, "This is an Edit")
$Calander = XSkinListTabItem( 2, "Calender", "", "Custom", 21) ; see XSkinTab.au3
$list1 = XSkinListTabItem( 3, "My List", "", "List", 17)
GUICtrlSetData( -1, "XSkin Tabs...|This is a List")
$label1 = XSkinListTabItem( 4, "Announcements", 0xDC143C, "Label", 21)
GUICtrlSetData( -1, "tat ta ta tahhhh!")
$label2 = XSkinListTabItem( 5, "XSkinTab() info", "", "Label", 25)
GUICtrlSetData( -1, "Maximum of 5 tabs...." & @CRLF & "currentl labels, lists, and edits" & @CRLF & "are available" )
GUISetState()

While 1
    MouseOver()
    _CheckHoverAndPressed($XSkinGui)
    Tabover()
    $msg = GUIGetMsg()
    Select
        Case $msg = $XIcon[1]
            Exit
        Case $msg = $XIcon[2]
            GUISetState(@SW_MINIMIZE)
        Case $msg = $test_btn
            $State = GUICtrlGetState($Edit1)
            If $State = 96  Or $State = 80 Then
                MsgBox(64,"Disable", "... Disable Edit Control",2)
                GUICtrlSetState($Edit1, $GUI_DISABLE)
            Else
                MsgBox(64,"Enable", "... Enable Edit Control",2)
                GUICtrlSetState($Edit1, $GUI_ENABLE)
            EndIf
    EndSelect
WEnd

oÝ÷ Ùt¤tÚm«·jëh×6


; XSkinTab.au3 January 10, 2007

#include-once
#include <XSkin.au3>
#include <GUIConstants.au3>
#include <_ButtonHover.au3>
;Opt("MustDeclareVars", 1)
;Opt("TrayIconDebug", 1)

Global $XS_tab[1], $TControl[1]
Global $tempID2, $CtrlId2, $tabhold, $Tnumc
Global $Tcount, $Tleft, $Ttop, $Twidth, $Theight

Func XSkinListTabCreate($Tcounter, $TBleft, $TBtop, $TBwidth, $TBheight)
    If $Tcounter = "" Or $Tcounter = "0" Or $Tcounter > 5 Then XSkinTabError("XSkinListTabCreate, $Tcounter must be > 0 and < 5    ")
    $Tcount = $Tcounter
    $Tleft = $TBleft
    $Ttop = $TBtop
    $Twidth = $TBwidth
    $Theight = $TBheight
    ReDim $XS_tab[$Tcount + 1]
    ReDim $TControl[$Tcount + 1]
    $XS_tab[0] = $Tcount
    Local $XS_tabm = GUICtrlCreateDummy()
    Return $XS_tabm
EndFunc   ;==>XSkinListTabCreate

Func XSkinListTabItem($Tnum, $Tname, $Tcolor, $Ttype, $TIconNum = 0, $TIDLL = "shell32.dll")
    If $Tnum = "" Or $Tnum = 0 Or $Tnum > 5 Then XSkinTabError("XSkinListTabItem, $Tnum must be > 0 and < 5    ")
    If $Tnum > $Tcount Then XSkinTabError("XSkinListTabItem, $Tnum (" & $Tnum & ") is greater than XSkinListTabCreate $Tcount (" & $Tcount & ")   ")
    $Tnumc = $Tnumc + 1
    If $Tnumc <> $Tnum Then XSkinTabError("XSkinTabItem, Created in an incorrect order #" & $Tnum & "   ")
    Local $TitemL = $Tleft + 1
    Local $TitemW = $Twidth - 3
    Local $TitemT = $Ttop + (($Tnumc - 1) * 25) + 2
    Local $TitemH = 25
    $XS_tab[$Tnum] = _HoverButton ($Tname, $TitemL, $TitemT, $TitemW, $TitemH, $Tcolor)
    If $TIconNum <> 0 Then GUICtrlCreateIcon($TIDLL, $TIconNum, $TitemL + 5, $TitemT + (($TitemH - 16) / 2), 16, 16)
    If $TIconNum <> 0 Then GUICtrlSetState(-1, $GUI_DISABLE)
    $TitemT = $Ttop + (($XS_tab[0]) * 25) + 2
    $TitemH = $Theight - $TitemT + 37
    If $Ttype = "list" Then
        $TControl[$Tnum] = GUICtrlCreateList("", $TitemL, $TitemT, $TitemW, $TitemH)
        If $Tnum < $XS_tab[0] Then GUICtrlSetState($TControl[$Tnum], $GUI_HIDE)
    ElseIf $Ttype = "Edit" Then
        $TControl[$Tnum] = GUICtrlCreateEdit("", $TitemL, $TitemT, $TitemW, $TitemH)
        If $Tnum < $XS_tab[0] Then GUICtrlSetState($TControl[$Tnum], $GUI_HIDE)
    ElseIf $Ttype = "Label" Then
        $TControl[$Tnum] = GUICtrlCreateLabel("", $TitemL, $TitemT, $TitemW - 1, $TitemH, $SS_SUNKEN)
        GUICtrlSetBkColor($TControl[$Tnum], 0xFFFFFF)
        If $Tnum < $XS_tab[0] Then GUICtrlSetState($TControl[$Tnum], $GUI_HIDE)
    ElseIf $Ttype = "Custom" Then                                 ; ************** Create your own ***** Custom *******
        $TControl[$Tnum] = GUICtrlCreateMonthCal("", $TitemL, $TitemT, $TitemW, $TitemH)
        If $Tnum < $XS_tab[0] Then GUICtrlSetState($TControl[$Tnum], $GUI_HIDE)
    Else
        XSkinTabError("XSkinTabItem, Unknown control ( list, edit, label ) #" & $Tnum & "   ")
    EndIf
    Return $TControl[$Tnum]
EndFunc   ;==>XSkinListTabItem

Func Tabover()
    For $x = 1 To $XS_tab[0]
        If $tabhold <> $XS_tab[$x] And $CtrlId2 And $tempID2 - 1 = $XS_tab[$x] Then
            For $i = 1 To $XS_tab[0]
                GUICtrlSetState($TControl[$i], $GUI_HIDE)
            Next
            GUICtrlSetState($TControl[$x], $GUI_SHOW)
            $tabhold = $XS_tab[$x]
        EndIf
    Next
EndFunc   ;==>Tabover

Func XSkinTabError($XE_msg)
    MsgBox(64, "XSkin Error", $XE_msg, 5)
    Exit
EndFunc   ;==>XSkinTabError

Func XSkinColorTabCreate($XTleft, $XTtop, $XTwidth, $XTlength, $XTcolor)
    Local $XTab1 = GUICtrlCreateTab($XTleft, $XTtop, $XTwidth, $XTlength, BitOR($TCS_MULTILINE, $TCS_RIGHTJUSTIFY))
    GUICtrlCreateLabel("", $XTleft + 2, $XTtop + 24, $XTwidth - 6, $XTlength - 28)
    GUICtrlSetBkColor(-1, $XTcolor)
    GUICtrlSetState(-1, $GUI_DISABLE)
    Return $XTab1
EndFunc   ;==>XSkinColorTabCreate

8)

NEWHeader1.png

Link to comment
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
 Share

  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...