Beiträge von Nestos
-
-
Tach alle

Ich hab mal eine Frage:
Wie erstellt man *.icl Dateien und gibt es dafür bestimmte Programme (möglichst FreeWare).Ich dank euch schonmal alle für die Antworten.
MfG,
H2112 -
Das hat mir auch nicht wirklich geholfen.
Das flackern ist nach wie vor noch da...Ich hab das Skript mal im 1. Post hinzugefügt.
-
Moin alle

Ich hab ne Frage:
Gibt es irgendwie eine Möglichkeit, das Flackern beim überzeichnen von GDI+ Graphiken zu unterbinden?In meinem Fall liegen zwei Graphiken, die teilweiße transparente PNGs enthalten direkt übereinander und diese werden immer wieder neu gezeichnet. Nur da Flackert halt das ganze ziemlich.

Danke schonmal im Vorraus.

Edit
Hier das Skript:Skript
[autoit]#include <GDIPlus.au3>
[/autoit] [autoit][/autoit] [autoit]
#include <GuiConstantsEx.au3>
#Include <WinAPI.au3>
#include <Array.au3>
#include <Misc.au3>_GDIPlus_Startup()
[/autoit] [autoit][/autoit] [autoit]Global $MoveX = 0
[/autoit] [autoit][/autoit] [autoit]
Global $MoveY = 0
Global $hImage = _GDIPlus_ImageLoadFromFile(@DesktopDir&"\DieWelt.png")
Global $hFigurImage = _GDIPlus_ImageLoadFromFile(@DesktopDir&"\Anathema-Priestess.png")
Global $MapWidth = 22
Global $MapHeigth = 15
Global $hGraphic1, $hGUI
Global $MainFigurPoxX = 10
Global $MainFigurPoxY = 8$hGUI = GUICreate("Map1", 324, 244, -1, -1, 0x14CA0000, 0x00050100)
[/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]
GUISetBkColor(0x000000, $hGUI)
GUISetState()$hGraphic1 = _GDIPlus_GraphicsCreateFromHWND($hGUI)
[/autoit] [autoit][/autoit] [autoit]
$hGraphic2 = _GDIPlus_GraphicsCreateFromHWND($hGUI)_DrawMultiMap(1 - $MoveX, 1, 20, 15, 1, 6)
[/autoit] [autoit][/autoit] [autoit]
_DrawMainFigure($MainFigurPoxX, $MainFigurPoxY)Do
[/autoit] [autoit][/autoit] [autoit]
_Moveing()
Sleep(200)
Until GUIGetMsg() = $GUI_EVENT_CLOSE_GDIPlus_GraphicsDispose($hGraphic1)
[/autoit] [autoit][/autoit] [autoit]
_GDIPlus_GraphicsDispose($hGraphic2)
_GDIPlus_ImageDispose($hImage)_GDIPlus_Shutdown()
[/autoit] [autoit][/autoit] [autoit]Func _DrawMap($Position1, $Position2, $Pic1, $Pic2)
[/autoit] [autoit][/autoit] [autoit]
;~ DllCall($ghGDIPDll, "int", "GdipDrawImageRectRectI", "hwnd", $hGraphic1, "hwnd", $hImage, "int", 2 + ($Position1 - 1) * 15 + ($Position1 - 1), "int", _
;~ 2 + ($Position2 - 1) * 15 + ($Position2 - 1), "int", 16, "int", 16, "int", ($Pic1 - 1) * 16, "int", ($Pic2 - 1) * 16, "int", 16, "int", _
;~ 16, "int", 2, "int", 0, "int", 0, "int", 0)
_GDIPlus_GraphicsDrawImageRectRect($hGraphic1, $hImage, ($Pic1 - 1) * 16, ($Pic2 - 1) * 16, 16, 16, 2 + ($Position1 - 1) * 15 + ($Position1 - 1), 2 + ($Position2 - 1) * 15 + ($Position2 - 1), 16, 16)
EndFuncFunc _DrawMultiMap($Position1, $Position2, $Width, $Heigth, $Pic1, $Pic2)
[/autoit] [autoit][/autoit] [autoit]
For $i = 0 To $Width Step + 1
For $j = 0 To $Heigth Step + 1
_DrawMap($Position1 + $i - 1, $Position2 + $j - 1, $Pic1, $Pic2)
Next
Next
EndFuncFunc _Moveing()
[/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]
Select
Case _IsPressed(27) = 1
_Right()
Case _IsPressed(25) = 1
_Left()
EndSelect
EndFuncFunc _Right()
[/autoit] [autoit][/autoit] [autoit]
If $MainFigurPoxX < 10 Then
$MainFigurPoxX += 1
ElseIf $MoveX <= $MapWidth - 21 Then
$MoveX += 1
Else
If $MainFigurPoxX < 20 Then
$MainFigurPoxX += 1
EndIf
EndIf
_WinAPI_RedrawWindow_($hGUI)
_DrawMultiMap(1 - $MoveX, 1, 20, 15, 1, 6)
_DrawMainFigure($MainFigurPoxX, $MainFigurPoxY)
EndFuncFunc _Left()
[/autoit] [autoit][/autoit] [autoit]
If $MainFigurPoxX > 10 Then
$MainFigurPoxX -= 1
ElseIf Not $MoveX = 0 Then
$MoveX -= 1
Else
If $MainFigurPoxX >1 Then $MainFigurPoxX -= 1
EndIf
_WinAPI_RedrawWindow_($hGUI)
_DrawMultiMap(1 - $MoveX, 1, 20, 15, 1, 6)
_DrawMainFigure($MainFigurPoxX, $MainFigurPoxY)
EndFuncFunc _WinAPI_RedrawWindow_($hWnd)
[/autoit] [autoit][/autoit] [autoit]
DllCall("user32.dll", "int", "RedrawWindow", "hwnd", $hWnd, "ptr", 0, "int", 0, "int", 5)
EndFunc ;==>_WinAPI_RedrawWindowFunc _DrawMainFigure($Position1, $Position2)
[/autoit]
;~ DllCall($ghGDIPDll, "int", "GdipDrawImageRectRectI", "hwnd", $hGraphic2, "hwnd", $hFigurImage, "int", ($Position1 -1) * 16 - 2, "int", _
;~ ($Position2 - 1) * 16, "int", 24, "int", 32, "int", 24, "int", 64, "int", 24, "int", _
;~ 32, "int", 2, "int", 0, "int", 0, "int", 0)
_GDIPlus_GraphicsDrawImageRectRect($hGraphic2, $hFigurImage, 24, 64, 24, 32, ($Position1 -1) * 16 - 2, ($Position2 - 1) * 16, 24, 32)
EndFunc -
Schönen Tag allen (Auch wenns regnet)

Ich hab diesmal ein komisches Problem:
Ich habe eine Variable ($MoveX) Global deklariert. Nun bekomme ich aber immer einen Error, wenn ich diese Variable in einer Funktion (_Left()) aufrufe. Warum?Hier ist das Skript:
Skript
[autoit]#include <GDIPlus.au3>
[/autoit] [autoit][/autoit] [autoit]
#include <GuiConstantsEx.au3>
#Include <WinAPI.au3>
#include <Array.au3>
#include <Misc.au3>AdlibEnable("_Right", 10)
[/autoit] [autoit][/autoit] [autoit]
AdlibEnable("_Left", 10)_GDIPlus_Startup()
[/autoit] [autoit][/autoit] [autoit]Global $MoveX = 0
[/autoit] [autoit][/autoit] [autoit]
Global $MoveY = 0
Global $hImage = _GDIPlus_ImageLoadFromFile(@DesktopDir&"\DieWelt.png")
Global $MapWidth = 40
Global $MapHeigth = 15
Global $hGraphic, $hGUI$hGUI = GUICreate("Map1", 324, 244, -1, -1, 0x14CA0000, 0x00050100)
[/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]
GUISetBkColor(0x000000, $hGUI)
GUISetState()$hGraphic = _GDIPlus_GraphicsCreateFromHWND($hGUI)
[/autoit] [autoit][/autoit] [autoit];~ $Widht = 0
[/autoit] [autoit][/autoit] [autoit]
;~ $High = 0Do
[/autoit] [autoit][/autoit] [autoit]
_DrawMap(1 - $MoveX, 1, 1, 6)
_DrawMap(2 - $MoveX, 1, 3, 6)
Until GUIGetMsg() = $GUI_EVENT_CLOSE_GDIPlus_GraphicsDispose($hGraphic)
[/autoit] [autoit][/autoit] [autoit]
_GDIPlus_ImageDispose($hImage)_GDIPlus_Shutdown()
[/autoit] [autoit][/autoit] [autoit]Func _DrawMap($Position1, $Position2, $Pic1, $Pic2)
[/autoit] [autoit][/autoit] [autoit]
_GDIPlus_GraphicsDrawImageRectRect($hGraphic, $hImage, ($Pic1 - 1) * 16, ($Pic2 - 1) * 16, 16, 16, 2 + ($Position1 - 1) * 15 + ($Position1 - 1), 2 + ($Position2 - 1) * 15 + ($Position2 - 1), 16, 16)
EndFuncFunc _Right()
[/autoit] [autoit][/autoit] [autoit]
If $MoveX >= 20 Then
If _IsPressed(27) Then
$MoveX += 1
EndIf
EndIf
EndFuncFunc _Left()
[/autoit]
If $MoveX <= $MapWidth Then
If _IsPressed(25) Then
$MoveX -= 1
EndIf
EndIf
EndFuncError Meldung
C:\Dokumente und Einstellungen\XXX\Desktop\Scripten\Map1.au3 (52) : ==> Variable used without being declared.:
If $MoveX <= $MapWidth Then
If ^ ERROREdit: Fehler gefunden (SEHR DUMM VON MIR! >.<)
AdlibEnable war falsch gesetzt. -
Danke, du hast mein Leben gerettet.

Dafür bekommst du nen fetten Eintrag in die Credits.

-
Ich hab dir eine PN geschrieben.

Dort findest du sicher Hilfe.

-
Ich habs ja auch mit der transparents versucht.
Da wird der transparente Fleck aufeinmal blau.
Ergebnis ist im Anhang...
Und irgendwie muss das ja gehen...
Edit: 100 Beiträge! xD
Edit2:
Im Englischem Forum hab ich das gefunden:
http://www.autoitscript.com/forum/index.php?showtopic=89702
-
Ich habs jetzt auch mit Child Fenstern und _WinApiSetLayerWindowAttributes() versucht.
Jetzt ist zwar der Hintergrund transparent die roten Teile im Bild aber nicht.
Jetztiger Code:
Spoiler anzeigen
[autoit]#include <GDIPlus.au3>
[/autoit] [autoit][/autoit] [autoit]
#include <GuiConstantsEx.au3>
#Include <WinAPI.au3>_GDIPlus_Startup()
[/autoit] [autoit][/autoit] [autoit]Global $hImage = _GDIPlus_BitmapCreateFromFile("DieWelt.png")
[/autoit] [autoit][/autoit] [autoit]
Global $hBitmapWidht = _GDIPlus_ImageGetWidth($hImage), $hBitmapHeight = _GDIPlus_ImageGetHeight($hImage), $PicZahl = $hBitmapWidht / 16 * $hBitmapHeight / 16
Global $hBitmap, $hGraphic, $hGUI, $hImage, $hSplit[$PicZahl]
Global $Widht = 0, $High = 0$hGUI = GUICreate("RPG Maker", 580 + $hBitmapWidht / 16, 356 + $hBitmapHeight / 16, @DesktopWidth / 2 - (580 + $hBitmapWidht / 16) / 2, @DesktopHeight / 2 - (356 + $hBitmapHeight / 16) / 2)
[/autoit] [autoit][/autoit] [autoit]
GUISetBkColor(0xFF00FF, $hGUI)
GUISetState()$Child1 = GUICreate("Child1", 580 + $hBitmapWidht / 16, 356 + $hBitmapHeight / 16, @DesktopWidth / 2 - (580 + $hBitmapWidht / 16) / 2 + 3, @DesktopHeight / 2 - (356 + $hBitmapHeight / 16) / 2 + 28, 0x80000000, BitOr(0x00080000 , 0x00000080), $hGUI)
[/autoit] [autoit][/autoit] [autoit]
GUISetState()
GUISetBkColor(0xFF0000, $Child1)$Child2 = GUICreate("Child2", 580 + $hBitmapWidht / 16, 356 + $hBitmapHeight / 16, @DesktopWidth / 2 - (580 + $hBitmapWidht / 16) / 2 + 3, @DesktopHeight / 2 - (356 + $hBitmapHeight / 16) / 2 + 28, 0x80000000, BitOr(0x00080000 , 0x00000080), $hGUI)
[/autoit] [autoit][/autoit] [autoit]
GUISetState()
GUISetBkColor(0xFF0000, $Child2)$hGraphic1 = _GDIPlus_GraphicsCreateFromHWND($Child1)
[/autoit] [autoit][/autoit] [autoit]
$hGraphic2 = _GDIPlus_GraphicsCreateFromHWND($Child2)For $i = 0 To $PicZahl -1 Step + 1
[/autoit] [autoit][/autoit] [autoit]
If $Widht <> $hBitmapWidht Then
$hSplit[$i] = _GDIPlus_BitmapCloneArea($hImage, $Widht, $High, 16, 16)
$Widht = $Widht + 16
Else
$Widht = 0
$High = $High + 16
$i = $i - 1
EndIf
Next$Widht = 0
[/autoit] [autoit][/autoit] [autoit]
$High = 0Do
[/autoit] [autoit][/autoit] [autoit]
_Multi_WinAPI_SetLayeredWindowAttributes()
_DrawMultiMap(0, 0, 10, 20, 190, 1)
_DrawMap(10, 9, 348, 2)
_DrawMap(10, 10, 378, 2)
_DrawMap(10, 11, 408, 2)
_DrawMap(10, 12, 438, 2)
_MoveChilds()
Until GUIGetMsg() = $GUI_EVENT_CLOSE_GDIPlus_Shutdown()
[/autoit] [autoit][/autoit] [autoit]Func _DrawMultiMap($XPos, $YPos, $MapHigh, $MapWidth, $Pic, $Layer)
[/autoit] [autoit][/autoit] [autoit]
For $i = $XPos To $MapHigh + $XPos Step + 1
For $j = $YPos To $MapWidth + $YPos Step + 1
_DrawMap($i, $j, $Pic, 1)
Next
Next
EndFuncFunc _DrawMap($Position1, $Position2, $Pic, $Layer)
[/autoit] [autoit][/autoit] [autoit]
If $Layer = 1 Then _GDIPlus_GraphicsDrawImage($hGraphic1, $hSplit[$Pic], $Position1 * 16, $Position2 * 16)
If $Layer = 2 Then _GDIPlus_GraphicsDrawImage($hGraphic2, $hSplit[$Pic], $Position1 * 16, $Position2 * 16)
EndFuncFunc _MoveChilds()
[/autoit] [autoit][/autoit] [autoit]
Local $hGUIPos1, $hGUIPos2
$hGUIPos1 = WinGetPos("RPG Maker")
$hGUIPos2 = WinGetPos("Child1")
If $hGUIPos1[0] <> $hGUIPos2[0] Or $hGUIPos1[1] <> $hGUIPos2[1] Then
WinMove("Child1", "", $hGUIPos1[0] + 3, $hGUIPos1[1] + 28)
WinMove("Child2", "", $hGUIPos1[0] + 3, $hGUIPos1[1] + 28)
EndIf
EndFuncFunc _WinAPI_SetLayeredWindowAttributes($hwnd, $i_transcolor, $Transparency = 255, $dwFlages = 0x03, $isColorRef = False)
[/autoit] [autoit][/autoit] [autoit]
;progandy
If $dwFlages = Default Or $dwFlages = "" Or $dwFlages < 0 Then $dwFlages = 0x03
If Not $isColorRef Then
$i_transcolor = Hex(String($i_transcolor), 6)
$i_transcolor = Execute('0x00' & StringMid($i_transcolor, 5, 2) & StringMid($i_transcolor, 3, 2) & StringMid($i_transcolor, 1, 2))
EndIf
Local $Ret = DllCall("user32.dll", "int", "SetLayeredWindowAttributes", "hwnd", $hwnd, "long", $i_transcolor, "byte", $Transparency, "long", $dwFlages)
Select
Case @error
Return SetError(@error, 0, 0)
Case $Ret[0] = 0
Return SetError(4, _WinAPI_GetLastError(), 0)
Case Else
Return 1
EndSelect
EndFunc ;==>_WinAPI_SetLayeredWindowAttributesFunc _Multi_WinAPI_SetLayeredWindowAttributes()
[/autoit]
_WinAPI_SetLayeredWindowAttributes($Child1, 0xFF0000)
_WinAPI_SetLayeredWindowAttributes($Child2, 0xFF0000)
EndFunc -
Ich hab diese beiden Funktionen gefunden:
Spoiler anzeigen
[autoit];================Macht den Hintergrund Transparent, überall wo die farbe des pixels 1,1 ist===============
[/autoit] [autoit][/autoit] [autoit]
Func ImageMakeTransparentBkGnd($hImage2, $GuiSizeX, $GuiSizeY)
Local $hBitmap1, $Reslt, $width, $height, $stride, $format, $Scan0, $v_Buffer, $v_Value, $iColor$hBitmap1 = _GDIPlus_BitmapCloneArea($hImage2, 0, 0, $GuiSizeX, $GuiSizeY, $GDIP_PXF32ARGB)
[/autoit] [autoit][/autoit] [autoit]$iColor = GDIPlus_BitmapGetPixel($hBitmap1, 1, 1) ; Transparent color
[/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]$Reslt = _GDIPlus_BitmapLockBits($hBitmap1, 0, 0, $GuiSizeX, $GuiSizeY, BitOR($GDIP_ILMREAD, $GDIP_ILMWRITE), $GDIP_PXF32ARGB)
[/autoit] [autoit][/autoit] [autoit];Get the returned values of _GDIPlus_BitmapLockBits ()
[/autoit] [autoit][/autoit] [autoit]
$width = DllStructGetData ($Reslt, "width")
$height = DllStructGetData($Reslt, "height")
$stride = DllStructGetData($Reslt, "stride")
$format = DllStructGetData($Reslt, "format")
$Scan0 = DllStructGetData ($Reslt, "Scan0")For $i = 0 To $GuiSizeX - 1
[/autoit] [autoit][/autoit] [autoit]
For $j = 0 To $GuiSizeY - 1
$v_Buffer = DllStructCreate("dword", $Scan0 + ($j * $stride) + ($i * 4))
$v_Value = DllStructGetData($v_Buffer, 1)
If Hex($v_Value, 6) = Hex($iColor, 6) Then
DllStructSetData($v_Buffer, 1, Hex($iColor, 6))
EndIf
Next
Next_GDIPlus_BitmapUnlockBits($hBitmap1, $Reslt)
[/autoit] [autoit][/autoit] [autoit]Return $hBitmap1
[/autoit] [autoit][/autoit] [autoit]
EndFunc ;==>ImageMakeTransparentBkGnd;The GetPixel method gets the color of a specified pixel in this bitmap.
[/autoit]
Func GDIPlus_BitmapGetPixel($hBitmap, $iX, $iY)
Local $tArgb, $pArgb, $aRet
$tArgb = DllStructCreate("dword Argb")
$pArgb = DllStructGetPtr($tArgb)
$aRet = DllCall($ghGDIPDll, "int", "GdipBitmapGetPixel", "hwnd", $hBitmap, "int", $iX, "int", $iY, "ptr", $pArgb)
Return "0x" & Hex(DllStructGetData($tArgb, "Argb"))
EndFunc ;==>GDIPlus_BitmapGetPixelNur ich verstehe nich wirklich, was sie machen.

Könnte mir da vieleicht wer auf die Sprünge helfen?

-
Die GUI selbst soll ja nicht transparent sein.

Und durch deine Methode werden die Bilder viel zu groß. ;P Und es sollen ja über 50 von diesen Bildern mitgepackt werden. Das wäre zu große Platzversschändung...Und das mit rosa, kann ich nicht bestätigen.

Die Farbe bleibt (wenn sie reines rosa ist) rosa. Vll ist es aber auch nicht der korrekte Farbcode... -
Ich bins wieder

Und diesmal mit folgendem Problem:
Ich hab ein Bild (Anhang), indem manche Teile rot sind (0xFF0000).
Die roten Teile will ich transparent erscheinen lassen.
Das Bild wird mit GDi+ gezeichnet (also eine Graphik).Mit der SuFu hab ich nicht wirklich was brauchbares gefunden.

Ich Danke euch schonmal für die Antworten.

MfG
H2112PS: Script:
Spoiler anzeigen
[autoit]#include <GDIPlus.au3>
[/autoit] [autoit][/autoit] [autoit]
#include <GuiConstantsEx.au3>
#Include <WinAPI.au3>
#include <Array.au3>_GDIPlus_Startup()
[/autoit] [autoit][/autoit] [autoit]Global $hImage = _GDIPlus_BitmapCreateFromFile("DieWelt.png")
[/autoit] [autoit][/autoit] [autoit]
Global $hBitmapWidht = _GDIPlus_ImageGetWidth($hImage), $hBitmapHeight = _GDIPlus_ImageGetHeight($hImage), $PicZahl = $hBitmapWidht / 16 * $hBitmapHeight / 16
Global $hBitmap, $hGraphic, $hGUI, $hImage, $hSplit[$PicZahl]Global $Widht = 0, $High = 0
[/autoit] [autoit][/autoit] [autoit]$hGUI = GUICreate("Bildteiler", 580 + $hBitmapWidht / 16, 356 + $hBitmapHeight / 16)
[/autoit] [autoit][/autoit] [autoit]
GUISetBkColor(0x00FF00, $hGUI)
GUISetState()For $i = 0 To $PicZahl -1 Step + 1
[/autoit] [autoit][/autoit] [autoit]
If $Widht <> $hBitmapWidht Then
$hSplit[$i] = _GDIPlus_BitmapCloneArea($hImage, $Widht, $High, 16, 16)
$Widht = $Widht + 16
Else
$Widht = 0
$High = $High + 16
$i = $i - 1
EndIf
Next$Widht = 0
[/autoit] [autoit][/autoit] [autoit]
$High = 0$hGraphic = _GDIPlus_GraphicsCreateFromHWND($hGUI)
[/autoit] [autoit][/autoit] [autoit]
For $i = 0 To $PicZahl -1 Step + 1
If $Widht <> $hBitmapWidht + $hBitmapWidht / 16 Then
_GDIPlus_GraphicsDrawImage($hGraphic, $hSplit[$i], 50 + $Widht, 50 + $High)
$Widht = $Widht + 16 + 1
Else
$Widht = 0
$High = $High + 16 + 1
$i = $i - 1
EndIf
Next$Widht = 0
[/autoit] [autoit][/autoit] [autoit]
$High = 0Do
[/autoit] [autoit][/autoit] [autoit]
For $i = 0 To $PicZahl -1 Step + 1
If $Widht <> $hBitmapWidht + $hBitmapWidht / 16 Then
_GDIPlus_GraphicsDrawImage($hGraphic, $hSplit[$i], 50 + $Widht, 50 + $High)
$Widht = $Widht + 16 + 1
Else
$Widht = 0
$High = $High + 16 + 1
$i = $i - 1
EndIf
Next
$Widht = 0
$High = 0
Until GUIGetMsg() = $GUI_EVENT_CLOSE_GDIPlus_GraphicsDispose($hGraphic)
[/autoit] [autoit][/autoit] [autoit]
_WinAPI_DeleteObject($hImage)_GDIPlus_Shutdown()
[/autoit] -
Ich hab mir auch schon gedacht, dass das mit GDI+ funktioniert.

Könntest du mir bitte irgendeinen GDI+ Befehl als Ansatz geben?
Edit:
[autoit]
So hab jetzt die Funktion_GDIPlus_BitmapCloneArea()
[/autoit]gefunden.
Nur versteh ich nicht wirklich, wie ich das anstellen soll, ohne eine neue Datei zu erstellen.

Edit2:
Habs jetzt so probiert:Spoiler anzeigen
Lösung Erster Post
Was mache ich falsch?
Edit3:
Habs gelöst (Erster Post) -
Tach alle zusammen

Ich hab folgendes Problem:
Ich hab ein Bild (Anhang), dass aus mehreren Teilen besteht. Diese Teile will ich einzeln darstellen, also das Bild aufteilen.Beispiel:
Das Bild ist 400 * 400 Pixel groß (Höhe, Breite).
Dann will ich einen bestimmten Berreich der 48 * 48 Pixel groß ist ausschneiden (es soll keine neue Datei erstellt werden, wichtig!).
Dieser Bereich liegt im Bild bei 200 * 200 (Höhe, Breite).Wie soll ich das anstellen?
In der SuFu hab ich nichts gefunden.
Ich danke euch schonmal für die Antworten.
MfG
H2112Edit:
Habs mit folgendem Script gelöst:Spoiler anzeigen
[autoit]#include <GDIPlus.au3>
[/autoit] [autoit][/autoit] [autoit]
#include <GuiConstantsEx.au3>
#Include <WinAPI.au3>Global $iI, $hBitmap, $hGraphic, $hGUI, $hImage, $aSlice[4]
[/autoit] [autoit][/autoit] [autoit]$hGUI = GUICreate("Bildteiler", 400, 400)
[/autoit] [autoit][/autoit] [autoit]
GUISetState()_GDIPlus_Startup()
[/autoit] [autoit][/autoit] [autoit]$hImage = _GDIPlus_BitmapCreateFromFile("Test.JPG")
[/autoit] [autoit][/autoit] [autoit]
$hSplit = _GDIPlus_BitmapCloneArea($hImage, 200, 200, 48, 48)$hGraphic = _GDIPlus_GraphicsCreateFromHWND($hGUI)
[/autoit] [autoit][/autoit] [autoit]
_GDIPlus_GraphicsDrawImage($hGraphic, $hSplit, 100, 100)Do
[/autoit] [autoit][/autoit] [autoit]
_GDIPlus_GraphicsDrawImage($hGraphic, $hSplit, 100, 100)
Until GUIGetMsg() = $GUI_EVENT_CLOSE_GDIPlus_GraphicsDispose($hGraphic)
[/autoit] [autoit][/autoit] [autoit]
_WinAPI_DeleteObject($hImage)_GDIPlus_Shutdown()
[/autoit] -
Hast du dir schonmal den Befehl
[autoit]GUICtrlSetData()
[/autoit]angeschaut?
Mal ein Beispiel:
[autoit]$test = "2009/09/30" ; Dieser Wert wird verändert
[/autoit][autoit][/autoit][autoit]
$simDate = GUICtrlCreateDate($test, 20, 370, 210, 20)$test = "2009/10/01" ; Der Wert wurde verändert
[/autoit]
GUICtrlSetData($simDate, $test)PS: Noch ein Tipp:
[autoit]
Wenn du das/den aktuelle Jahr, Monat, Tag haben willst nimm doch:$test = @MDAY & "/" & @MON & "/" & @YEAR
[/autoit] -
Falls es wem interresiert:
[autoit]
Dieser Effekt lässt sich ganz einfach durch den Style0x06000000
[/autoit]erreichen.

Edit: Hab den Style korregiert. (Mit dem Style 0x16000000 konnte man keine ControleFarben ändern)
-
Das Programm ist ein Setup, dass jeder leicht bedienen können sollte.
Hier ist mal der Link zum Script:
H2112 SetupUnd da hilft mir Suchen und Ersetzen nicht wirklich was.

-
Moinsen an alle

Ich habe mal ein Setup geschrieben, das für jeden einfach zu bedienen sein sollte.
Derzeit funktioniert es noch nicht ganz, da FileInstall nur reine Strings nimmt und ich noch keine richtige alternative gefunden habe, aber ihr könnt ja mal einen Blick drauf werfen.
Hier der Link zum HilfeThema:
Alternative zu FileInstallDie unkommentierte .au3 Datei liegt im Anhang.
Spoiler anzeigen
[autoit]#cs
[/autoit] [autoit][/autoit] [autoit]
****************************************************************************************
****************************************************************************************
****************************************************************************************
******** ********
******** H2112 Setup Version 0.9.1 ********
******** Copyright: H2112 ( http://www.autoit.de ) ********
******** ********
******** Mit freundlicher Mithilfe von http://www.autoit.de ********
******** Danke an Oscar, der das Problem mit StringSplit gelöst hat. ********
******** ********
******** Wenn ihr Bugs oder Rechtschreibfehler findet, schreibt mir eine PN ********
******** im Forum (https://autoit.de/index.php?form=PMNew&userID=202661) ********
******** ********
******** Kommentierte Version ********
******** ********
******** *** *** ****** **** **** ****** ********
******** *** *** ** ** ** ** ** ** ** ** ********
******** ********* ** ** ** ** ********
******** *** *** ** ** ** ** ********
******** *** *** ******** ** ** ******** ********
******** ********
****************************************************************************************
****************************************************************************************
****************************************************************************************
#ce#Region ### Schlüsselwörter, Optionen und Includes ###
[/autoit] [autoit][/autoit] [autoit]
#NoTrayIcon#include <GuiEdit.au3>
[/autoit] [autoit][/autoit] [autoit]
#Include <String.au3>
#include <File.au3>
#include <Array.au3>Opt("GUIOnEventMode", 1)
[/autoit] [autoit][/autoit] [autoit]
#EndRegion ### Schlüsselwörter, Optionen und Includes ###
;#Region ### Variablen ###
[/autoit] [autoit][/autoit] [autoit]
Global $Files = "" ; Die Files, die Installiert werden sollen (mit & trennen)Global $Name = "Test" ; Der Name des Programms
[/autoit] [autoit][/autoit] [autoit]
Global $Info = "Test" ; Die Informationen über das Programm
Global $Lizenzvereinbarung = "Test" ; Die Lizenzvereinbarung
Global $MainFile = "Test.exe" ; Das Hauptfile, dass nach der Installation aufgerufen wird
Global $ReadMe = "Test.txt" ; Das Liesmichfile, dass nach der Installation aufgerufen wird
Global $InstallFolder = "C:\Programme" ; Das StartInstallationsverzeichniss#Region ### Button Namen ###
[/autoit] [autoit][/autoit] [autoit]
Global $ButtonName1 = "Über"
Global $ButtonName2 = "Weiter"
Global $ButtonName3 = "Abbrechen"
Global $ButtonName4 = "Zurück"
Global $ButtonName5 = "Suchen"
Global $ButtonName6 = "Installieren"
Global $ButtonName7 = "Fertigstellen"
#EndRegion ### Button Namen ###
;
#Region ### Sonstige Variablen ###
Global $Saison = 1
Global $Name_Split = StringSplit($Name, "")
Global $Startmenu_Dir = @StartMenuCommonDir & "\Programme"
Global $Startmenu_Folders = _FileListToArray($Startmenu_Dir, '*', 2)
Global $Files_Split = StringSplit($Files, "&")
Global $Files_Split_Split[$Files_Split[0]][2]
Global $List1_Saison4_Data = ""
Global $Edit1_Saison5_Data = ""For $t = 1 To $Files_Split[0] Step +1
[/autoit] [autoit][/autoit] [autoit]
$tmp = StringSplit($Files_Split[$t], "\")
If $tmp[0] > UBound($Files_Split_Split, 2) Then ReDim $Files_Split_Split[$Files_Split[0]][$tmp[0] + 1]
For $i = 1 To $tmp[0] + 1
$Files_Split_Split[$t - 1][$i - 1] = $tmp[$i -1]
Next
Next
#EndRegion ### Sonstige Variablen ###
;
#Region ### Schalter ###
Global $Schalter1 = 0
Global $Schalter2 = 0
Global $Schalter3 = 0
Global $Schalter4 = 0
Global $Schalter5 = 0
Global $Schalter6 = 0
Global $Schalter7 = 0
Global $Schalter8 = 0
#EndRegion ### Schalter ###
;
#EndRegion ### Variablen ###
;#Region ### START $hGUI ###
[/autoit] [autoit][/autoit] [autoit]
$hGUI = GUICreate("H2112 Installer - " & $Name, 477, 314, -1, -1, BitOr(0x94C800C4, 0x00000008), 0x00010101)
GUISetOnEvent(-3, "_End")
GUISetIcon("shell32.dll", -50, $hGUI)#Region ### AllSaisons ###
[/autoit] [autoit][/autoit] [autoit]
$Logo1 = GUICtrlCreateLabel("H2112", 21, 23, 100, 31, BitOR(0x01, 0x0200), 0x00000004)
GUICtrlSetBkColor($Logo1, 0x000000)
GUICtrlSetColor($Logo1, 0xFFFFFF)
GUICtrlSetFont($Logo1, 20, 600)$Logo2 = GUICtrlCreateLabel("S" & @CRLF & "e" & @CRLF & "t" & @CRLF & "u" & @CRLF & "p", 21, 54, 100, 169)
[/autoit] [autoit][/autoit] [autoit]
GUICtrlSetBkColor($Logo2, 0xFFFFFF)
GUICtrlSetColor($Logo2, 0x000000)
GUICtrlSetFont($Logo2, 20, 600)$Logo3 = GUICtrlCreateLabel("", 60, 54, 40, 169)
[/autoit] [autoit][/autoit] [autoit]
GUICtrlSetBkColor($Logo3, 0xFFFFFF)
GUICtrlSetColor($Logo3, 0x838B8B)
If $Name_Split[0] <= 4 Then
GUICtrlSetFont($Logo3, 18, 600)
ElseIf $Name_Split[0] <= 6 Then
GUICtrlSetFont($Logo3, 16, 600)
ElseIf $Name_Split[0] <= 8 Then
GUICtrlSetFont($Logo3, 12, 600)
ElseIf $Name_Split[0] <= 10 Then
GUICtrlSetFont($Logo3, 10, 600)
ElseIf $Name_Split[0] <= 12 Then
GUICtrlSetFont($Logo3, 8, 600)
ElseIf $Name_Split[0] > 12 Then
GUICtrlSetFont($Logo3, 6, 600)
EndIfFor $i = 1 To $Name_Split[0] Step +1
[/autoit] [autoit][/autoit] [autoit]
GUICtrlSetData($Logo3, GUICtrlRead($Logo3) & $Name_Split[$i] & @CRLF)
Next$Button1 = GUICtrlCreateButton($ButtonName1, 206 ,276, 68, 23, 0x50010000, 0x00000004)
[/autoit] [autoit][/autoit] [autoit]
GUICtrlSetOnEvent($Button1, "_backward")$Button2 = GUICtrlCreateButton($ButtonName2 & " >", 273, 276, 68, 23, 0x50010000, 0x00000004)
[/autoit] [autoit][/autoit] [autoit]
GUICtrlSetOnEvent($Button2, "_forward")$Button3 = GUICtrlCreateButton($ButtonName3, 381, 276, 68, 23, 0x50010000, 0x00000004)
[/autoit] [autoit][/autoit] [autoit]
GUICtrlSetOnEvent($Button3, "_End")
#EndRegion ### AllSaisons ###
;#Region ### Saison1 ###
[/autoit] [autoit][/autoit] [autoit]
$SetupIcon_Saison1 = GUICtrlCreateIcon("shell32.dll", -49, 147, 18)
GUICtrlSetData(-1,"Deutsch|Englisch|Türkisch")$Label1_Saison1 = GUICtrlCreateLabel("Willkommen zum " & $Name & " Setup Programm." & @CRLF & "Dieses Programm installiert " & $Name & " auf Ihren" & @CRLF & "Computer.", 201, 20, 248, 40, 0x50020080, 0x00000004)
[/autoit] [autoit][/autoit] [autoit]$Label2_Saison1 = GUICtrlCreateLabel("Um Probleme zu vermeiden, schließen Sie bitte alle anderen" & @CRLF & "Windows-Programme bevor Sie weitermachen.", 147, 68, 302, 34, 0x50020080, 0x00000004)
[/autoit] [autoit][/autoit] [autoit]$Label3_Saison1 = GUICtrlCreateLabel("Drücken Sie <" & $ButtonName3 & "> um das Setup zu beenden oder" & @CRLF & "<" & $ButtonName2 & "> um fortzufahren.", 147, 114, 302, 34, 0x50020080, 0x00000004)
[/autoit] [autoit][/autoit] [autoit]$Seperator = GUICtrlCreateLabel("", 21, 262, 432, 1, 0x5000000E, 0x00000004)
[/autoit] [autoit][/autoit] [autoit]
GUICtrlSetBkColor(-1, 0xFFFFFF)
#EndRegion ### Saison1
;#Region ### Saison2 ###
[/autoit] [autoit][/autoit] [autoit]
$Label1_Saison2 = GUICtrlCreateLabel("Lizenzvereinbarung", 147, 20, 150, 20)
GUICtrlSetFont($Label1_Saison2, 9, 600)$Label2_Saison2 = GUICtrlCreateLabel("Bitte lesen Sie sich folgende Lizenvereinbarung genauestens durch. Benutzen Sie bei Bedarf die Bildlaufleiste.", 147, 40, 302, 30)
[/autoit] [autoit][/autoit] [autoit]$Edit1_Saison2 = GUICtrlCreateEdit($Lizenzvereinbarung, 147, 70, 302, 150, 0x50210804, 0x00000204)
[/autoit] [autoit][/autoit] [autoit]$Radio1_Saison2 = GUICtrlCreateRadio("Ich bin mit den Lizenzvereinbarungen einverstanden", 147, 220, 300, 20)
[/autoit] [autoit][/autoit] [autoit]
GUICtrlSetOnEvent($Radio1_Saison2, "_Radio")$Radio2_Saison2 = GUICtrlCreateRadio("Ich bin mit den Lizenzvereinbarungen nicht einverstanden", 147, 240, 300, 20)
[/autoit] [autoit][/autoit] [autoit]
GUICtrlSetState($Radio2_Saison2, 1)
GUICtrlSetOnEvent($Radio2_Saison2, "_Radio")
#EndRegion ### Saison2 ###
;#Region ### Saison3 ###
[/autoit] [autoit][/autoit] [autoit]
$Label1_Saison3 = GUICtrlCreateLabel("Setup wird " & $Name & " in folgendes Verzeichnis installieren:", 149, 20, 300, 42, 0x50020080, 0x00000004)$Label2_Saison3 = GUICtrlCreateLabel("Um in dieses Verzeichnis zu installieren drücken Sie <" & $ButtonName2 & ">.", 149, 62, 300, 42, 0x50020080, 0x00000004)
[/autoit] [autoit][/autoit] [autoit]$Label3_Saison3 = GUICtrlCreateLabel("Um in ein anderes Verzeichnis zu installieren, drücken Sie <" & $ButtonName5 & "> und wählen Sie ein anderes Verzeichnis." , 149, 104, 300, 42, 0x50020080, 0x00000004)
[/autoit] [autoit][/autoit] [autoit]$Label4_Saison3 = GUICtrlCreateLabel("Um die Installation abzubrechen, drücken Sie <" & $ButtonName3 & ">.", 149, 146, 300, 42, 0x50020080, 0x00000004)
[/autoit] [autoit][/autoit] [autoit]$Group1_Saison3 = GUICtrlCreateGroup("Zielverzeichnis", 149, 205, 302, 49, 0x50000007, 0x00000004)
[/autoit] [autoit][/autoit] [autoit]$Label5_Saison3 = GUICtrlCreateLabel($InstallFolder & "\" & $Name, 161, 229, 203, 13, 0x5002008C, 0x00000004)
[/autoit] [autoit][/autoit] [autoit]$Button4_Saison3 = GUICtrlCreateButton("&" & $ButtonName5, 363, 221, 78, 23, 0x50010000, 0x00000004)
[/autoit] [autoit][/autoit] [autoit]
GUICtrlSetOnEvent($Button4_Saison3, "_FolderSelect")
#EndRegion ### Saison3 ###
;#Region ### Saison4 ###
[/autoit] [autoit][/autoit] [autoit]
$Label1_Saison4 = GUICtrlCreateLabel("Setup wird die Verknüpfung dem folgenden Startmenü Ordner hinzufügen. Sie können einen neuen Namen eingeben oder einen bestehenden Ordner auswählen. Drücken Sie <" & $ButtonName2 & "> um fortzufahren.", 149, 20, 300, 55, 0x50020080, 0x00000004)$Label2_Saison4 = GUICtrlCreateLabel("&Startmenü Ordner", 149, 81, 302, 13, 0x50020000, 0x00000004)
[/autoit] [autoit][/autoit] [autoit]$Edit1_Saison4 = GUICtrlCreateEdit($Name, 149, 99, 302, 20, 0x50010000, 0x00000204)
[/autoit] [autoit][/autoit] [autoit]$Label3_Saison4 = GUICtrlCreateLabel("&Bestehende Ordner", 149, 128, 302, 13, 0x50020000, 0x00000004)
[/autoit] [autoit][/autoit] [autoit]$List1_Saison4 = GUICtrlCreateList("", 149, 145, 302, 98, 0x50210103, 0x00000204)
[/autoit] [autoit][/autoit] [autoit]
GUICtrlSetOnEvent($List1_Saison4, "_ListToEdit")For $i = 1 To $Startmenu_Folders[0] Step +1
[/autoit] [autoit][/autoit] [autoit]
GUICtrlSetData($List1_Saison4, $Startmenu_Folders[$i] & "|")
Next
#EndRegion ### Saison4 ###
;#Region ### Saison5 ###
[/autoit] [autoit][/autoit] [autoit]
$Label1_Saison5 = GUICtrlCreateLabel("Klicken Sie auf <" & $ButtonName6 & ">, um mit der Installation zu beginnen, oder auf <" & $ButtonName4 & ">, um Ihre Einstellungen zu ändern.", 149, 20, 300, 30, 0x50020080, 0x00000004)$Edit1_Saison5 = GUICtrlCreateEdit("", 149, 60, 300, 150, 0x50210804, 0x00000204)
[/autoit] [autoit][/autoit] [autoit]$Progress1_Saison5 = GUICtrlCreateProgress(149, 225, 300, 25, 0x01)
[/autoit] [autoit][/autoit] [autoit]
#EndRegion ### Saison5 ###
;#Region ### Saison6 ###
[/autoit] [autoit][/autoit] [autoit]
$Label1_Saison6 = GUICtrlCreateLabel("Das Setup hat " & $Name & " erfolgreich auf Ihrem Computer installiert." & @CRLF & "Bitte wählen Sie die gewünschten Optionen aus:", 147, 20, 302, 72, 0x50020080, 0x00000004)$Checkbox1_Saison6 = GUICtrlCreateCheckbox($Name & " ausführen", 147, 161, 90, 20, 0x50010003, 0x00000004)
[/autoit] [autoit][/autoit] [autoit]
GUICtrlSetOnEvent($Checkbox1_Saison6, "_CheckBox_Check")$Checkbox2_Saison6 = GUICtrlCreateCheckbox("Liesmich anzeigen", 147, 191, 105, 20, 0x50010003, 0x00000004)
[/autoit] [autoit][/autoit] [autoit]
GUICtrlSetOnEvent($Checkbox1_Saison6, "_CheckBox_Check")$Checkbox3_Saison6 = GUICtrlCreateCheckbox("Desktopverknüpfung erstellen", 147, 221, 160, 20, 0x50010003, 0x00000004)
[/autoit] [autoit][/autoit] [autoit]
GUICtrlSetOnEvent($Checkbox1_Saison6, "_CheckBox_Check")
#EndRegion ### Saison6 ###
;#Region ### Ungültige Saisonen ausblenden ###
[/autoit] [autoit][/autoit] [autoit]
_Saisonen(2, 0) ; Saison2 ausblenden
_Saisonen(3, 0) ; Saison3 ausblenden
_Saisonen(4, 0) ; Saison4 ausblenden
_Saisonen(5, 0) ; Saison5 ausblenden
_Saisonen(6, 0) ; Saison6 ausblenden
#EndRegion ### Ungültige Saisonen ausblenden ###
;GUISetState(@SW_SHOW, $hGUI)
[/autoit] [autoit][/autoit] [autoit]
#EndRegion ### END $hGUI ###
;While 1
[/autoit] [autoit][/autoit] [autoit]
Sleep(10)
WEnd#Region ### Funktionen ###
[/autoit] [autoit][/autoit] [autoit]
#Region ### MainFunks ###
Func _End()
If GUICtrlRead($Button3) = $ButtonName3 Then
If MsgBox(262144 + 4 + 256, "H2112 Setup - " & $Name & " - Meldung", "Wollen Sie das Setup wirklich abbrechen?") = 6 Then Exit
ElseIf GUICtrlRead($Button3) = $ButtonName7 Then
If $Schalter6 = 1 Then
Run(GUICtrlRead($Label5_Saison3) & $MainFile, GUICtrlRead($Label5_Saison3))
EndIf
If $Schalter7 = 1 Then
Run($ReadMe, $ReadMe)
EndIf
If $Schalter8 = 1 Then
FileCreateShortcut(GUICtrlRead($Label5_Saison3) & "\" & $MainFile, @DesktopDir & "\" & $Name, GUICtrlRead($Label5_Saison3), "", "", GUICtrlRead($Label5_Saison3) & $MainFile)
EndIf
Exit
EndIf
EndFuncFunc _MainInstall()
[/autoit] [autoit][/autoit] [autoit]
GUICtrlSetState($Button1, 128)
GUICtrlSetState($Button2, 128)
GUICtrlSetState($Button3, 128)GUICtrlSetData($Edit1_Saison5, "Installationsinformationen:" & @CRLF & @CRLF & "Anzahl der Dateien: " & $Files_Split[0] & @CRLF & @CRLF & @CRLF & "Installationsverlauf:" & @CRLF & @CRLF)
[/autoit] [autoit][/autoit] [autoit]For $i = 1 To $Files_Split[0] Step +1
[/autoit] [autoit][/autoit] [autoit]
$Edit1_Saison5_Data = GUICtrlRead($Edit1_Saison5)
GUICtrlSetData($Edit1_Saison5, $Edit1_Saison5_Data & $Files_Split_Split[$i - 1][$Files_Split_Split[$i - 1][0]] & " wird installiert...")
FileInstall($Files_Split[$i], GUICtrlRead($Label5_Saison3))
GUICtrlSetData($Progress1_Saison5, (100 / $Files_Split[0]) * $i)
GUICtrlSetData($Edit1_Saison5, $Edit1_Saison5_Data & $Files_Split_Split[$i - 1][$Files_Split_Split[$i - 1][0]] & " wurde erfolgreich installiert!" & @CRLF)
NextGUICtrlSetData($Progress1_Saison5, 100)
[/autoit] [autoit][/autoit] [autoit]
GUICtrlSetData($Edit1_Saison5, GUICtrlRead($Edit1_Saison5) & @CRLF & "Die Installation wurde erfolgreich beendet!")
GUICtrlSetData($Label1_Saison5, "Klicken Sie auf <" & $ButtonName2 & "> um die Installation abzuschließen oder auf <" & $ButtonName3 & "> um das Setup zu abzubrechen.")
_GUICtrlEdit_Scroll($Edit1_Saison5, 4)
$Schalter4 = 1
$Schalter5 = 1
GUICtrlSetState($Button2, 64)
GUICtrlSetState($Button3, 64)
GUICtrlSetData($Button2, $ButtonName2 & " >")
EndFunc
#EndRegion ### EndFunk ###
;#Region ### Forward/Backward Funk ###
[/autoit] [autoit][/autoit] [autoit]
Func _forward()
If $Saison = 1 Then
_Saisonen(1, 0)
_Saisonen(2, 1)
$Saison = 2
ElseIf $Saison = 2 Then
_Saisonen(2, 0)
_Saisonen(3, 1)
$Saison = 3
ElseIf $Saison = 3 Then
_Saisonen(3, 0)
_Saisonen(4, 1)
$Saison = 4
ElseIf $Saison = 4 Then
_Saisonen(4, 0)
_Saisonen(5, 1)
$Saison = 5
ElseIf $Saison = 5 And $Schalter4 = 0 Then
_MainInstall()
ElseIf $Saison = 5 Then
_Saisonen(5, 0)
_Saisonen(6, 1)
$Saison = 6
EndIf
EndFuncFunc _backward()
[/autoit] [autoit][/autoit] [autoit]
If $Saison = 1 Then
MsgBox(0, "H2112 Setup - " & $Name & " - Über", $Info)
ElseIf $Saison = 2 Then
_Saisonen(2, 0)
_Saisonen(1, 1)
$Saison = 1
ElseIf $Saison = 3 Then
_Saisonen(3, 0)
_Saisonen(2, 1)
$Saison = 2
ElseIf $Saison = 4 Then
_Saisonen(4, 0)
_Saisonen(3, 1)
$Saison = 3
ElseIf $Saison = 5 Then
_Saisonen(5, 0)
_Saisonen(4, 1)
$Saison = 4
ElseIf $Saison = 6 Then
_Saisonen(6, 0)
_Saisonen(5, 1)
$Saison = 5
EndIf
EndFunc
#EndRegion ### Forward/Backward Funk ###
;#Region ### Saisonen ein-/ausblenden Funks ###
[/autoit] [autoit][/autoit] [autoit]
Func _Saisonen($Saison, $flag)
SelectCase $Saison = 1 And $flag = 0
[/autoit] [autoit][/autoit] [autoit]
GUICtrlSetState($SetupIcon_Saison1, 32)
GUICtrlSetState($Label1_Saison1, 32)
GUICtrlSetState($Label2_Saison1, 32)
GUICtrlSetState($Label3_Saison1, 32)
GUICtrlSetData($Button1, "< " & $ButtonName4)Case $Saison = 1 And $flag = 1
[/autoit] [autoit][/autoit] [autoit]
GUICtrlSetState($SetupIcon_Saison1, 16)
GUICtrlSetState($Label1_Saison1, 16)
GUICtrlSetState($Label2_Saison1, 16)
GUICtrlSetState($Label3_Saison1, 16)
GUICtrlSetData($Button1, $ButtonName1)Case $Saison = 2 And $flag = 0
[/autoit] [autoit][/autoit] [autoit]
GUICtrlSetState($Label1_Saison2, 32)
GUICtrlSetState($Label2_Saison2, 32)
GUICtrlSetState($Edit1_Saison2, 32)
GUICtrlSetState($Radio1_Saison2, 32)
GUICtrlSetState($Radio2_Saison2, 32)
If $Schalter2 = 0 Then
GUICtrlSetState($Button2, 128)
$Schalter1 = 0
EndIf
GUICtrlSetState($Button2, 64)Case $Saison = 2 And $flag = 1
[/autoit] [autoit][/autoit] [autoit]
GUICtrlSetState($Label1_Saison2, 16)
GUICtrlSetState($Label2_Saison2, 16)
GUICtrlSetState($Edit1_Saison2, 16)
GUICtrlSetState($Radio1_Saison2, 16)
GUICtrlSetState($Radio2_Saison2, 16)
If $Schalter1 = 0 Then
GUICtrlSetState($Button2, 128)
$Schalter1 = 1
EndIfCase $Saison = 3 And $flag = 0
[/autoit] [autoit][/autoit] [autoit]
GUICtrlSetState($Label1_Saison3, 32)
GUICtrlSetState($Label2_Saison3, 32)
GUICtrlSetState($Label3_Saison3, 32)
GUICtrlSetState($Label4_Saison3, 32)
GUICtrlSetState($Group1_Saison3, 32)
GUICtrlSetState($Label5_Saison3, 32)
GUICtrlSetState($Button4_Saison3, 32)Case $Saison = 3 And $flag = 1
[/autoit] [autoit][/autoit] [autoit]
GUICtrlSetState($Label1_Saison3, 16)
GUICtrlSetState($Label2_Saison3, 16)
GUICtrlSetState($Label3_Saison3, 16)
GUICtrlSetState($Label4_Saison3, 16)
GUICtrlSetState($Group1_Saison3, 16)
GUICtrlSetState($Label5_Saison3, 16)
GUICtrlSetState($Button4_Saison3, 16)Case $Saison = 4 And $flag = 0
[/autoit] [autoit][/autoit] [autoit]
GUICtrlSetState($Label1_Saison4, 32)
GUICtrlSetState($Label2_Saison4, 32)
GUICtrlSetState($Edit1_Saison4, 32)
GUICtrlSetState($Label3_Saison4, 32)
GUICtrlSetState($List1_Saison4, 32)Case $Saison = 4 And $flag = 1
[/autoit] [autoit][/autoit] [autoit]
GUICtrlSetState($Label1_Saison4, 16)
GUICtrlSetState($Label2_Saison4, 16)
GUICtrlSetState($Edit1_Saison4, 16)
GUICtrlSetState($Label3_Saison4, 16)
GUICtrlSetState($List1_Saison4, 16)Case $Saison = 5 And $flag = 0
[/autoit] [autoit][/autoit] [autoit]
GUICtrlSetState($Label1_Saison5, 32)
GUICtrlSetState($Edit1_Saison5, 32)
GUICtrlSetState($Progress1_Saison5, 32)
If $Schalter4 = 0 Then
GUICtrlSetData($Button2, $ButtonName2 & " >")
EndIfCase $Saison = 5 And $flag = 1
[/autoit] [autoit][/autoit] [autoit]
GUICtrlSetState($Label1_Saison5, 16)
GUICtrlSetState($Edit1_Saison5, 16)
GUICtrlSetState($Progress1_Saison5, 16)
If $Schalter4 = 0 Then
GUICtrlSetData($Button2, $ButtonName6)
EndIfCase $Saison = 6 And $flag = 0
[/autoit] [autoit][/autoit] [autoit]
GUICtrlSetState($Label1_Saison6, 32)
GUICtrlSetState($Checkbox1_Saison6, 32)
GUICtrlSetState($Checkbox2_Saison6, 32)
GUICtrlSetState($Checkbox3_Saison6, 32)
GUICtrlSetData($Button3, $ButtonName3)
If $Schalter5 = 1 Then
GUICtrlSetState($Button1, 128)
EndIf
GUICtrlSetState($Button2, 64)Case $Saison = 6 And $flag = 1
[/autoit] [autoit][/autoit] [autoit]
GUICtrlSetState($Label1_Saison6, 16)
GUICtrlSetState($Checkbox1_Saison6, 16)
GUICtrlSetState($Checkbox2_Saison6, 16)
GUICtrlSetState($Checkbox3_Saison6, 16)
GUICtrlSetData($Button3, $ButtonName7)
If $Schalter5 = 1 Then
GUICtrlSetState($Button1, 64)
EndIf
GUICtrlSetState($Button2, 128)EndSelect
[/autoit] [autoit][/autoit] [autoit]
EndFunc
#EndRegion ### Saisonen ein-/ausblenden Funks ###
;#Region ### Sonstige Funks ###
[/autoit] [autoit][/autoit] [autoit]
Func _FolderSelect()
$InstallFolder = FileSelectFolder("Bitte wählen sie ein Verzeichnis aus:", "", 1, $InstallFolder, $hGUI)
If $InstallFolder = "" Then $InstallFolder = "C:\Programme"
GUICtrlSetData($Label5_Saison3, $InstallFolder & "\" & $Name)
EndFuncFunc _Radio()
[/autoit] [autoit][/autoit] [autoit]
Select
Case @GUI_CtrlId = $Radio1_Saison2
GUICtrlSetState($Button2, 64)
$Schalter2 = 1
Case @GUI_CtrlId = $Radio2_Saison2
GUICtrlSetState($Button2, 128)
$Schalter2 = 0
EndSelect
EndFuncFunc _ListToEdit()
[/autoit] [autoit][/autoit] [autoit]
If $Schalter3 = 0 Then
$Schalter3 = 1
$List1_Saison4_Data = GUICtrlRead($List1_Saison4)
ElseIf $Schalter3 = 1 And GUICtrlRead($List1_Saison4) = $List1_Saison4_Data Then
GUICtrlSetData($Edit1_Saison4, $List1_Saison4_Data)
$Schalter3 = 0
Else
$Schalter3 = 0
EndIf
EndFuncFunc _CheckBox_Check()
[/autoit] [autoit][/autoit] [autoit]
SelectCase @GUI_CtrlId = $Checkbox1_Saison6
[/autoit] [autoit][/autoit] [autoit]
If $Schalter6 = 0 Then
$Schalter6 = 1
ElseIf $Schalter6 = 1 Then
$Schalter6 = 0
EndIfCase @GUI_CtrlId = $Checkbox2_Saison6
[/autoit] [autoit][/autoit] [autoit]
If $Schalter7 = 0 Then
$Schalter7 = 1
ElseIf $Schalter6 = 1 Then
$Schalter7 = 0
EndIfCase @GUI_CtrlId = $Checkbox3_Saison6
[/autoit] [autoit][/autoit] [autoit]
If $Schalter8 = 0 Then
$Schalter8 = 1
ElseIf $Schalter6 = 1 Then
$Schalter8 = 0
EndIfEndSelect
[/autoit]
EndFunc
#Region ### Sonstige Funks ###
;
#EndRegion ### Funktionen ###
;Edit: Saisonen ein-/ausblenden ist nun eine Funktion und mit Select - THX an Mega
Würde mich über Feedback freuen

-
Genau die Quelle kann ich in meinem Fall nicht als reinen String übergeben, weil es sonst viel zu umständlich werden würde.
Deshalb suche ich ja eine Alternative, die genauso wie FileInstall arbeitet.
-
Guten Morgen

Wie die Überschrift schon sagt, suche ich eine alternative zu FileInstall, die genau das selbe macht, aber mit Variablen arbeitet.
Im deutschem Forum hab ich mit der SuFu nichts gefunden und im Englischem Forum hab ichs nicht wirklich verstanden.
Danke schonmal für die Antworten.
MfG
H2112