#cs
	#################################################
	#												#
	#	Own Style UDF								#
	#	by H2112									#
	#												#
	#	Vorgehensweiße:								#
	#	Als erstes wird ein Fenster erstellt, 		#
	#	welches benutzt wird, um den Rahmen zu		#
	#	zeichnen (in der Mitte transparent). 		#
	#	Danach wird ein Fenster mitten in dem 		#
	#	ersten Fenster erstellt, welches dann wie	#
	#	eine normale GUI verwendet werden kann.		#
	#												#
	#	Version: 1.10.00							#
	#												#
	#################################################
#ce

#include-once
#include <Array.au3>
#include <GDIPlus.au3>
#include <misc.au3>

Global $_OwnStyle_Defaults[3]
Global $_OwnStyle_hWnd[1][44]
Global $_OwnStyle_Colours[1][28]

Global $_OwnStyle_update = False
Global $_OwnStyle_testmode = False

$_OwnStyle_hWnd[0][0] = 0 ; Anzahl der Fenster

If $_OwnStyle_testmode Then _OwnStyle_TestMode()

#cs
$_OwnStyle_Defaults[0] = Stringformat													;$hFormat
$_OwnStyle_Defaults[1] = Schriftfamilie												;$hFamily
$_OwnStyle_Defaults[2] = Schrift														;$hFont
#ce

#cs
$_OwnStyle_hWnd[$WinN][0] = Handle zu dem Fenster, in dem gezeichnet wird				;$hGDIhWnd
$_OwnStyle_hWnd[$WinN][1] = Handle zu dem Fenster, indem die Controls erstelwerden	;hWnd
$_OwnStyle_hWnd[$WinN][2] = Titel des zweiten Fensters								;$title
$_OwnStyle_hWnd[$WinN][3] = Die Breite des zweiten Fensters							;$width
$_OwnStyle_hWnd[$WinN][4] = Die Höhe des zweiten Fensters								;$height
$_OwnStyle_hWnd[$WinN][5] = Handle zu dem Graphik Objekt des ersten Whnd				;$hGraphic
$_OwnStyle_hWnd[$WinN][6] = Hanlde zu dem Bitmap Objekt der Graphik					;$hBitmap
$_OwnStyle_hWnd[$WinN][7] = Handle zu dem Buffer des Bitmaps							;$backbuffer
$_OwnStyle_hWnd[$WinN][8] = Handle zu dem ScreenDC des zweiten Fensters				;$ScreenDC
$_OwnStyle_hWnd[$WinN][9] = Handle zu dem kompatilben dc des ScreenDCs				;$dc
$_OwnStyle_hWnd[$WinN][10] =															;$tSize
$_OwnStyle_hWnd[$WinN][11] =															;$pSize
$_OwnStyle_hWnd[$WinN][12] =															;$tSource
$_OwnStyle_hWnd[$WinN][13] =															;$pSource
$_OwnStyle_hWnd[$WinN][14] =															;$tBlend
$_OwnStyle_hWnd[$WinN][15] =															;$pBlend
$_OwnStyle_hWnd[$WinN][16] =															;$tPoint
$_OwnStyle_hWnd[$WinN][17] =															;$pPoint
$_OwnStyle_hWnd[$WinN][18] = Rahmen Gradient											;$brush1
$_OwnStyle_hWnd[$WinN][19] = Rahmen Normal											;$brush2
$_OwnStyle_hWnd[$WinN][20] = Titelfarbe												;$brush3
$_OwnStyle_hWnd[$WinN][21] = X Button Gradient										;$brush4
$_OwnStyle_hWnd[$WinN][22] = Minimieren Button Gradient								;$brush5
$_OwnStyle_hWnd[$WinN][23] = Standart Pinsel (Alle Umrahumgen)						;$pen1
$_OwnStyle_hWnd[$WinN][24] = X Button													;$pen2
$_OwnStyle_hWnd[$WinN][25] = Minimieren Button										;$pen3
$_OwnStyle_hWnd[$WinN][26] = Das Rechteck, indem der Titel gezeichnet wird			;$tLayout
$_OwnStyle_hWnd[$WinN][27] = Die Minimieren Funktion									;$minF
$_OwnStyle_hWnd[$WinN][28] = Die Exit Funktion										;$exitF
$_OwnStyle_hWnd[$WinN][29] = Rahmen Gradient inaktiv									;$brush1inaktive
$_OwnStyle_hWnd[$WinN][30] = Rahmen Normal inaktiv									;$brush2inaktive
$_OwnStyle_hWnd[$WinN][31] = Titelfarbe inaktiv										;$brush3inaktive
$_OwnStyle_hWnd[$WinN][32] = X Button Gradient inaktiv								;$brush4inaktive
$_OwnStyle_hWnd[$WinN][33] = Minimieren Button Gradient inaktiv						;$brush5inaktive
$_OwnStyle_hWnd[$WinN][34] = Standart Pinsel (Alle Umrahumgen) inaktiv				;$pen1inaktive
$_OwnStyle_hWnd[$WinN][35] = X Button inaktiv											;$pen2inaktive
$_OwnStyle_hWnd[$WinN][36] = Minimieren Button inaktiv								;$pen3inaktive
$_OwnStyle_hWnd[$WinN][37] = Gibt an, am das Fenster aktiv ist						;$aktive
$_OwnStyle_hWnd[$WinN][38] = Minimieren Button Gradient hover							;$brush5hover
$_OwnStyle_hWnd[$WinN][39] = Minimieren Button hover									;pen3hover
$_OwnStyle_hWnd[$WinN][40] = X Button Gradient hover									;$brush4hover
$_OwnStyle_hWnd[$WinN][41] = X Button hover											;$pen2hover
$_OwnStyle_hWnd[$WinN][42] = Gibt an, ob der Minimieren Button gehovert ist			;$minhover
$_OwnStyle_hWnd[$WinN][43] = Gibt an, ob der X Button gehovert ist					;$exithover
#ce

#cs
_OwnStyle_GUISetColour $Mode
$Mode = 0 ; Standard
	Setzt alle Farben wieder auf die Standart Farben
$Mode = 1 ; Rahmen
	$Colour1 = Rahmen Gradient 1
	$Colour2 = Rahmen Gradient 2
	$Colour3 = Rahmen Normal
		Wenn diese Farbe nicht deklaiert wird, wird $Colour2 genommen
$Mode = 2 ; Titel und Standardpinsel
	$Colour1 = Titelfarbe
	$Colour2 = Standardpinsel
		Wenn die Farben nicht deklaiert werden, werden die Standardfarben verwendet
$Mode = 3 ; Minimieren-Button Gradient und Pinsel
	$Colour1 = Minimieren-Button Gradient 1
	$Colour2 = Minimieren-Button Gradient 2
	$Colour3 = Minimieren-Button Pinsel
		Wenn die Farben nicht deklaiert werden, werden die Standardfarben verwendet
$Mode = 4 ; Exit-Button Gradient und Pinsel
	$Colour1 = Exit-Button Gradient 1
	$Colour2 = Exit-Button Gradient 2
	$Colour3 = Exit-Button Pinsel
		Wenn die Farben nicht deklaiert werden, werden die Standardfarben verwendet
$Mode = 5 ; Rahmen inaktiv
	$Colour1 = Rahmen Gradient 1 inaktiv
	$Colour2 = Rahmen Gradient 2 inaktiv
	$Colour3 = Rahmen Normal inaktiv
		Wenn diese Farbe nicht deklaiert wird, wird $Colour2 genommen
$Mode = 6 ; Titel und Standardpinsel inaktiv
	$Colour1 = Titelfarbe inaktiv
	$Colour2 = Standardpinsel inaktiv
		Wenn die Farben nicht deklaiert werden, werden die Standardfarben verwendet
$Mode = 7 ; Minimieren-Button Gradient und Pinsel inaktiv
	$Colour1 = Minimieren-Button Gradient 1 inaktiv
	$Colour2 = Minimieren-Button Gradient 2 inaktiv
	$Colour3 = Minimieren-Button Pinsel inaktiv
		Wenn die Farben nicht deklaiert werden, werden die Standardfarben verwendet
$Mode = 8 ; Exit-Button Gradient und Pinsel inaktiv
	$Colour1 = Exit-Button Gradient 1 inaktiv
	$Colour2 = Exit-Button Gradient 2 inaktiv
	$Colour3 = Exit-Button Pinsel inaktiv
		Wenn die Farben nicht deklaiert werden, werden die Standardfarben verwendet
$Mode = 9 ; Minimieren-Button Gradient und Pinsel hover
	$Colour1 = Minimieren-Button Gradient 1 hover
	$Colour2 = Minimieren-Button Gradient 2 hover
	$Colour3 = Minimieren-Button Pinsel hover
		Wenn die Farben nicht deklaiert werden, werden die Standardfarben verwendet
$Mode = 10 ; Exit-Button Gradient und Pinsel hover
	$Colour1 = Exit-Button Gradient 1 hover
	$Colour2 = Exit-Button Gradient 2 hover
	$Colour3 = Exit-Button Pinsel hover
		Wenn die Farben nicht deklaiert werden, werden die Standardfarben verwendet

#ce

; #CURRENT# =====================================================================================================================
; _OwnStyle_StartUp
; _OwnStyle_ShutDown
; _OwnStyle_GUICreate
; _OwnStyle_GUIDelete
; _OwnStyle_GUISetState
; _OwnStyle_GUISetTitle
; _OwnStyle_GUISetColour
; _OwnStyle_GUISetFunctions
; _OwnStyle_TestMode
; ===============================================================================================================================

; #INTERNAL_USE_ONLY# ===========================================================================================================
; _OwnStyle_Update
; _OwnStyle_DrawFrame
; _OwnStyle_DrawButtons
; _OwnStyle_DrawButtons
; _OwnStyle_DrawTitle
; _OwnStyle_SearchWnd
; _OwnStyle_GUIMinimize
; _OwnStyle_GUIRestore
; _OwnStyle_GUIClose
; _OwnStyle_WM_LButtonDown
; _OwnStyle_WM_Move
; _OwnStyle_WM_Activate
; _OwnStyle_WM_MouseMove
; ===============================================================================================================================

; #FUNCTION# ====================================================================================================================
; Name...........: _OwnStyle_StartUp
; Description ...: Initialisiert die OwnStyle UDF
; Syntax.........: _OwnStyle_StartUp()
; Return values .: True
; Author ........: H2112
; ===============================================================================================================================
Func _OwnStyle_StartUp()
	_GDIPlus_Startup()
	Opt("GUIOnEventMode", 1)
	Opt("GUIEventOptions", 1)
	$_OwnStyle_Defaults[0] = _GDIPlus_StringFormatCreate(0x1000)							;$hFormat
	_GDIPlus_StringFormatSetAlign($_OwnStyle_Defaults[0], 1)
	$_OwnStyle_Defaults[1] = _GDIPlus_FontFamilyCreate("Arial")							;$hFamily
	$_OwnStyle_Defaults[2] = _GDIPlus_FontCreate($_OwnStyle_Defaults[1], 12, 1, 2)					;$hFont
	$_OwnStyle_Colours[0][0] = 0xFFE0EEEE;												;Rahmen Gradient 1
	$_OwnStyle_Colours[0][1] = 0xFF3984DE;												;Rahmen Gradient 2
	$_OwnStyle_Colours[0][2] = 0xFF3984DE;												;Rahmen
	$_OwnStyle_Colours[0][3] = 0xFFFFFFFF;												;Titel
	$_OwnStyle_Colours[0][4] = 0xFFCCBBFF;												;X Button Gradient 1
	$_OwnStyle_Colours[0][5] = 0xFF991100;												;X Button Gradient 2
	$_OwnStyle_Colours[0][6] = 0xFF0099FF;												;Minimieren Button Gradient 1
	$_OwnStyle_Colours[0][7] = 0xFF0000FF;												;Minimieren Button Gradient 2
	$_OwnStyle_Colours[0][8] = 0xFF000000;												;Standart Pinsel
	$_OwnStyle_Colours[0][9] = 0xFFFFFFFF;												;X Button
	$_OwnStyle_Colours[0][10] = 0xFFFFFFFF;												;Minimieren Button
	$_OwnStyle_Colours[0][11] = 0xFFE0EEEE;												;Rahmen Gradient 1 inaktiv
	$_OwnStyle_Colours[0][12] = 0xFF808080;												;Rahmen Gradient 2 inaktiv
	$_OwnStyle_Colours[0][13] = 0xFF808080;												;Rahmen inaktiv
	$_OwnStyle_Colours[0][14] = 0xFFFFFFFF;												;Titel inaktiv
	$_OwnStyle_Colours[0][15] = 0xFF696969;												;X Button Gradient 1 inaktiv
	$_OwnStyle_Colours[0][16] = 0xFFC0C0C0;												;X Button Gradient 2 inaktiv
	$_OwnStyle_Colours[0][17] = 0xFF696969;												;Minimieren Button Gradient 1 inaktiv
	$_OwnStyle_Colours[0][18] = 0xFFC0C0C0;												;Minimieren Button Gradient 2 inaktiv
	$_OwnStyle_Colours[0][19] = 0xFF000000;												;Standart Pinsel inaktiv
	$_OwnStyle_Colours[0][20] = 0xFFFFFFFF;												;X Button inaktiv
	$_OwnStyle_Colours[0][21] = 0xFFFFFFFF;												;Minimieren Button inaktiv
	$_OwnStyle_Colours[0][22] = 0xFF33CCFF;												;Minimieren Button Gradient 1 hover
	$_OwnStyle_Colours[0][23] = 0xFF3333FF;												;Minimieren Button Gradient 2 hover
	$_OwnStyle_Colours[0][24] = 0xFF888888;												;Minimieren Button hover
	$_OwnStyle_Colours[0][25] = 0xFFDDCCFF;												;X Button Gradient 1 hover
	$_OwnStyle_Colours[0][26] = 0xFFCC4433;												;X Button Gradient 2 hover
	$_OwnStyle_Colours[0][27] = 0xFF888888;												;X Button hover
	$_OwnStyle_update = True
	Return True
EndFunc   ;==>_OwnStyle_StartUp

; #FUNCTION# ====================================================================================================================
; Name...........: _OwnStyle_ShutDown
; Description ...: Beendet die OwnStyle UDF
; Syntax.........: _OwnStyle_ShutDown()
; Return values .: True
; Author ........: H2112
; ===============================================================================================================================
Func _OwnStyle_ShutDown()
	_GDIPlus_Shutdown()
	For $i = 1 To $_OwnStyle_hWnd[0][0]
		_OwnStyle_GUIDelete($_OwnStyle_hWnd[1][0])
	Next
	_GDIPlus_FontDispose($_OwnStyle_Defaults[2])
	_GDIPlus_FontFamilyDispose($_OwnStyle_Defaults[1])
	_GDIPlus_StringFormatDispose($_OwnStyle_Defaults[0])
	$_OwnStyle_Defaults[0] = ""
	$_OwnStyle_Defaults[1] = ""
	$_OwnStyle_Defaults[2] = ""
	Return True
EndFunc   ;==>_OwnStyle_ShutDown

; #FUNCTION# ====================================================================================================================
; Name...........: _OwnStyle_GUICreate
; Description ...: Erstellt eine OwnStyle GUI
; Syntax.........: _OwnStyle_GUICreate($title, $hWidth, $hHeight, $xpos, $ypos)
; Parameters ....: $title = Titel des Fensters
;				   $hWidth = Breite des Fensters
;				   $hHeight = Höhe des Fensters
;				   $xpos = x-Position, an die die GUI gesetzt wird
;				   $ypos = y-Position, an die die GUI gesetzt wird
; Return values .: Handle des Fensters
; Author ........: H2112
; ===============================================================================================================================
Func _OwnStyle_GUICreate($title, $hWidth, $hHeight, $xpos, $ypos)
	Local $WinN = $_OwnStyle_hWnd[0][0] + 1, $width = $hWidth + 10, $height = $hHeight + 31
	ReDim $_OwnStyle_hWnd[$_OwnStyle_hWnd[0][0] + 2][44]
	ReDim $_OwnStyle_Colours[$_OwnStyle_hWnd[0][0] + 2][28]

	$_OwnStyle_hWnd[0][0] += 1

	$_OwnStyle_hWnd[$WinN][2] = $title
	$_OwnStyle_hWnd[$WinN][3] = $hWidth
	$_OwnStyle_hWnd[$WinN][4] = $hHeight

	$_OwnStyle_hWnd[$WinN][0] = GUICreate($title, $width, $height, $xpos, $ypos, 0x80080000, 0x00080000);		;GDI+ GUI
		GUISetOnEvent(-5, "_OwnStyle_GUIRestore")
		GUISetOnEvent(-4, "_OwnStyle_GUIMinimize")
		GUISetOnEvent(-3, "_OwnStyle_GUIClose")
		GUIRegisterMsg(0x0201, "_OwnStyle_WM_LButtonDown")
		GUIRegisterMsg(0x0003, "_OwnStyle_WM_Move")
		GUIRegisterMsg(0x0006, "_OwnStyle_WM_Activate")
		GUIRegisterMsg(0x0200, "_OwnStyle_WM_MouseMove")

	$_OwnStyle_hWnd[$WinN][5] = _GDIPlus_GraphicsCreateFromHWND($_OwnStyle_hWnd[$WinN][0]);						;hGraphic
	$_OwnStyle_hWnd[$WinN][6] = _GDIPlus_BitmapCreateFromGraphics($width, $height, $_OwnStyle_hWnd[$WinN][5]);	;hBitmap
	$_OwnStyle_hWnd[$WinN][7] = _GDIPlus_ImageGetGraphicsContext($_OwnStyle_hWnd[$WinN][6]);					;backbuffer
	_GDIPlus_GraphicsSetSmoothingMode($_OwnStyle_hWnd[$WinN][7], 4);

	$_OwnStyle_hWnd[$WinN][8] = _WinAPI_GetDC($_OwnStyle_hWnd[$WinN][0]);										;ScreenDC
	$_OwnStyle_hWnd[$WinN][9] = _WinAPI_CreateCompatibleDC($_OwnStyle_hWnd[$WinN][8]);							;dc

	$_OwnStyle_hWnd[$WinN][10] = DllStructCreate($tagSIZE);											;tSize
	$_OwnStyle_hWnd[$WinN][11] = DllStructGetPtr($_OwnStyle_hWnd[$WinN][10]);									;pSize
	DllStructSetData($_OwnStyle_hWnd[$WinN][10], "X", $width)
	DllStructSetData($_OwnStyle_hWnd[$WinN][10], "Y", $height)
	$_OwnStyle_hWnd[$WinN][12] = DllStructCreate($tagPOINT);											;tSource
	$_OwnStyle_hWnd[$WinN][13] = DllStructGetPtr($_OwnStyle_hWnd[$WinN][12]);									;pSource
	$_OwnStyle_hWnd[$WinN][14] = DllStructCreate($tagBLENDFUNCTION);									;tBlend
	$_OwnStyle_hWnd[$WinN][15] = DllStructGetPtr($_OwnStyle_hWnd[$WinN][14]);									;pBlend
	DllStructSetData($_OwnStyle_hWnd[$WinN][14], "Alpha", 255)
	DllStructSetData($_OwnStyle_hWnd[$WinN][14], "Format", 1)
	$_OwnStyle_hWnd[$WinN][16] = DllStructCreate($tagPOINT);											;tPoint
	$_OwnStyle_hWnd[$WinN][17] = DllStructGetPtr($_OwnStyle_hWnd[$WinN][16]);									;pPoint
	DllStructSetData($_OwnStyle_hWnd[$WinN][16], "X", 0)
	DllStructSetData($_OwnStyle_hWnd[$WinN][16], "Y", 0)

	$_OwnStyle_hWnd[$WinN][18] = _GDIPlus_BrushCreateLinear(0, 0, 0, 13, $_OwnStyle_Colours[0][0], $_OwnStyle_Colours[0][1]);		;Rahmen Gradient
	$_OwnStyle_hWnd[$WinN][19] = _GDIPlus_BrushCreateSolid($_OwnStyle_Colours[0][2]);									;Rahmen Normal
	$_OwnStyle_hWnd[$WinN][20] = _GDIPlus_BrushCreateSolid($_OwnStyle_Colours[0][3]);									;Titelfarbe
	$_OwnStyle_hWnd[$WinN][21] = _GDIPlus_BrushCreateLinear(0, 7, 0, 22, $_OwnStyle_Colours[0][4], $_OwnStyle_Colours[0][5]);		;X Button Gradient
	$_OwnStyle_hWnd[$WinN][22] = _GDIPlus_BrushCreateLinear(0, 7, 0, 22, $_OwnStyle_Colours[0][6], $_OwnStyle_Colours[0][7]);		;Minimieren Button Gradient
	$_OwnStyle_hWnd[$WinN][23] = _GDIPlus_PenCreate($_OwnStyle_Colours[0][8]);											;Standart Pinsel (Alle Umrahumgen)
	$_OwnStyle_hWnd[$WinN][24] = _GDIPlus_PenCreate($_OwnStyle_Colours[0][9], 3);										;X Button
	$_OwnStyle_hWnd[$WinN][25] = _GDIPlus_PenCreate($_OwnStyle_Colours[0][10], 3);										;Minimieren Button

	$_OwnStyle_hWnd[$WinN][29] = _GDIPlus_BrushCreateLinear(0, 0, 0, 13, $_OwnStyle_Colours[0][11], $_OwnStyle_Colours[0][12]);	;$brush1inaktiv
	$_OwnStyle_hWnd[$WinN][30] = _GDIPlus_BrushCreateSolid($_OwnStyle_Colours[0][13]);									;$brush2inaktiv
	$_OwnStyle_hWnd[$WinN][31] = _GDIPlus_BrushCreateSolid($_OwnStyle_Colours[0][14]);									;$brush3inaktiv
	$_OwnStyle_hWnd[$WinN][32] = _GDIPlus_BrushCreateLinear(0, 7, 0, 22, $_OwnStyle_Colours[0][15], $_OwnStyle_Colours[0][16]);	;$brush4inaktiv
	$_OwnStyle_hWnd[$WinN][33] = _GDIPlus_BrushCreateLinear(0, 7, 0, 22, $_OwnStyle_Colours[0][17], $_OwnStyle_Colours[0][18]);	;$brush5inaktiv
	$_OwnStyle_hWnd[$WinN][34] = _GDIPlus_PenCreate($_OwnStyle_Colours[0][19]);											;$pen1inaktiv
	$_OwnStyle_hWnd[$WinN][35] = _GDIPlus_PenCreate($_OwnStyle_Colours[0][20], 3);										;$pen2inaktiv
	$_OwnStyle_hWnd[$WinN][36] = _GDIPlus_PenCreate($_OwnStyle_Colours[0][21], 3);										;$pen3inaktiv

	$_OwnStyle_hWnd[$WinN][38] = _GDIPlus_BrushCreateLinear(0, 7, 0, 22, $_OwnStyle_Colours[0][22], $_OwnStyle_Colours[0][23]);	;Minimieren Button Gradient hover
	$_OwnStyle_hWnd[$WinN][39] = _GDIPlus_PenCreate($_OwnStyle_Colours[0][24], 3);										;Minimieren Button hover
	$_OwnStyle_hWnd[$WinN][40] = _GDIPlus_BrushCreateLinear(0, 7, 0, 22, $_OwnStyle_Colours[0][25], $_OwnStyle_Colours[0][26]);	;X Button Gradient hover
	$_OwnStyle_hWnd[$WinN][41] = _GDIPlus_PenCreate($_OwnStyle_Colours[0][27], 3);										;X Button hover

	$_OwnStyle_hWnd[$WinN][26] = _GDIPlus_RectFCreate(25, 7, $width - 65, 26)

	$_OwnStyle_hWnd[$WinN][1] = GUICreate($title, $hWidth, $hHeight, $xpos + 5, $ypos + 26, 0x80080000, 0x0, $_OwnStyle_hWnd[$WinN][0]);	;MainGUI

	$_OwnStyle_Colours[$WinN][0] = $_OwnStyle_Colours[0][0];												;Rahmen Gradient 1
	$_OwnStyle_Colours[$WinN][1] = $_OwnStyle_Colours[0][1];												;Rahmen Gradient 2
	$_OwnStyle_Colours[$WinN][2] = $_OwnStyle_Colours[0][2];												;Rahmen
	$_OwnStyle_Colours[$WinN][3] = $_OwnStyle_Colours[0][3];												;Titel
	$_OwnStyle_Colours[$WinN][4] = $_OwnStyle_Colours[0][4];												;X Button Gradient 1
	$_OwnStyle_Colours[$WinN][5] = $_OwnStyle_Colours[0][5];												;X Button Gradient 2
	$_OwnStyle_Colours[$WinN][6] = $_OwnStyle_Colours[0][6];												;Minimieren Button Gradient 1
	$_OwnStyle_Colours[$WinN][7] = $_OwnStyle_Colours[0][7];												;Minimieren Button Gradient 2
	$_OwnStyle_Colours[$WinN][8] = $_OwnStyle_Colours[0][8];												;Standart Pinsel
	$_OwnStyle_Colours[$WinN][9] = $_OwnStyle_Colours[0][9];												;X Button
	$_OwnStyle_Colours[$WinN][10] = $_OwnStyle_Colours[0][10];												;Minimieren Button
	$_OwnStyle_Colours[$WinN][11] = $_OwnStyle_Colours[0][11];												;Rahmen Gradient 1 inaktiv
	$_OwnStyle_Colours[$WinN][12] = $_OwnStyle_Colours[0][12];												;Rahmen Gradient 2 inaktiv
	$_OwnStyle_Colours[$WinN][13] = $_OwnStyle_Colours[0][13];												;Rahmen inaktiv
	$_OwnStyle_Colours[$WinN][14] = $_OwnStyle_Colours[0][14];												;Titel inaktiv
	$_OwnStyle_Colours[$WinN][15] = $_OwnStyle_Colours[0][15];												;X Button Gradient 1 inaktiv
	$_OwnStyle_Colours[$WinN][16] = $_OwnStyle_Colours[0][16];												;X Button Gradient 2 inaktiv
	$_OwnStyle_Colours[$WinN][17] = $_OwnStyle_Colours[0][17];												;Minimieren Button Gradient 1 inaktiv
	$_OwnStyle_Colours[$WinN][18] = $_OwnStyle_Colours[0][18];												;Minimieren Button Gradient 2 inaktiv
	$_OwnStyle_Colours[$WinN][19] = $_OwnStyle_Colours[0][19];												;Standart Pinsel inaktiv
	$_OwnStyle_Colours[$WinN][20] = $_OwnStyle_Colours[0][20];												;X Button inaktiv
	$_OwnStyle_Colours[$WinN][21] = $_OwnStyle_Colours[0][21];												;Minimieren Button inaktiv
	$_OwnStyle_Colours[$WinN][22] = $_OwnStyle_Colours[0][22];												;Minimieren Button Gradient 1 hover
	$_OwnStyle_Colours[$WinN][23] = $_OwnStyle_Colours[0][23];												;Minimieren Button Gradient 2 hover
	$_OwnStyle_Colours[$WinN][24] = $_OwnStyle_Colours[0][24];												;Minimieren Button hover
	$_OwnStyle_Colours[$WinN][25] = $_OwnStyle_Colours[0][25];												;X Button Gradient 1 hover
	$_OwnStyle_Colours[$WinN][26] = $_OwnStyle_Colours[0][26];												;X Button Gradient 2 hover
	$_OwnStyle_Colours[$WinN][27] = $_OwnStyle_Colours[0][27];												;X Button hover

	_OwnStyle_Update($WinN)

	Return $_OwnStyle_hWnd[$WinN][1]
EndFunc   ;==>_OwnStyle_GUICreate

; #FUNCTION# ====================================================================================================================
; Name...........: _OwnStyle_GUIDelete
; Description ...: Löscht eine OwnStyle GUI
; Syntax.........: _OwnStyle_GUIDelete($Wnd)
; Parameters ....: $Wnd = Handle zu der OwnStyle GUI
; Return values .: Succes: True
;				   Failure: False
; Author ........: H2112
; ===============================================================================================================================
Func _OwnStyle_GUIDelete($Wnd)
	Local $WinN
	$WinN = _OwnStyle_SearchWnd($Wnd)
	If Not $WinN Then Return False
	_OwnStyle_GUISetState(@SW_HIDE, $Wnd)
	_GDIPlus_BrushDispose($_OwnStyle_hWnd[$WinN][38])
	_GDIPlus_PenDispose($_OwnStyle_hWnd[$WinN][39])
	_GDIPlus_BrushDispose($_OwnStyle_hWnd[$WinN][40])
	_GDIPlus_PenDispose($_OwnStyle_hWnd[$WinN][41])
	_GDIPlus_PenDispose($_OwnStyle_hWnd[$WinN][36])
	_GDIPlus_PenDispose($_OwnStyle_hWnd[$WinN][35])
	_GDIPlus_PenDispose($_OwnStyle_hWnd[$WinN][34])
	_GDIPlus_BrushDispose($_OwnStyle_hWnd[$WinN][33])
	_GDIPlus_BrushDispose($_OwnStyle_hWnd[$WinN][32])
	_GDIPlus_BrushDispose($_OwnStyle_hWnd[$WinN][31])
	_GDIPlus_BrushDispose($_OwnStyle_hWnd[$WinN][30])
	_GDIPlus_BrushDispose($_OwnStyle_hWnd[$WinN][29])
	_GDIPlus_PenDispose($_OwnStyle_hWnd[$WinN][25])
	_GDIPlus_PenDispose($_OwnStyle_hWnd[$WinN][24])
	_GDIPlus_PenDispose($_OwnStyle_hWnd[$WinN][23])
	_GDIPlus_BrushDispose($_OwnStyle_hWnd[$WinN][22])
	_GDIPlus_BrushDispose($_OwnStyle_hWnd[$WinN][21])
	_GDIPlus_BrushDispose($_OwnStyle_hWnd[$WinN][20])
	_GDIPlus_BrushDispose($_OwnStyle_hWnd[$WinN][19])
	_GDIPlus_BrushDispose($_OwnStyle_hWnd[$WinN][18])
	_WinAPI_ReleaseDC($_OwnStyle_hWnd[$WinN][0], $_OwnStyle_hWnd[$WinN][9])
	_WinAPI_ReleaseDC($_OwnStyle_hWnd[$WinN][0], $_OwnStyle_hWnd[$WinN][8])
	_GDIPlus_GraphicsDispose($_OwnStyle_hWnd[$WinN][7])
	_GDIPlus_BitmapDispose($_OwnStyle_hWnd[$WinN][6])
	_GDIPlus_GraphicsDispose($_OwnStyle_hWnd[$WinN][5])
	GUIDelete($_OwnStyle_hWnd[$WinN][1])
	GUIDelete($_OwnStyle_hWnd[$WinN][0])
	_ArrayDelete($_OwnStyle_hWnd, $WinN)
	_ArrayDelete($_OwnStyle_Colours, $WinN)
	$_OwnStyle_hWnd[0][0] -= 1
	Return True
EndFunc

; #FUNCTION# ====================================================================================================================
; Name...........: _OwnStyle_GUISetState
; Description ...: Setzt den Status der OwnStyle GUI
; Syntax.........: _OwnStyle_GUISetState($state = @SW_SHOW, $Wnd = 0)
; Parameters ....: $state [optional] = Status, in den die OwnStyle GUI gesetzt wird
;				   $Wnd [optional] = Handle zu der OwnStyle GUI
; Return values .: Succes: True
;				   Failure: False
; Author ........: H2112
; ===============================================================================================================================
Func _OwnStyle_GUISetState($state = @SW_SHOW, $Wnd = 0)
	Local $WinN
	If Not $Wnd Then $Wnd = $_OwnStyle_hWnd[$_OwnStyle_hWnd[0][0]][0]
	$WinN = _OwnStyle_SearchWnd($Wnd)
	If Not $WinN Then Return False
	GUISetState($state, $_OwnStyle_hWnd[$WinN][0])
	GUISetState($state, $_OwnStyle_hWnd[$WinN][1])
	Return True
EndFunc

; #FUNCTION# ====================================================================================================================
; Name...........: _OwnStyle_GUISetTitle
; Description ...: Ändert den Titel einer _OwnStyle GUI
; Syntax.........: _OwnStyle_GUISetTitle($Wnd, $title)
; Parameters ....: $Wnd = Handle zu der OwnStyle GUI
;				   $title = Der neue Titel der OwnStyle GUI
; Return values .: Succes: True
;				   Failure: False
; Author ........: H2112
; ===============================================================================================================================
Func _OwnStyle_GUISetTitle($Wnd, $title)
	Local $WinN
	$WinN = _OwnStyle_SearchWnd($Wnd)
	If Not $WinN Then Return False
	WinSetTitle($_OwnStyle_hWnd[$WinN][0], "", $title)
	WinSetTitle($_OwnStyle_hWnd[$WinN][1], "", $title)
	$_OwnStyle_hWnd[$WinN][2] = $title
	_OwnStyle_Update($WinN)
	Return True
EndFunc

; #FUNCTION# ====================================================================================================================
; Name...........: _OwnStyle_GUISetColour
; Description ...: Ändert die Farben der OwnStyle GUI
; Syntax.........: _OwnStyle_GUISetColour($Wnd, $Mode, $Colour1 = "", $Colour2 = "", $Colour3 = "")
; Parameters ....: $Wnd = Handle zu der OwnStyle GUI
;				   $Mode = Nummer, die angiebt, welche Farben geändert werden sollen (Beschreibung in Zeile 97 bis 150)
;				   $Colour1 [optional] = Neue Farbe
;				   $Colour2 [optional] = Neue Farbe
;				   $Colour3 [optional] = Neue Farbe
; Return values .: Succes: True
;				   Failure: False
; Author ........: H2112
; ===============================================================================================================================
Func _OwnStyle_GUISetColour($Wnd, $Mode, $Colour1 = "", $Colour2 = "", $Colour3 = "")
	Local $WinN
	$WinN = _OwnStyle_SearchWnd($Wnd)
	If Not $WinN Then Return False
	$_OwnStyle_update = False
	If $Mode = 0 Then
		_GDIPlus_BrushDispose($_OwnStyle_hWnd[$WinN][38])
		_GDIPlus_PenDispose($_OwnStyle_hWnd[$WinN][39])
		_GDIPlus_BrushDispose($_OwnStyle_hWnd[$WinN][40])
		_GDIPlus_PenDispose($_OwnStyle_hWnd[$WinN][41])
		_GDIPlus_PenDispose($_OwnStyle_hWnd[$WinN][36])
		_GDIPlus_PenDispose($_OwnStyle_hWnd[$WinN][35])
		_GDIPlus_PenDispose($_OwnStyle_hWnd[$WinN][34])
		_GDIPlus_BrushDispose($_OwnStyle_hWnd[$WinN][33])
		_GDIPlus_BrushDispose($_OwnStyle_hWnd[$WinN][32])
		_GDIPlus_BrushDispose($_OwnStyle_hWnd[$WinN][31])
		_GDIPlus_BrushDispose($_OwnStyle_hWnd[$WinN][30])
		_GDIPlus_BrushDispose($_OwnStyle_hWnd[$WinN][29])
		_GDIPlus_PenDispose($_OwnStyle_hWnd[$WinN][25])
		_GDIPlus_PenDispose($_OwnStyle_hWnd[$WinN][24])
		_GDIPlus_PenDispose($_OwnStyle_hWnd[$WinN][23])
		_GDIPlus_BrushDispose($_OwnStyle_hWnd[$WinN][22])
		_GDIPlus_BrushDispose($_OwnStyle_hWnd[$WinN][21])
		_GDIPlus_BrushDispose($_OwnStyle_hWnd[$WinN][20])
		_GDIPlus_BrushDispose($_OwnStyle_hWnd[$WinN][19])
		_GDIPlus_BrushDispose($_OwnStyle_hWnd[$WinN][18])

		$_OwnStyle_hWnd[$WinN][18] = _GDIPlus_BrushCreateLinear(0, 0, 0, 13, $_OwnStyle_Colours[0][0], $_OwnStyle_Colours[0][1]);		;Rahmen Gradient
		$_OwnStyle_hWnd[$WinN][19] = _GDIPlus_BrushCreateSolid($_OwnStyle_Colours[0][2]);									;Rahmen Normal
		$_OwnStyle_hWnd[$WinN][20] = _GDIPlus_BrushCreateSolid($_OwnStyle_Colours[0][3]);									;Titelfarbe
		$_OwnStyle_hWnd[$WinN][21] = _GDIPlus_BrushCreateLinear(0, 7, 0, 22, $_OwnStyle_Colours[0][4], $_OwnStyle_Colours[0][5]);		;X Button Gradient
		$_OwnStyle_hWnd[$WinN][22] = _GDIPlus_BrushCreateLinear(0, 7, 0, 22, $_OwnStyle_Colours[0][6], $_OwnStyle_Colours[0][7]);		;Minimieren Button Gradient
		$_OwnStyle_hWnd[$WinN][23] = _GDIPlus_PenCreate($_OwnStyle_Colours[0][8]);											;Standart Pinsel (Alle Umrahumgen)
		$_OwnStyle_hWnd[$WinN][24] = _GDIPlus_PenCreate($_OwnStyle_Colours[0][9], 3);										;X Button
		$_OwnStyle_hWnd[$WinN][25] = _GDIPlus_PenCreate($_OwnStyle_Colours[0][10], 3);										;Minimieren Button

		$_OwnStyle_hWnd[$WinN][29] = _GDIPlus_BrushCreateLinear(0, 0, 0, 13, $_OwnStyle_Colours[0][11], $_OwnStyle_Colours[0][12]);	;$brush1inaktiv
		$_OwnStyle_hWnd[$WinN][30] = _GDIPlus_BrushCreateSolid($_OwnStyle_Colours[0][13]);									;$brush2inaktiv
		$_OwnStyle_hWnd[$WinN][31] = _GDIPlus_BrushCreateSolid($_OwnStyle_Colours[0][14]);									;$brush3inaktiv
		$_OwnStyle_hWnd[$WinN][32] = _GDIPlus_BrushCreateLinear(0, 7, 0, 22, $_OwnStyle_Colours[0][15], $_OwnStyle_Colours[0][16]);	;$brush4inaktiv
		$_OwnStyle_hWnd[$WinN][33] = _GDIPlus_BrushCreateLinear(0, 7, 0, 22, $_OwnStyle_Colours[0][17], $_OwnStyle_Colours[0][18]);	;$brush5inaktiv
		$_OwnStyle_hWnd[$WinN][34] = _GDIPlus_PenCreate($_OwnStyle_Colours[0][19]);											;$pen1inaktiv
		$_OwnStyle_hWnd[$WinN][35] = _GDIPlus_PenCreate($_OwnStyle_Colours[0][20], 3);										;$pen2inaktiv
		$_OwnStyle_hWnd[$WinN][36] = _GDIPlus_PenCreate($_OwnStyle_Colours[0][21], 3);										;$pen3inaktiv

		$_OwnStyle_hWnd[$WinN][38] = _GDIPlus_BrushCreateLinear(0, 7, 0, 22, $_OwnStyle_Colours[0][22], $_OwnStyle_Colours[0][23]);	;Minimieren Button Gradient hover
		$_OwnStyle_hWnd[$WinN][39] = _GDIPlus_PenCreate($_OwnStyle_Colours[0][24], 3);										;Minimieren Button hover
		$_OwnStyle_hWnd[$WinN][40] = _GDIPlus_BrushCreateLinear(0, 7, 0, 22, $_OwnStyle_Colours[0][25], $_OwnStyle_Colours[0][26]);	;X Button Gradient hover
		$_OwnStyle_hWnd[$WinN][41] = _GDIPlus_PenCreate($_OwnStyle_Colours[0][27], 3);										;X Button hover

		$_OwnStyle_Colours[$WinN][0] = $_OwnStyle_Colours[0][0];												;Rahmen Gradient 1
		$_OwnStyle_Colours[$WinN][1] = $_OwnStyle_Colours[0][1];												;Rahmen Gradient 2
		$_OwnStyle_Colours[$WinN][2] = $_OwnStyle_Colours[0][2];												;Rahmen
		$_OwnStyle_Colours[$WinN][3] = $_OwnStyle_Colours[0][3];												;Titel
		$_OwnStyle_Colours[$WinN][4] = $_OwnStyle_Colours[0][4];												;X Button Gradient 1
		$_OwnStyle_Colours[$WinN][5] = $_OwnStyle_Colours[0][5];												;X Button Gradient 2
		$_OwnStyle_Colours[$WinN][6] = $_OwnStyle_Colours[0][6];												;Minimieren Button Gradient 1
		$_OwnStyle_Colours[$WinN][7] = $_OwnStyle_Colours[0][7];												;Minimieren Button Gradient 2
		$_OwnStyle_Colours[$WinN][8] = $_OwnStyle_Colours[0][8];												;Standart Pinsel
		$_OwnStyle_Colours[$WinN][9] = $_OwnStyle_Colours[0][9];												;X Button
		$_OwnStyle_Colours[$WinN][10] = $_OwnStyle_Colours[0][10];												;Minimieren Button
		$_OwnStyle_Colours[$WinN][11] = $_OwnStyle_Colours[0][11];												;Rahmen Gradient 1 inaktiv
		$_OwnStyle_Colours[$WinN][12] = $_OwnStyle_Colours[0][12];												;Rahmen Gradient 2 inaktiv
		$_OwnStyle_Colours[$WinN][13] = $_OwnStyle_Colours[0][13];												;Rahmen inaktiv
		$_OwnStyle_Colours[$WinN][14] = $_OwnStyle_Colours[0][14];												;Titel inaktiv
		$_OwnStyle_Colours[$WinN][15] = $_OwnStyle_Colours[0][15];												;X Button Gradient 1 inaktiv
		$_OwnStyle_Colours[$WinN][16] = $_OwnStyle_Colours[0][16];												;X Button Gradient 2 inaktiv
		$_OwnStyle_Colours[$WinN][17] = $_OwnStyle_Colours[0][17];												;Minimieren Button Gradient 1 inaktiv
		$_OwnStyle_Colours[$WinN][18] = $_OwnStyle_Colours[0][18];												;Minimieren Button Gradient 2 inaktiv
		$_OwnStyle_Colours[$WinN][19] = $_OwnStyle_Colours[0][19];												;Standart Pinsel inaktiv
		$_OwnStyle_Colours[$WinN][20] = $_OwnStyle_Colours[0][20];												;X Button inaktiv
		$_OwnStyle_Colours[$WinN][21] = $_OwnStyle_Colours[0][21];												;Minimieren Button inaktiv
		$_OwnStyle_Colours[$WinN][22] = $_OwnStyle_Colours[0][22];												;Minimieren Button Gradient 1 hover
		$_OwnStyle_Colours[$WinN][23] = $_OwnStyle_Colours[0][23];												;Minimieren Button Gradient 2 hover
		$_OwnStyle_Colours[$WinN][24] = $_OwnStyle_Colours[0][24];												;Minimieren Button hover
		$_OwnStyle_Colours[$WinN][25] = $_OwnStyle_Colours[0][25];												;X Button Gradient 1 hover
		$_OwnStyle_Colours[$WinN][26] = $_OwnStyle_Colours[0][26];												;X Button Gradient 2 hover
		$_OwnStyle_Colours[$WinN][27] = $_OwnStyle_Colours[0][27];												;X Button hover
	ElseIf $Mode = 1 Then
		If $Colour1 = "" Then $Colour1 = $_OwnStyle_Colours[0][0]
		If $Colour2 = "" Then $Colour2 = $_OwnStyle_Colours[0][1]
		If $Colour3 = "" Then $Colour3 = $_OwnStyle_Colours[0][2]
		_GDIPlus_BrushDispose($_OwnStyle_hWnd[$WinN][18])
		_GDIPlus_BrushDispose($_OwnStyle_hWnd[$WinN][19])
		$_OwnStyle_hWnd[$WinN][18] = _GDIPlus_BrushCreateLinear(0, 0, 0, 13, $Colour1, $Colour2)
		$_OwnStyle_hWnd[$WinN][19] = _GDIPlus_BrushCreateSolid($Colour3)
		$_OwnStyle_Colours[$WinN][0] = $Colour1
		$_OwnStyle_Colours[$WinN][1] = $Colour2
		$_OwnStyle_Colours[$WinN][2] = $Colour3
	ElseIf $Mode = 2 Then
		If $Colour1 = "" Then $Colour1 = $_OwnStyle_Colours[0][3]
		If $Colour2 = "" Then $Colour2 = $_OwnStyle_Colours[0][8]
		_GDIPlus_BrushDispose($_OwnStyle_hWnd[$WinN][20])
		_GDIPlus_PenDispose($_OwnStyle_hWnd[$WinN][23])
		$_OwnStyle_hWnd[$WinN][20] = _GDIPlus_BrushCreateSolid($Colour1)
		$_OwnStyle_hWnd[$WinN][23] = _GDIPlus_PenCreate($Colour2)
		$_OwnStyle_Colours[$WinN][3] = $Colour1
		$_OwnStyle_Colours[$WinN][8] = $Colour2
	ElseIf $Mode = 3 Then
		If $Colour1 = "" Then $Colour1 = $_OwnStyle_Colours[0][6]
		If $Colour2 = "" Then $Colour2 = $_OwnStyle_Colours[0][7]
		If $Colour3 = "" Then $Colour3 = $_OwnStyle_Colours[0][10]
		_GDIPlus_BrushDispose($_OwnStyle_hWnd[$WinN][22])
		_GDIPlus_PenDispose($_OwnStyle_hWnd[$WinN][25])
		$_OwnStyle_hWnd[$WinN][22] = _GDIPlus_BrushCreateLinear(0, 7, 0, 22, $Colour1, $Colour2)
		$_OwnStyle_hWnd[$WinN][25] = _GDIPlus_PenCreate($Colour3, 3)
		$_OwnStyle_Colours[$WinN][6] = $Colour1
		$_OwnStyle_Colours[$WinN][7] = $Colour2
		$_OwnStyle_Colours[$WinN][10] = $Colour3
	ElseIf $Mode = 4 Then
		If $Colour1 = "" Then $Colour1 = $_OwnStyle_Colours[0][4]
		If $Colour2 = "" Then $Colour2 = $_OwnStyle_Colours[0][5]
		If $Colour3 = "" Then $Colour3 = $_OwnStyle_Colours[0][9]
		_GDIPlus_BrushDispose($_OwnStyle_hWnd[$WinN][21])
		_GDIPlus_PenDispose($_OwnStyle_hWnd[$WinN][24])
		$_OwnStyle_hWnd[$WinN][21] = _GDIPlus_BrushCreateLinear(0, 7, 0, 22, $Colour1, $Colour2)
		$_OwnStyle_hWnd[$WinN][24] = _GDIPlus_PenCreate($Colour3, 3)
		$_OwnStyle_Colours[$WinN][4] = $Colour1
		$_OwnStyle_Colours[$WinN][5] = $Colour2
		$_OwnStyle_Colours[$WinN][9] = $Colour3
	ElseIf $Mode = 5 Then
		If $Colour1 = "" Then $Colour1 = $_OwnStyle_Colours[0][11]
		If $Colour2 = "" Then $Colour2 = $_OwnStyle_Colours[0][12]
		If $Colour3 = "" Then $Colour3 = $_OwnStyle_Colours[0][13]
		_GDIPlus_BrushDispose($_OwnStyle_hWnd[$WinN][29])
		_GDIPlus_BrushDispose($_OwnStyle_hWnd[$WinN][30])
		$_OwnStyle_hWnd[$WinN][29] = _GDIPlus_BrushCreateLinear(0, 0, 0, 13, $Colour1, $Colour2)
		$_OwnStyle_hWnd[$WinN][30] = _GDIPlus_BrushCreateSolid($Colour3)
		$_OwnStyle_Colours[$WinN][11] = $Colour1
		$_OwnStyle_Colours[$WinN][12] = $Colour2
		$_OwnStyle_Colours[$WinN][13] = $Colour3
	ElseIf $Mode = 6 Then
		If $Colour1 = "" Then $Colour1 = $_OwnStyle_Colours[0][14]
		If $Colour2 = "" Then $Colour2 = $_OwnStyle_Colours[0][19]
		_GDIPlus_BrushDispose($_OwnStyle_hWnd[$WinN][31])
		_GDIPlus_PenDispose($_OwnStyle_hWnd[$WinN][34])
		$_OwnStyle_hWnd[$WinN][31] = _GDIPlus_BrushCreateSolid($Colour1)
		$_OwnStyle_hWnd[$WinN][34] = _GDIPlus_PenCreate($Colour2)
		$_OwnStyle_Colours[$WinN][14] = $Colour1
		$_OwnStyle_Colours[$WinN][19] = $Colour2
	ElseIf $Mode = 7 Then
		If $Colour1 = "" Then $Colour1 = $_OwnStyle_Colours[0][17]
		If $Colour2 = "" Then $Colour2 = $_OwnStyle_Colours[0][18]
		If $Colour3 = "" Then $Colour3 = $_OwnStyle_Colours[0][21]
		_GDIPlus_BrushDispose($_OwnStyle_hWnd[$WinN][33])
		_GDIPlus_PenDispose($_OwnStyle_hWnd[$WinN][36])
		$_OwnStyle_hWnd[$WinN][33] = _GDIPlus_BrushCreateLinear(0, 7, 0, 22, $Colour1, $Colour2)
		$_OwnStyle_hWnd[$WinN][36] = _GDIPlus_PenCreate($Colour3, 3)
		$_OwnStyle_Colours[$WinN][17] = $Colour1
		$_OwnStyle_Colours[$WinN][18] = $Colour2
		$_OwnStyle_Colours[$WinN][21] = $Colour3
	ElseIf $Mode = 8 Then
		If $Colour1 = "" Then $Colour1 = $_OwnStyle_Colours[0][15]
		If $Colour2 = "" Then $Colour2 = $_OwnStyle_Colours[0][16]
		If $Colour3 = "" Then $Colour3 = $_OwnStyle_Colours[0][20]
		_GDIPlus_BrushDispose($_OwnStyle_hWnd[$WinN][32])
		_GDIPlus_PenDispose($_OwnStyle_hWnd[$WinN][35])
		$_OwnStyle_hWnd[$WinN][32] = _GDIPlus_BrushCreateLinear(0, 7, 0, 22, $Colour1, $Colour2)
		$_OwnStyle_hWnd[$WinN][35] = _GDIPlus_PenCreate($Colour3, 3)
		$_OwnStyle_Colours[$WinN][15] = $Colour1
		$_OwnStyle_Colours[$WinN][16] = $Colour2
		$_OwnStyle_Colours[$WinN][20] = $Colour3
	ElseIf $Mode = 9 Then
		If $Colour1 = "" Then $Colour1 = $_OwnStyle_Colours[0][22]
		If $Colour2 = "" Then $Colour2 = $_OwnStyle_Colours[0][23]
		If $Colour3 = "" Then $Colour3 = $_OwnStyle_Colours[0][24]
		_GDIPlus_BrushDispose($_OwnStyle_hWnd[$WinN][38])
		_GDIPlus_PenDispose($_OwnStyle_hWnd[$WinN][39])
		$_OwnStyle_hWnd[$WinN][38] = _GDIPlus_BrushCreateLinear(0, 7, 0, 22, $Colour1, $Colour2)
		$_OwnStyle_hWnd[$WinN][39] = _GDIPlus_PenCreate($Colour3, 3)
		$_OwnStyle_Colours[$WinN][22] = $Colour1
		$_OwnStyle_Colours[$WinN][23] = $Colour2
		$_OwnStyle_Colours[$WinN][24] = $Colour3
	ElseIf $Mode = 10 Then
		If $Colour1 = "" Then $Colour1 = $_OwnStyle_Colours[0][25]
		If $Colour2 = "" Then $Colour2 = $_OwnStyle_Colours[0][26]
		If $Colour3 = "" Then $Colour3 = $_OwnStyle_Colours[0][27]
		_GDIPlus_BrushDispose($_OwnStyle_hWnd[$WinN][40])
		_GDIPlus_PenDispose($_OwnStyle_hWnd[$WinN][41])
		$_OwnStyle_hWnd[$WinN][40] = _GDIPlus_BrushCreateLinear(0, 7, 0, 22, $Colour1, $Colour2)
		$_OwnStyle_hWnd[$WinN][41] = _GDIPlus_PenCreate($Colour3, 3)
		$_OwnStyle_Colours[$WinN][25] = $Colour1
		$_OwnStyle_Colours[$WinN][26] = $Colour2
		$_OwnStyle_Colours[$WinN][27] = $Colour3
	EndIf
	$_OwnStyle_update = True
	_OwnStyle_Update($WinN)
	Return True
EndFunc

; #FUNCTION# ====================================================================================================================
; Name...........: _OwnStyle_GUISetFunctions
; Description ...: Ändert die Funktionen die bei bestimmten Ereignissen aufgerufen werden sollen
; Syntax.........: _OwnStyle_GUISetFunctions($Wnd, $CloseFunc = -1, $MiniFunc = -1)
; Parameters ....: $Wnd = Handle zu der OwnStyle GUI
;				   $CloseFunc [optional] = Funktion, die beim Schließen aufgerufen werden soll
;				   $MiniFunc [optional] = Funktion, die beim Minimieren aufgerufen werden soll
; Return values .: Succes: True
;				   Failure: False
; Author ........: H2112
; ===============================================================================================================================
Func _OwnStyle_GUISetFunctions($Wnd, $CloseFunc = -1, $MiniFunc = -1)
	Local $WinN
	$WinN = _OwnStyle_SearchWnd($Wnd)
	If Not $WinN Then Return False
	If $CloseFunc <> -1 Then
		$_OwnStyle_hWnd[$WinN][28] = $CloseFunc
		GUISetOnEvent(-3, $CloseFunc, $_OwnStyle_hWnd[$WinN][0])
	EndIf
	If $MiniFunc <> -1 Then
		$_OwnStyle_hWnd[$WinN][27] = $MiniFunc
		GUISetOnEvent(-4, $MiniFunc, $_OwnStyle_hWnd[$WinN][0])
	EndIf
	Return True
EndFunc

; #FUNCTION# ====================================================================================================================
; Name...........: _OwnStyle_GUIMove
; Description ...: Ändert die Position und die Fläche des Fensters
; Syntax.........: _OwnStyle_GUIMove($Wnd, $xPos, $yPos, $iWidth = -1, $iHeight = -1)
; Parameters ....: $Wnd = Handle zu der OwnStyle GUI
;				   $xPos = Die X Position für die Verschiebung
;				   $yPos = Die Y Position für die Verschiebung
;				   $iWidth [optional] = Neue Breite des Fensters
;				   $iHeight [optional] = Neue Höhe des Fensters
; Return values .: Succes: True
;				   Failure: False
; Author ........: H2112
; ===============================================================================================================================
Func _OwnStyle_GUIMove($Wnd, $xPos, $yPos, $iWidth = -1, $iHeight = -1)
	Local $WinN, _
		  $oldRessource[5]

	$WinN = _OwnStyle_SearchWnd($Wnd)
	If Not $WinN Then Return False
	If $iWidth <= 0 Then $iWidth = $_OwnStyle_hWnd[$WinN][3]
	If $iHeight <= 0 Then $iHeight = $_OwnStyle_hWnd[$WinN][4]

	If $iWidth <> $_OwnStyle_hWnd[$WinN][3] Or $iHeight <> $_OwnStyle_hWnd[$WinN][4] Then
		$_OwnStyle_update = False
		$_OwnStyle_hWnd[$WinN][3] = $iWidth
		$_OwnStyle_hWnd[$WinN][4] = $iHeight

		$oldRessource[0] = $_OwnStyle_hWnd[$WinN][5]
		$oldRessource[1] = $_OwnStyle_hWnd[$WinN][6]
		$oldRessource[2] = $_OwnStyle_hWnd[$WinN][7]
		$oldRessource[3] = $_OwnStyle_hWnd[$WinN][8]
		$oldRessource[4] = $_OwnStyle_hWnd[$WinN][9]

		$_OwnStyle_hWnd[$WinN][5] = _GDIPlus_GraphicsCreateFromHWND($_OwnStyle_hWnd[$WinN][0])
		$_OwnStyle_hWnd[$WinN][6] = _GDIPlus_BitmapCreateFromGraphics($iWidth + 10, $iHeight + 31, $_OwnStyle_hWnd[$WinN][5])
		$_OwnStyle_hWnd[$WinN][7] = _GDIPlus_ImageGetGraphicsContext($_OwnStyle_hWnd[$WinN][6])
		_GDIPlus_GraphicsSetSmoothingMode($_OwnStyle_hWnd[$WinN][7], 4)

		$_OwnStyle_hWnd[$WinN][8] = _WinAPI_GetDC($_OwnStyle_hWnd[$WinN][0])
		$_OwnStyle_hWnd[$WinN][9] = _WinAPI_CreateCompatibleDC($_OwnStyle_hWnd[$WinN][8])

		$_OwnStyle_hWnd[$WinN][10] = DllStructCreate($tagSIZE)
		$_OwnStyle_hWnd[$WinN][11] = DllStructGetPtr($_OwnStyle_hWnd[$WinN][10])
		DllStructSetData($_OwnStyle_hWnd[$WinN][10], "X", $iWidth + 10)
		DllStructSetData($_OwnStyle_hWnd[$WinN][10], "Y", $iHeight + 31)
		$_OwnStyle_hWnd[$WinN][12] = DllStructCreate($tagPOINT)
		$_OwnStyle_hWnd[$WinN][13] = DllStructGetPtr($_OwnStyle_hWnd[$WinN][12])
		$_OwnStyle_hWnd[$WinN][14] = DllStructCreate($tagBLENDFUNCTION)
		$_OwnStyle_hWnd[$WinN][15] = DllStructGetPtr($_OwnStyle_hWnd[$WinN][14])
		DllStructSetData($_OwnStyle_hWnd[$WinN][14], "Alpha", 255)
		DllStructSetData($_OwnStyle_hWnd[$WinN][14], "Format", 1)
		$_OwnStyle_hWnd[$WinN][16] = DllStructCreate($tagPOINT)
		$_OwnStyle_hWnd[$WinN][17] = DllStructGetPtr($_OwnStyle_hWnd[$WinN][16])
		DllStructSetData($_OwnStyle_hWnd[$WinN][16], "X", 0)
		DllStructSetData($_OwnStyle_hWnd[$WinN][16], "Y", 0)

		$_OwnStyle_update = True
		_OwnStyle_Update($WinN)

		_GDIPlus_GraphicsDispose($oldRessource[0])
		_GDIPlus_BitmapDispose($oldRessource[1])
		_GDIPlus_GraphicsDispose($oldRessource[2])
		_WinAPI_ReleaseDC($_OwnStyle_hWnd[$WinN][0], $oldRessource[3])
		_WinAPI_ReleaseDC($_OwnStyle_hWnd[$WinN][0], $oldRessource[4])
	EndIf
	WinMove($_OwnStyle_hWnd[$WinN][0], "", $xPos, $yPos, $iWidth + 10, $iHeight + 31)
	WinMove($_OwnStyle_hWnd[$WinN][1], "", $xPos + 5, $yPos + 26, $iWidth, $iHeight)
	Return True
EndFunc

Func _OwnStyle_Update($WinN)
	Local $gdibitmap
	If $_OwnStyle_update Then
		_GDIPlus_GraphicsClear($_OwnStyle_hWnd[$WinN][7], 0x00000000)
		_OwnStyle_DrawFrame($WinN)
		_OwnStyle_DrawTitle($WinN)
		_OwnStyle_DrawButtons($WinN)
		$gdibitmap = _GDIPlus_BitmapCreateHBITMAPFromBitmap($_OwnStyle_hWnd[$WinN][6])
		_WinAPI_SelectObject($_OwnStyle_hWnd[$WinN][9], $gdibitmap)
		_WinAPI_UpdateLayeredWindow($_OwnStyle_hWnd[$WinN][0], $_OwnStyle_hWnd[$WinN][8], 0, $_OwnStyle_hWnd[$WinN][11], $_OwnStyle_hWnd[$WinN][9], $_OwnStyle_hWnd[$WinN][13], 0, $_OwnStyle_hWnd[$WinN][15], 2)
		_WinAPI_DeleteObject($gdibitmap)
	EndIf
EndFunc   ;==>_OwnStyle_Update

Func _OwnStyle_DrawFrame($WinN)
	Local $backbuffer, $width, $height, $draw[3]

	$backbuffer = $_OwnStyle_hWnd[$WinN][7]
	$width = $_OwnStyle_hWnd[$WinN][3] + 10
	$height = $_OwnStyle_hWnd[$WinN][4] + 31

	If $_OwnStyle_hWnd[$WinN][37] Then
		$draw[0] = $_OwnStyle_hWnd[$WinN][18]
		$draw[1] = $_OwnStyle_hWnd[$WinN][19]
		$draw[2] = $_OwnStyle_hWnd[$WinN][23]
	Else
		$draw[0] = $_OwnStyle_hWnd[$WinN][29]
		$draw[1] = $_OwnStyle_hWnd[$WinN][30]
		$draw[2] = $_OwnStyle_hWnd[$WinN][34]
	EndIf

	_GDIPlus_GraphicsFillEllipse($backbuffer, 0, 0, 26, 26, $draw[0])
	_GDIPlus_GraphicsFillEllipse($backbuffer, $width - 27, 0, 26, 26, $draw[0])

	_GDIPlus_GraphicsDrawEllipse($backbuffer, 0, 0, 26, 26, $draw[2])
	_GDIPlus_GraphicsDrawEllipse($backbuffer, $width - 27, 0, 26, 26, $draw[2])

	_GDIPlus_GraphicsFillRect($backbuffer, 13, 0, $width - 27, 13, $draw[0])
	_GDIPlus_GraphicsFillRect($backbuffer, 0, 12, $width - 1, 15, $draw[1])
	_GDIPlus_GraphicsFillRect($backbuffer, 0, 25, 4, $height - 26, $draw[1])
	_GDIPlus_GraphicsFillRect($backbuffer, $width - 5, 25, 5, $height - 26, $draw[1])
	_GDIPlus_GraphicsFillRect($backbuffer, 3, $height - 5, $width - 5, $height - 1, $draw[1])

	_GDIPlus_GraphicsDrawLine($backbuffer, 13, 0, $width - 14, 0, $draw[2])
	_GDIPlus_GraphicsDrawLine($backbuffer, 0, 13, 0, $height - 1, $draw[2])
	_GDIPlus_GraphicsDrawLine($backbuffer, $width - 1, 13, $width - 1, $height - 1, $draw[2])
	_GDIPlus_GraphicsDrawLine($backbuffer, 0, $height - 1, $width - 1, $height - 1, $draw[2])
	_GDIPlus_GraphicsDrawRect($backbuffer, 4, 25, $width - 9, $height - 30, $draw[2])
EndFunc   ;==>_OwnStyle_DrawFrame

Func _OwnStyle_DrawButtons($WinN)
	Local $backbuffer, $width, $height, $draw[5]

	$backbuffer = $_OwnStyle_hWnd[$WinN][7]
	$width = $_OwnStyle_hWnd[$WinN][3] + 10
	$height = $_OwnStyle_hWnd[$WinN][4] + 31

	If $_OwnStyle_hWnd[$WinN][37] Then
		If $_OwnStyle_hWnd[$WinN][42] Then
			$draw[0] = $_OwnStyle_hWnd[$WinN][38]
			$draw[1] = $_OwnStyle_hWnd[$WinN][39]
		Else
			$draw[0] = $_OwnStyle_hWnd[$WinN][22]
			$draw[1] = $_OwnStyle_hWnd[$WinN][25]
		EndIf
		If $_OwnStyle_hWnd[$WinN][43] Then
			$draw[2] = $_OwnStyle_hWnd[$WinN][40]
			$draw[3] = $_OwnStyle_hWnd[$WinN][41]
		Else
			$draw[2] = $_OwnStyle_hWnd[$WinN][21]
			$draw[3] = $_OwnStyle_hWnd[$WinN][24]
		EndIf
		$draw[4] = $_OwnStyle_hWnd[$WinN][23]
	Else
		$draw[0] = $_OwnStyle_hWnd[$WinN][33]
		$draw[1] = $_OwnStyle_hWnd[$WinN][36]
		$draw[2] = $_OwnStyle_hWnd[$WinN][32]
		$draw[3] = $_OwnStyle_hWnd[$WinN][35]
		$draw[4] = $_OwnStyle_hWnd[$WinN][34]
	EndIf

	_GDIPlus_GraphicsFillEllipse($backbuffer, $width - 45, 7, 3, 3, $draw[0])
	_GDIPlus_GraphicsFillEllipse($backbuffer, $width - 45, 19, 3, 3, $draw[0])
	_GDIPlus_GraphicsFillEllipse($backbuffer, $width - 33, 7, 3, 3, $draw[0])
	_GDIPlus_GraphicsFillEllipse($backbuffer, $width - 33, 19, 3, 3, $draw[0])

	_GDIPlus_GraphicsDrawEllipse($backbuffer, $width - 45, 7, 3, 3, $draw[4])
	_GDIPlus_GraphicsDrawEllipse($backbuffer, $width - 45, 19, 3, 3, $draw[4])
	_GDIPlus_GraphicsDrawEllipse($backbuffer, $width - 33, 7, 3, 3, $draw[4])
	_GDIPlus_GraphicsDrawEllipse($backbuffer, $width - 33, 19, 3, 3, $draw[4])

	_GDIPlus_GraphicsFillRect($backbuffer, $width - 43, 7, 11, 15, $draw[0])
	_GDIPlus_GraphicsFillRect($backbuffer, $width - 45, 13 - 4, 15, 11, $draw[0])

	_GDIPlus_GraphicsDrawLine($backbuffer, $width - 45, 10, $width - 45, 19, $draw[4])
	_GDIPlus_GraphicsDrawLine($backbuffer, $width - 42, 7, $width - 33, 7, $draw[4])
	_GDIPlus_GraphicsDrawLine($backbuffer, $width - 30, 10, $width - 30, 19, $draw[4])
	_GDIPlus_GraphicsDrawLine($backbuffer, $width - 43, 22, $width - 33, 22, $draw[4])

	_GDIPlus_GraphicsDrawLine($backbuffer, $width - 42, 16, $width - 33, 16, $draw[1])

	_GDIPlus_GraphicsFillEllipse($backbuffer, $width - 25, 7, 3, 3, $draw[2])
	_GDIPlus_GraphicsFillEllipse($backbuffer, $width - 25, 19, 3, 3, $draw[2])
	_GDIPlus_GraphicsFillEllipse($backbuffer, $width - 13, 7, 3, 3, $draw[2])
	_GDIPlus_GraphicsFillEllipse($backbuffer, $width - 13, 19, 3, 3, $draw[2])

	_GDIPlus_GraphicsDrawEllipse($backbuffer, $width - 25, 7, 3, 3, $draw[4])
	_GDIPlus_GraphicsDrawEllipse($backbuffer, $width - 25, 19, 3, 3, $draw[4])
	_GDIPlus_GraphicsDrawEllipse($backbuffer, $width - 13, 7, 3, 3, $draw[4])
	_GDIPlus_GraphicsDrawEllipse($backbuffer, $width - 13, 19, 3, 3, $draw[4])

	_GDIPlus_GraphicsFillRect($backbuffer, $width - 23, 7, 11, 15, $draw[2])
	_GDIPlus_GraphicsFillRect($backbuffer, $width - 25, 9, 15, 11, $draw[2])

	_GDIPlus_GraphicsDrawLine($backbuffer, $width - 25, 10, $width - 25, 19, $draw[4])
	_GDIPlus_GraphicsDrawLine($backbuffer, $width - 23, 7, $width - 13, 7, $draw[4])
	_GDIPlus_GraphicsDrawLine($backbuffer, $width - 10, 10, $width - 10, 19, $draw[4])
	_GDIPlus_GraphicsDrawLine($backbuffer, $width - 13, 22, $width - 22, 22, $draw[4])

	_GDIPlus_GraphicsDrawLine($backbuffer, $width - 22, 10, $width - 14, 19, $draw[3])
	_GDIPlus_GraphicsDrawLine($backbuffer, $width - 14, 10, $width - 22, 19, $draw[3])
EndFunc

Func _OwnStyle_DrawTitle($WinN)
	Local $aInfo, $draw
	If $_OwnStyle_hWnd[$WinN][37] Then
		$draw = $_OwnStyle_hWnd[$WinN][20]
	Else
		$draw = $_OwnStyle_hWnd[$WinN][31]
	EndIf

	$aInfo = _GDIPlus_GraphicsMeasureString($_OwnStyle_hWnd[$WinN][7], $_OwnStyle_hWnd[$WinN][2], $_OwnStyle_Defaults[2], $_OwnStyle_hWnd[$WinN][26], $_OwnStyle_Defaults[0])
	If $aInfo <> 0 Then _GDIPlus_GraphicsDrawStringEx($_OwnStyle_hWnd[$WinN][7], $_OwnStyle_hWnd[$WinN][2], $_OwnStyle_Defaults[2], $aInfo[0], $_OwnStyle_Defaults[0], $draw)
EndFunc

Func _OwnStyle_SearchWnd($Wnd)
	Local $ret = False
	For $i = 1 To $_OwnStyle_hWnd[0][0]
		If $Wnd = $_OwnStyle_hWnd[$i][1] Or $Wnd = $_OwnStyle_hWnd[$i][0] Then
			$ret = $i
			ExitLoop
		EndIf
	Next
	Return $ret
EndFunc   ;==>_OwnStyle_SearchWnd

Func _OwnStyle_GUIMinimize()
	_OwnStyle_GUISetState(@SW_SHOWMINIMIZED, @GUI_WinHandle)
EndFunc

Func _OwnStyle_GUIRestore()
	_OwnStyle_GUISetState(@SW_RESTORE, @GUI_WinHandle)
EndFunc

Func _OwnStyle_GUIClose()
	_OwnStyle_GUIDelete(@GUI_WinHandle)
EndFunc

Func _OwnStyle_WM_LButtonDown($Wnd, $message, $wParam, $lParam)
	Local $Split, $x, $y, $WinN, $MousePos, $WinPos, $taskpos
	$WinN = _OwnStyle_SearchWnd($Wnd)
	If $Wnd = $_OwnStyle_hWnd[$WinN][0] Then
		$Split = StringSplit($lParam, "")
		$x = Dec($split[7] & $split[8] & $split[9] & $split[10])
		$y = Dec($split[3] & $split[4] & $split[5] & $split[6])
		If $_OwnStyle_hWnd[$WinN][3] - 15 < $x And 22 > $y And $_OwnStyle_hWnd[$WinN][3] > $x And 7 < $y Then
			If Not $_OwnStyle_hWnd[$WinN][28] Then
				_OwnStyle_GUIDelete($Wnd)
			Else
				Call($_OwnStyle_hWnd[$WinN][28])
			EndIf
		ElseIf $_OwnStyle_hWnd[$WinN][3] - 35 < $x And 22 > $y And $_OwnStyle_hWnd[$WinN][3] - 20 > $x And 7 < $y Then
			If Not $_OwnStyle_hWnd[$WinN][27] Then
				_OwnStyle_GUISetState(@SW_MINIMIZE, $Wnd)
			Else
				Call($_OwnStyle_hWnd[$WinN][27])
			EndIf
		Else
			$taskbarPos = WinGetPos("[class:Shell_TrayWnd]")
			$WinPos = WinGetPos($_OwnStyle_hWnd[$WinN][0])
			_MouseTrap(0, 0, @DesktopWidth, @DesktopHeight - $taskbarPos[3])
			MouseMove($WinPos[0] + $_OwnStyle_hWnd[$WinN][3] / 2, $WinPos[1] + 13, 0)
			Do
				$MousePos = MouseGetPos()
				WinMove($_OwnStyle_hWnd[$WinN][0],"", $MousePos[0] - $_OwnStyle_hWnd[$WinN][3] / 2 , $MousePos[1] - 13)
				WinMove($_OwnStyle_hWnd[$WinN][1],"", $MousePos[0] - $_OwnStyle_hWnd[$WinN][3] / 2 + 5 , $MousePos[1] + 13)
				Sleep(20)
			Until Not _IsPressed("01")
			_MouseTrap()
		EndIf
	EndIf
	Return 0
EndFunc

Func _OwnStyle_WM_Move($Wnd, $message, $wParam, $lParam)
	Local $WinN, $WinPos
	$WinN = _OwnStyle_SearchWnd($Wnd)
	If $WinN Then
		$WinPos = WinGetPos($_OwnStyle_hWnd[$WinN][0])
		WinMove($_OwnStyle_hWnd[$WinN][1], "", $WinPos[0] + 5, $WinPos[1] + 26)
	EndIf
	Return 0
EndFunc

Func _OwnStyle_WM_Activate($Wnd, $Msg, $wParam, $lParam)
    Local $WinN = _OwnStyle_SearchWnd($Wnd), $nCode = BitAND($wParam, 0x0000FFFF)
    Switch $nCode
        Case 0
            $_OwnStyle_hWnd[$WinN][37] = False
        Case Else
            $_OwnStyle_hWnd[$WinN][37] = True
	EndSwitch
	_OwnStyle_Update($WinN)
    Return 0
EndFunc

Func _OwnStyle_WM_MouseMove($Wnd, $message, $wParam, $lParam)
	Local $Split, $pos[2], $WinN, $aktive[2]
	$WinN = _OwnStyle_SearchWnd($Wnd)
	If $Wnd = $_OwnStyle_hWnd[$WinN][0] And $_OwnStyle_hWnd[$WinN][37] Then
		$Split = StringSplit($lParam, "")
		$pos[0] = Dec($split[7] & $split[8] & $split[9] & $split[10])
		$pos[1] = Dec($split[3] & $split[4] & $split[5] & $split[6])
		If $_OwnStyle_hWnd[$WinN][3] - 15 < $pos[0] And 22 > $pos[1] And $_OwnStyle_hWnd[$WinN][3] > $pos[0] And 7 < $pos[1] Then
			If Not $_OwnStyle_hWnd[$WinN][43] Then
				$_OwnStyle_hWnd[$WinN][43] = True
				_OwnStyle_Update($WinN)
			Else
				$aktive[1] = True
			EndIf
		ElseIf $_OwnStyle_hWnd[$WinN][3] - 35 < $pos[0] And 22 > $pos[1] And $_OwnStyle_hWnd[$WinN][3] - 20 > $pos[0] And 7 < $pos[1] Then
			If Not $_OwnStyle_hWnd[$WinN][42] Then
				$_OwnStyle_hWnd[$WinN][42] = True
				_OwnStyle_Update($WinN)
			Else
				$aktive[0] = True
			EndIf
		Else
			If $_OwnStyle_hWnd[$WinN][42] And Not $aktive[0] Then
				$_OwnStyle_hWnd[$WinN][42] = False
				_OwnStyle_Update($WinN)
			EndIf
			If $_OwnStyle_hWnd[$WinN][43] And Not $aktive[1] Then
				$_OwnStyle_hWnd[$WinN][43] = False
				_OwnStyle_Update($WinN)
			EndIf
		EndIf
	EndIf
	Return 0
EndFunc

Func _OwnStyle_TestMode()
	Local $Windows[2]
	HotKeySet("{ESC}", "_OwnStyle_ShutDown")
	_OwnStyle_StartUp()
	$Windows[0] = _OwnStyle_GUICreate("OwnStyle Example", 300, 500, 100, 100)
		GUICtrlCreateButton("Das ist ein Test-Button im Fenster Nummer 1", 25, 100, 250, 30)
	_OwnStyle_GUISetState()
	Sleep(1000)
	_OwnStyle_GUISetColour($Windows[0], 1, 0xFFFFFFFF, 0xFF000000, 0xFF000000)
	_OwnStyle_GUISetColour($Windows[0], 2, 0xFFFFFFFF, 0xFFFFFFFF)
	_OwnStyle_GUISetColour($Windows[0], 3, 0xFFFF9900, 0xFFFF0000)
	_OwnStyle_GUISetColour($Windows[0], 4, 0xFFFF0000, 0xFFFF00FF, 0xFF000000)
	_OwnStyle_GUISetTitle($Windows[0], "OwnStyle Example Changed")
	_OwnStyle_GUISetColour($Windows[0], 5, 0xFFFFFFFF, 0xFF000000, 0xFF000000)
	_OwnStyle_GUISetColour($Windows[0], 9, 0xFFFFFFFF, 0xFF000000, 0xFF888888)
	_OwnStyle_GUISetColour($Windows[0], 10, 0xFF000000, 0xFFFFFFFF, 0xFF888888)
	Sleep(1000)
	$Windows[1] = _OwnStyle_GUICreate("Another OwnStyle Example", 500, 300, 500, 100)
		GUICtrlCreateLabel("Das ist ein Test-Label im Fenster Nummer 2", 100, 100, 300, 30)
	_OwnStyle_GUISetState()
	Sleep(1000)
	_OwnStyle_GUISetColour($Windows[1], 1, 0xFF000000, 0xFFFFFFFF, 0xFFFFFFFF)
	_OwnStyle_GUISetColour($Windows[1], 2, 0xFF000000, 0xFF000000)
	Sleep(1000)
	_OwnStyle_GUISetColour($Windows[1], 0)
	Sleep(1000)
	_OwnStyle_GUIMove($Windows[1], 0, 0, 600, 600)
	Sleep(1000)
	While 1
		Sleep(100)
		If $_OwnStyle_hWnd[0][0] = 0 Then
			_OwnStyle_ShutDown()
			Exit
		EndIf
	WEnd
EndFunc

Func _GDIPlus_BrushCreateLinear($iX1, $iY1, $iX2, $iY2, $iARGB1 = 0xFF000000, $iARGB2 = 0xFFFFFFFF)
	Local $aResult, $start, $end, $sPoint, $ePoint

	$start = DllStructCreate("int X;int Y")
	DllStructSetData($start, "X", $iX1)
	DllStructSetData($start, "Y", $iY1)
	$sPoint = DllStructGetPtr($start)

	$end = DllStructCreate("int X;int Y")
	DllStructSetData($end, "X", $iX2)
	DllStructSetData($end, "Y", $iY2)
	$ePoint = DllStructGetPtr($end)

	$aResult = DllCall($ghGDIPDll, "int", "GdipCreateLineBrushI", "ptr", $sPoint, "ptr", $ePoint, "int", $iARGB1, "int", $iARGB2, "int", 0, "int*", 0)
	If @error Then Return SetError(@error, @extended, 0)

	Return SetError(0, $aResult[0], $aResult[6])
EndFunc   ;==>_GDIPlus_BrushCreateLinear
