Ich habe vor ein Programm zu schreiben, in welchem der Benutzer verschiedene "FormStyles" aussuchen kann, und diese dann in sack und pack in einen ordner gesteckt werden.
Teil des Programms ist es, dass der Benutzer sich eine Vorschau jedes designs ansehen kann.
Ich dachte da an eine art DiaShow in welcher bei drücken auf den button "next"
das nächste bild angezeigt wird.
Wie mache ich das jetzt am schlausten?
Es handelt sich um 130 bilder, Sprich 130 Designs.
Eine variable setzen, und dann entsprechend bei next und back ändern.
@ hast du kein google benutzt? Wenn du was von autoit wissen willst immer bei google eingeben:
autoit + was du wissen willst. Habs grad mit autoit dia show gemacht und sofort die lösung bekommen
#include <Array.au3>
#include <File.au3>
#include <GUIConstantsEx.au3>
#include <StaticConstants.au3>
#include <WindowsConstants.au3>
#include <GDIPlus.au3>
;-----------------------------Start Up--------------
$loadFile = _LoadFiles(@ScriptDir & "\pictures") ;pfad eventuell abändern
_ArrayDisplay($loadFile)
Global $ImageArray[$loadFile[0]+1][2]
$ImageArray[0][0] = $loadFile[0]
For $i = 1 To $loadFile[0]
$setImage = _SetImageSize(@ScriptDir & "\pictures\"&$loadFile[$i],600,600) ;Pfad und Dimensionen eventuell abändern
$ImageArray[$i][0] = $setImage[0]
$ImageArray[$i][1] = $setImage[1]
Next
_ArrayDisplay($ImageArray)
;------------------------------GUI--------------------
$gui = GUICreate("", 600, 650) ;Dimensionen eventuell abändern
$Pic = GUICtrlCreatePic("",0,0,600,600)
$Button_n = GUICtrlCreateButton("Next", 440, 616, 123, 25)
$Button_p = GUICtrlCreateButton("Previous", 32, 616, 123, 25)
GUICtrlSetState(-1,$GUI_DISABLE)
GUISetState(@sw_show)
;-----------------------------Viewing--------------------
$n = 1
GUICtrlSetImage($Pic,@ScriptDir & "\pictures\"&$loadFile[$n]) ;pfad eventuell abändern
GUICtrlSetPos($Pic,0,0,$ImageArray[$n][0],$ImageArray[$n][1])
While 1
Switch GUIGetMsg()
Case -3
Exit
Case $Button_n
$n += 1
If $n > 1 Then GUICtrlSetState($Button_p,$GUI_ENABLE)
If $n = $ImageArray[0][0] Then GUICtrlSetState($Button_n,$GUI_DISABLE)
GUICtrlSetImage($Pic,@ScriptDir & "\pictures\"&$loadFile[$n]) ;pfad eventuell abändern
GUICtrlSetPos($Pic,0,0,$ImageArray[$n][0],$ImageArray[$n][1])
Case $Button_p
$n -= 1
If $n = 1 Then GUICtrlSetState($Button_p,$GUI_DISABLE)
If $n < $ImageArray[0][0] Then GUICtrlSetState($Button_n,$GUI_ENABLE)
GUICtrlSetImage($Pic,@ScriptDir & "\pictures\"&$loadFile[$n]) ;pfad eventuell abändern
GUICtrlSetPos($Pic,0,0,$ImageArray[$n][0],$ImageArray[$n][1])
Case $Pic
MsgBox(0,"","Clicked ;D")
EndSwitch
WEnd
;--------------------------Functions--------------------
Func _LoadFiles($sDir)
$get = _FileListToArray($sDir,"*",1)
Local $array[$get[0]+1]
$array[0] = $get[0]
For $i = 1 To $get[0]
$array[$i] = $get[$i]
Next
Return $array
EndFunc
Func _SetImageSize($sImage,$sMaxW,$sMaxH)
_GDIPlus_Startup()
$hImage = _GDIPlus_ImageLoadFromFile($sImage)
$w = _GDIPlus_ImageGetWidth($hImage)
$h = _GDIPlus_ImageGetHeight($hImage)
_GDIPlus_ImageDispose($hImage)
_GDIPlus_Shutdown()
If $w > $h Then
$new_w = $sMaxW
$new_h = $new_w / ( $w / $h )
Else
$new_h = $sMaxH
$new_w = $new_h * ( $w / $h )
EndIf
Local $array[2] = [$new_w,$new_h]
Return $array
EndFunc
Ich hab's jetzt mit einfachem Anklicken gemacht, und die GUI bzw. maximale Bildergröße müsstest du auch noch definieren. Bei _FileListToArray kannst du dir mit WildCards auch direkt die Dateiendungen abfragen... nich mein Ding :x
EDIT No2:
Label:
Die Dateinamen müsssen einfach nur mit den Stylenamen übereinstimmen (Endungenentfernen nich vergessen):
Code:
;-----------------------------Start Up--------------
Global $LabelArray[$loadFile[0]+1]
$LabelArray[0] = $loadFile[0]
For $i = 1 To $loadFile[0]
$setImage = _SetImageSize(@ScriptDir & "\pictures\"&$loadFile[$i],600,600) ;Pfad und Dimensionen eventuell abändern
$ImageArray[$i][0] = $setImage[0]
$ImageArray[$i][1] = $setImage[1]
$string = StringSplit($loadFile[$i],".")
$LabelArray[$i] = $string[1]
Next
;------------------------------GUI--------------------
$Label = GUICtrlCreateLabel("",200,616,100,15)
;-----------------------------Viewing--------------------
GUICtrlSetData($Label,$LabelArray[$n])
[Vorschau] Mac-10 12/06/2010 - WarRock - 23 Replies Ich hab mal paar Screenshots & Vergleiche zwischen der Famas & Mac-10 gemacht, und bin drauf gekommen das die Waffen fast gleich sind, wobei ich die Mac-10 besser finde :D
Hier erstmal paar Screens :
Normale Sicht
http://img189.imageshack.us/img189/756/screenshot 001yvj.jpg
Normale Sicht
http://img9.imageshack.us/img9/5219/screenshot010 p.jpg
Normale Sicht
http://img19.imageshack.us/img19/447/screenshot00 3kt.jpg
[Bilder] Neue Rose Desktop Bilder!!! HOT 08/07/2010 - CrossFire - 22 Replies Hallo! ich wär grade wieder mal China CF besuchen und habe da was schönes gefunden !!
http://www4.pic-upload.de/06.08.10/jr5x7r1q28a.jp g
http://www4.pic-upload.de/06.08.10/3mmqxfpaevti.j pg
http://up.anhso.net/upload/20100604/05/o/anhso-27 _1.jpg"]http://up.anhso.net/upload/20100604/0 5/o/anhso-27_1.jpg
http://up.anhso.net/upload/20100604/05/o/anhso-32 _3.jpg
WoW: T10 Vorschau 11/26/2009 - Gaming News - DE - 11 Replies Eine offizielle Vorschau auf mehr Teile der T10 Rüstungen sind jetzt verfügbar. Bis jetzt sieht alles gut aus. Wir werden sehen wie sie im Spiel umgesetzt werden sobald 3.3 erhältlich ist. T10 Preview hat eine Menge der neuen T10 Rüstungen. Schaut sie euch an.
(via tentonhammer, thx!)