Genau - Assembler wollte ich mir sowieso nochmal angucken Danke für die Erinnerung
Beiträge von ProgrammingDonkey
-
-
Du musst dir mal C++ anschauen Da habe ich das gleiche mit 3 Sekunden geschafft
EDIT: Wenn ich gerade nichts übersehe, dann kannste das #include <Array.au3> oben weglassen -
So mittlerweile habe ich auch das Ctrl+A für die Listen umgesetzt, und den Resizable-Modus wieder entfernt, da dieser ziemlich hässlich wurde, und ich alle Funktionen wie EQ und Datei Auswahl dafür hätte entfernen müssen (bei kleiner Größe). Ich plane nun, einen Passwort-Schutz einzubauen wie @turbobaby es vorgeschlagen hatte, und ich werde wahrscheinlich einbauen, dass man die Datei-Auswahl links ausblenden kann.
-
Dann müsstest du nur noch das Label oben auf "gelöst" setzen
-
-
Liegt nicht an mir. Die BASS DLL läuft nur unter 32bit. Auch der Player von Kanashius? Also mit Autoit.exe öffnen, nicht als 64!
-
Jetzt funzt es danke:
O.O Ich hatte keine Ahnung, dass das alles mit GDI+ möglich ist! -
4ern hatte schon einige Beispiele geliefert, wie man die Scripte sauber "kommunizieren" lassen kann. Es gibt noch eine Variante, die ich allerdings als Quick&Dirty ansehe, obwohl sie funktionieren sollte. Gucke dir dazu mal ControlGetHandle(), ControlSetText(), ControlClick() usw. an.
-
-
Die neue Version beinhaltet eine resizable Version, und erste Ansätze zum Verstellen der Farben (nur Ansätze - noch kein Verstellen möglich)
-
Zitat
Bewegte Schrift. Also: Wenn die Label zu klein werden, wird der Text, der zu lang ist bewegt. Außerdem könntest du eine mindestgröße festlegen, sodass das Fenster nicht kleiner als diese Größe wird. Dadurch kann man sowas auch sehr gut Regeln. Ab einer bestimmten Größe macht so ein Player ja auch keinen Sinn mehr. Ansonsten könnte man auch ab einer bestimmten Größe Einige Dinge ausblenden, die nicht unbedingt nötig sind.
Außer dem Ausblenden hatte ich die Ideen auch
Weißt du, wie man ohne ständige abfrage mit WinGetPos() und Beheben mit WinMove() ein Fenster in der Größe begrenzt?
Schrift verkleinert habe ich automatisiert.
Und den EQ lasse ich wahrscheinlich verschwinden, wenn das Fenster zu klein wirdEDIT: Lösung Für Resize-Limit: http://www.autoitscript.com/forum/topic/43…186#entry328186
-
Da ich nicht ganz verstehe, was du meinst, bitte ich dich, deinen vollständigen SourceCode zu posten. Und schreibe um AutoIt-Code in Zukunft bitte kein "Code" und "/Code" in die Klammern, sondern "AutoIt" und "/AutoIt"; Somit kommt dann Syntax-Highlighting dazu.
-
Bei mir kommt in Zeile 113 der UDF durch ausführen des Examples ein Fehler:
[autoit]"\\MyName-PC\Users\Public\Programming\_SplashTextEx.au3"(113,86) : warning: $GDIP_TextRenderingHintAntialiasGridFit: possibly used before declaration.
[/autoit]
Somit funktioniert das ganze bei mir nicht. Muss man außer der UDF noch etwas herunterladen? -
So - Resize hätte ich schon; Das einzige Problem ist: Da es viele Buttons und Labels etc. auf dem Fenster gibt, wird es ziemlich eng, wenn man das ganze verkleinert. Was schlagt ihr vor?
Ich habe eine Funktion entworfen, die immer die Schriftgröße anpasst, aber das ist vielleicht nicht die beste Lösung -
Genau das habe ich gerade gemacht und es funktioniert:
Spoiler anzeigen
[autoit]#include <GUIConstants.au3>
[/autoit] [autoit][/autoit] [autoit]
#include "C:\Users\David\Desktop\StringSize.au3"
#include <Array.au3>
Opt("GUIOnEventMode", True)$hGUI = GUICreate("Font test", 100, 75)
[/autoit] [autoit][/autoit] [autoit]
$hGUILabel = GUICtrlCreateLabel("", 0, 0, 100, 25)
GUICtrlSetFont(-1, 12)
$hGUIInput = GUICtrlCreateInput("Auto", 0, 25, 100, 25)
GUICtrlSetFont(-1, 12)
$hGUIButton = GUICtrlCreateButton("Übernehmen", 0, 50, 100, 25)
GUICtrlSetFont(-1, 12)
GUICtrlSetOnEvent(-1, "_CopyText")
GUISetOnEvent($GUI_EVENT_CLOSE, "_Exit")
GUISetState()_CopyText()
[/autoit] [autoit][/autoit] [autoit]While 1
[/autoit] [autoit][/autoit] [autoit]
sleep(500)
WEndFunc _CopyText()
[/autoit] [autoit][/autoit] [autoit]
GUICtrlSetData($hGUILabel, GUICtrlRead($hGUIInput))
SetFitFont($hGUI, $hGUILabel, "Arial")
EndFuncFunc SetFitFont($hGUI, $hHandle, $sFontName, $iAttrib = 0, $iWeight = 400)
[/autoit] [autoit][/autoit] [autoit]
for $iSize = 100 to 0 step -0.5
$StringSize = _StringSize(GUICtrlRead($hHandle), $iSize, $iWeight, $iAttrib)
If $StringSize[2] <= ControlGetPos($hGUI, "", $hHandle)[2] and $StringSize[3] <= ControlGetPos($hGUI, "", $hHandle)[3] Then
GUICtrlSetFont($hHandle, $iSize, $iWeight, $iAttrib, $sFontName)
Return True
EndIf
Next
Return -1
EndFuncFunc _Exit()
[/autoit]
Exit
EndFuncUnd nochmal die Funktion selber:
[autoit]Func SetFitFont($hGUI, $hHandle, $sFontName, $iAttrib = 0, $iWeight = 400)
[/autoit]
for $iSize = 100 to 0 step -0.5
$StringSize = _StringSize(GUICtrlRead($hHandle), $iSize, $iWeight, $iAttrib)
If $StringSize[2] <= ControlGetPos($hGUI, "", $hHandle)[2] and $StringSize[3] <= ControlGetPos($hGUI, "", $hHandle)[3] Then
GUICtrlSetFont($hHandle, $iSize, $iWeight, $iAttrib, $sFontName)
Return True
EndIf
Next
Return -1
EndFunc -
Ich gucke mir den SourceCode mal an, und gucke, ob ich dort etwas verwertbares herauskriege
-
@water, Nein, das tut sie leider nicht; Sie setzt die größe des Fensters / Labels, damit die Schrift hineinpasst.
-
-
Danke
Ich werde es mal testen -
Danke.
Die Antwort habe ich dann hier gefunden