Habe das ganze jetzt auch verwendet, Danke zwar an UEZ, das hier is aber für mich besser, wenns auch dementsprechend länger zum Erstellen des Gui braucht, auf den ersten Blick bewirkt hier GUICtrlSetData() nur leider nichts, benötige ich aber auch nur einmal... Danke ![]()
Beiträge von AndyTR
-
-
Ich war der, der da nach einer Lösung gesucht hatte, das sieht echt toll aus, funkey

Beachte, dass das GUI bei X=2000 beginnt

-
Also UEZ, Du hast Dir echt viel Mühe gegeben damit, war sicherlich kein Leichtes, vielen Dank für Deine Hilfe

Sieht wirklich gut aus, wenn auch durch GDI für mich leider zu schwierig, aber werds super verwenden können, Dankeschön.Grüße, Andy

-
Dein Code, UEZ, hilft mir leider auch nicht weiter, außerdem wird beim mini-und maximieren der Hintergrund gestaucht, aber das lässt sich auch nicht auf mehrere tabs anwenden, schade
-
Also hier mal ein angepasstes Beispielscript:
Spoiler anzeigen
[autoit]#include <Constants.au3>
[/autoit] [autoit][/autoit] [autoit]
#include <GUIConstantsEx.au3>
#include <WindowsConstants.au3>HotKeySet("{ESC}", "_Exit")
[/autoit] [autoit][/autoit] [autoit]
Opt("GUIOnEventMode", 1)Global $Episoden[9] = [25, 25, 24, 25, 25, 24, 22, 23, 14]
[/autoit] [autoit][/autoit] [autoit]
Gui()While 1
[/autoit] [autoit][/autoit] [autoit]
Sleep(100)
WEndFunc Gui()
[/autoit] [autoit][/autoit] [autoit]
$Breite = 462
$Hoehe = 266
$GUI = GUICreate("", $Breite, $Hoehe)
GUISetOnEvent($GUI_EVENT_CLOSE, "_Exit")
;GUICtrlCreatePic(@ScriptDir & "/test.jpg", 2, 22, 458, 242)
GUICtrlCreateLabel("", 2, 22, 458, 242) ; anstatt GUICtrlCreatePic
GUICtrlSetBkColor(-1, 0xABCDEF) ; anstatt GUICtrlCreatePic
GUICtrlSetState(-1, $GUI_DISABLE)
GUICtrlCreateTab(1, 1, $Breite, $Hoehe - 1)
For $i = 1 To 9
GUICtrlCreateTabItem("Staffel " & $i)
For $j = 1 To $Episoden[$i - 1]
$X_Koord = 10
$Y_Koord = $j * 18 + 10
If $j > 13 Then
$X_Koord = 240
$Y_Koord = ($j - 13) * 18 + 10
EndIf
$Laenge = Random(10, 50, 1)
$String = "["
For $k = 1 To $Laenge
$String &= "."
Next
$String &= "]"
GUICtrlCreateLabel($j & ". " & $String, $X_Koord, $Y_Koord, -1, 14)
GUICtrlSetCursor(-1, 0)
GUICtrlSetBkColor(-1, 0xFFFFFF) ; hier muss etwas passieren
Next
Next
GUISetState(@SW_SHOW)
EndFuncFunc _Exit()
[/autoit]
Exit
EndFunc
Gruß
-
Auf jeden Fall eine nützliche Funktion, hilft mir aber leider nicht weiter, da es sich bei mir um Labels in verschiedenen Tabs handelt und dort überzeichnen sie sich gegenseitig...

-
Hallo miteinander,
ich stehe nun vor folgendem Problem:
In einem GUI habe ich ein Bild als GUI-Background. Darauf werden Labels plaziert. Diese Labels sind aber teilweise schlecht zu erkennen, da kein Kontrast zwischen entsprechendem GUI-Hintergrund und Label-Farbe besteht. Nun kann ich den Labels ja eine Backgroundfarbe für eine gute Lesbarkeit zuweisen, was aber bei 100% Hintergrund unschön ausschaut.
Daher möchte ich - wenn möglich - den Hintergrund der Labels teiltransparent anzeigen, sodass z.B. 50 % weißer Hintergrund hinterm Label ist und 50% der GUI-Background-Bildes zu sehen ist...Ich hoffe jemand kann mir dabei einen Denkanstoß geben, Grüße Andy

Edit:
[Blockierte Grafik: http://img32.imageshack.us/img32/441/bsplh.jpg] -
Also schnell fällt mir dazu ein, dass du eine For-Schleife bis StringLen() nutzt, außerdem _StringInsert() mit $i * 4 + ($i -1) oder so in der Art, Gruß

Edit:
Spoiler anzeigen
[autoit]#include <String.au3>
[/autoit]
$text = "ABCDABCDABCDABCDABCDA"
$i = 0
$j = 4
While StringLen($Text) > $j
$i += 1
$j = $i * 4 + ($i - 1)
$text = _StringInsert($text, "|", $j)
WEnd
MsgBox(0, "", $text) -
Vllt hilft dir das hier ja, um etwas besser mit Autoit umgehen zu könne, learning by doing...
-
Hey, es ist nicht sonderlich schön gemacht und kann theoretisch eine Dauerschleife verursachen, funktioniert aber einwandtfrei und ist einfach. Jedes Zeichen kommt nur einmal vor:
Spoiler anzeigen
[autoit]#include <Array.au3>
[/autoit]
Dim $array[8][2]
For $i = 0 To 7
$array[$i][0] = Random(0, 1)
While 1 ; While-Schleife
$vorhanden = 0 ; Prüf-Variable wird initialisiert
If $i <= 1 Then $array[$i][1] = Chr(Random(65, 90, 1))
If $i >= 2 Then $array[$i][1] = Random(0, 9, 1)
For $j = 0 To $i - 1 ; Schleife überprüft bisher generierte Zeichen
If $array[$i][1] = $array[$j][1] Then ; sollte generiertes Zeichen vorhanden sein, wird anschließend neu generiert
$vorhanden = 1
ExitLoop
EndIf
Next
If $vorhanden = 0 Then ExitLoop ; wenn generiertes Zeichen bisher nicht vorhanden, wird While-Schleife beendet
WEnd
Next
_ArraySort($array)
$string = ""
For $i = 0 To 7
$string &= $array[$i][1]
Next
MsgBox(0, "Generierter String", $string)
Andy
-
Tralala...
Spoiler anzeigen
[autoit]#include <Array.au3>
[/autoit]
Dim $array[8][2]
For $i = 0 To 7
$array[$i][0] = Random(0, 1)
If $i <= 1 Then $array[$i][1] = Chr(Random(65, 90, 1))
If $i >= 2 Then $array[$i][1] = Random(0, 9, 1)
Next
_ArraySort($array)
$string = ""
For $i = 0 To 7
$string &= $array[$i][1]
Next
MsgBox(0, "Generierter String", $string)
Gruß Andy
-
Solch fremde .exe-Datei führe ich ungern aus, schätze mal, dass es irgendein Radio-Programm oder so etwas in der Art ist, kannst ja vllt einen Screenshot posten...
Wenn ich deine Überschrift recht verstehe, brauchst du ein GUI und nen Internetstream.
GUI is nich allzu schwer, wirst du bestimmt auch hinbekommen, Internetstream geht beispielsweise mit der Bass.dll, kann ich bei näheren Fragen ja dann noch genauer erläutern.Gruß
-
Dann funktioniert das so (mit BugFix' Funktion
[autoit]
_GetFilesFolder_Rekursiv(Pfad)
[/autoit] -
Sry für den Doppelpost, aber jetzt mal zum Verständnis:
Du überprüfst einen Ordner (in diesem Fall "Test"), der folgende Dateien, Ordner, Unterordner und Unterdateien enthält:
Spoiler anzeigen
X:\...\Test\Datei1.x
X:\...\Test\Datei2.x
X:\...\Test\Ordner1\
X:\...\Test\Ordner2\Datei1.x
X:\...\Test\Ordner2\Datei2.x
X:\...\Test\Ordner2\Ordner3\
X:\...\Test\Ordner2\Ordner4\Datei1.x
X:\...\Test\Ordner2\Ordner4\Datei2.x
X:\...\Test\Ordner2\Ordner4\Ordner5
Was soll im Endeffekt alles im Array stehen? -
Hier sollte mit Sicherheit was drin sein.
_GetFilesFolder_Rekursiv.au3 tuts bestimmt auch -
-
Ja

Ich meinte eigentlich nichmal Dich Aspirin, sondern den dodo-dk, aber das macht ja nichts

Ein Leidensgenosse, und das Format schaut halt recht nach Höhenmetern oder etwas in der Art aus, aber wofür dann ": 2"...Gruß
-
Vermessungstechniker, Geodät oder soetwas in der Art?

-
Mit GuiCtrlGetState(handle) dürfte das gehen
-
Wie wärs denn hiermit?

Spoiler anzeigen
[autoit]#include <File.au3>
[/autoit]
#include <Array.au3>
Global $filereadtoarray
_FileReadToArray(@scriptdir & "/Straßen.txt", $filereadtoarray)
Global $array[$filereadtoarray[0]][3]
For $i = 1 To $filereadtoarray[0]
$array[$i - 1][0] = $filereadtoarray[$i]
$stringlen = StringLen($filereadtoarray[$i])
For $j = 1 To $stringlen
If StringIsInt(StringMid($filereadtoarray[$i], $j, 1)) = 1 Then
$array[$i - 1][1] = StringStripWS(StringLeft($filereadtoarray[$i], $j - 1), 2)
$array[$i - 1][2] = StringMid($filereadtoarray[$i], $j)
ExitLoop
Else
$array[$i - 1][1] = $filereadtoarray[$i]
EndIf
Next
Next
_ArrayDisplay($array)