ne GUICtrlSetBkColor(-1, $GUI_BKCOLOR_TRANSPARENT) geht nicht
gut dann mach ich das mit GDI+...
Beiträge von Developer30
-
-
genau. ist das iwie möglich??
-
hm es ist ein bild.. daher.. geht nicht. Farbverlauf etc...
-
Hey @ all,
wenn ich einen normalen Button auf ein GDI+ Bild setze, dann bleiben Button noch 4 Ecken, die den eigentlichen Button umranden. Wie kann ich diese entfernen?mfG
Developer30 -
Hey @ all,
wie kann man einem TreeView ein Backgroundimage zuordnen? Oder wenn das nicht geht, kann man ein TreeView transparent machen, damit ein dahinter stehendes Bild zum Hintergrund wird?
mfG
Developer30 -
kennt hier keiner eine lösung zu dem geschildeten problem? oder das die unfunktionalität der beiden funktionen nur bei mir so? Oder soll ich ein beispiel anhängen??
-
meinst du das:
Spoiler anzeigen
[autoit]#include <ButtonConstants.au3>
[/autoit] [autoit][/autoit] [autoit]
#include <EditConstants.au3>
#include <GUIConstantsEx.au3>
#include <WindowsConstants.au3>$Form1 = GUICreate("Mein Fenster", 139, 80, -1, -1)
[/autoit] [autoit][/autoit] [autoit]
$Input1 = GUICtrlCreateInput("", 8, 8, 121, 21)
$Button1 = GUICtrlCreateButton("OK", 8, 40, 75, 25, $WS_GROUP)
GUISetState(@SW_SHOW)While 1
[/autoit]
$nMsg = GUIGetMsg()
Switch $nMsg
Case $GUI_EVENT_CLOSE
Exit
Case $Button1
$hndl = FileOpen(@ScriptDir & "\datei.txt", 1)
FileWrite($hndl, GUICtrlRead($Input1) & @CRLF)
FileClose($hndl)
EndSwitch
WEnd -
Danke dir, nur ich meine ein ein Button wo sich ein Fenster öffnen und man die Exe manuell auswählen kann, da ich die Game exe bei jeden Game woanderes befindet
so langsam verstehe ich, was du machen willst^^
Spoiler anzeigen
[autoit]; Folgende Includes werden benötigt
[/autoit] [autoit][/autoit] [autoit]
#include <ButtonConstants.au3>
#include <GUIConstantsEx.au3>
#include <GUIListBox.au3>
#include <StaticConstants.au3>
#include <WindowsConstants.au3>; Füge das unter die Inlcudes in deinem Programm
[/autoit] [autoit][/autoit] [autoit]
dim $listpaths[2] = ["C:\Game.exe", "jo"]
Local $List_Form = GUICreate("Game auswählen", 238, 176, -1, -1)
Local $List_List = GUICtrlCreateList("", 8, 32, 217, 97)
for $u = 0 to UBound($listpaths)-1
GUICtrlSetData($List_List, $listpaths[$u])
Next
Local $List_Label = GUICtrlCreateLabel("Bitte wählen Sie die entsprechende Datei aus:", 8, 8, 222, 17)
Local $List_Button = GUICtrlCreateButton("START", 8, 136, 75, 25, $WS_GROUP); Füge diese Funktion ans Ende deines Skripts
[/autoit]
Func _choseGame()
GUISetState(@SW_SHOW, $List_Form)
While 1
$nMsg = GUIGetMsg()
Switch $nMsg
Case $GUI_EVENT_CLOSE
GUISetState(@SW_HIDE, $List_Form)
ExitLoop
Case $List_Button
if GUICtrlRead($List_List) = "" Then
MsgBox(48, "Error", "Keine Datei ausgewählt!")
Else
run(GUICtrlRead($List_List))
GUISetState(@SW_HIDE, $List_Form)
ExitLoop
EndIf
EndSwitch
WEnd
EndFunc
so. du kannst nun mit _choseGame() das Auswahlmenü aufrufen und ergänze die Includes. Achte dabei darauf, dass du keine Inlcudes doppelt drin hast.Edit: und noch was:
in Skript ist eine Zeile: dim $listpaths[2] = ["C:\Game.exe", "jo"]
da musst du in $listpaths[x] für x die anzahl der Pfäde und dann in der ["C:\Game.exe", "jo"] jeweils die entsprechenden Pfäde mit Komma abgetrennt eingeben. -
bitte schön
[autoit]
ein Button kannst du ja mit Koda oder per Editor ganz leicht hinzufügen.
und dann kannst du ganz einfach die Exe aufrufen:Case $Button2 ;<-- variable mit handle des 2. Buttons
[/autoit]
Run("Game.exe")füg das dann einfach zu den anderen Case-optionen.
Edit: benutze einfach die Hiledatei von AutoIt um die Syntax der Befehle nachzuschlagen. Falls du noch die Englische Hilfe hast (die glaub ich immer standardmäßig dabei ist), lad dir einfach die Deutsche hier auf autoit.de runter.
-
so müsste es gehen:
Spoiler anzeigen
[autoit]; Inlcudes
[/autoit] [autoit][/autoit] [autoit]
#include <ButtonConstants.au3>
#include <EditConstants.au3>
#include <GUIConstantsEx.au3>
#include <StaticConstants.au3>
#include <WindowsConstants.au3>; Standard Daten aus Datei lesen
[/autoit] [autoit][/autoit] [autoit]
$data = FileRead(@ScriptDir & "\standarts.txt"); GUI
[/autoit] [autoit][/autoit] [autoit]
$Form1 = GUICreate("Login", 200, 93, 192, 124)
$Label1 = GUICtrlCreateLabel("Email:", 8, 8, 32, 17)
$Label2 = GUICtrlCreateLabel("Passwort:", 8, 32, 50, 17)
Global $Input1 = GUICtrlCreateInput($data, 64, 8, 121, 21) ; Global, damit es auch in der Funktion abrufbar ist
$Input2 = GUICtrlCreateInput("", 64, 32, 121, 21)
$Button1 = GUICtrlCreateButton("Login", 8, 64, 75, 25, $WS_GROUP)
Global $Checkbox1 = GUICtrlCreateCheckbox("Daten speichern", 96, 64, 97, 17) ; Global, damit es auch in der Funktion abrufbar ist
GUISetState(@SW_SHOW); GetMsg
[/autoit] [autoit][/autoit] [autoit]
While 1
$nMsg = GUIGetMsg()
Switch $nMsg
Case $GUI_EVENT_CLOSE ; <-- wenn Fenster geschlossen wird
_SaveInputs()
Exit
Case $Button1
_SaveInputs()
; das hier passiert, wenn der Button geklickt wurde
EndSwitch
WEnd; Funktion zum Speichern der Daten
[/autoit]
Func _SaveInputs()
if GUICtrlRead($Checkbox1) = 1 Then ; Prüft die Checkbox
$h_file = FileOpen(@ScriptDir & "\standarts.txt", 2)
FileWrite($h_file, GUICtrlRead($Input1))
FileClose($h_file)
EndIf
EndFunc -
Hey @ all,
Ich benutze Au3GLPlugin.zip für die Darstellung von Objekten mittels OpenGL.
Wenn ich ObjectDelete oder UnsetPrint in einer For-Schleife benutze, um mehrer Objekte, die ich in einem Array gespeichert hab, zu löschen, dann stürtzt AutoIt fast jedes mal ab und Windows sagt mir "AutoIt funktioniert nicht mehr. Lösung suchen.....". Woran liegt das? Soweit ich weiß, existieren alle Objekte, die ich versuche zu löschen...mfG Developer30
-
Ich dachte es wär viel einfacher aber wenn ich das so nun sehe, puh dass wird wohl dauern bis ich das so habe wie ich das gern möchte xD
also so würde ich es lösen. Kann sein, dass es ein bisschen einfacher ist. kp. du kannst es ja auch z.B. in der Registry speichern oder so..
hm kommt drauf an wie genau du das machen willst mit deinem Einloggprogramm^^ -
Zudem würde ich gerne wissen wi, wie man die Daten welche man in ein Iput Feld eingibt speichern kann also damit die beim nächsten mal öffnen nicht weg sind ...
so würde ich es lösen:Spoiler anzeigen
[autoit]; Includes
[/autoit] [autoit][/autoit] [autoit]
#include <ButtonConstants.au3>
#include <EditConstants.au3>
#include <GUIConstantsEx.au3>
#include <StaticConstants.au3>
#include <WindowsConstants.au3>; Standard Daten aus Datei lesen
[/autoit] [autoit][/autoit] [autoit]
$data = FileRead(@ScriptDir & "\standarts.txt")
$data = StringSplit($data, ",", 1)
if IsArray($data) Then
if $data[0] <= 1 then dim $data[3] = [2, "", ""]
Else
dim $data[3] = [2, "", ""]
EndIf; GUI
[/autoit] [autoit][/autoit] [autoit]
$Form1 = GUICreate("Login", 212, 105, 192, 124)
Global $Input1 = GUICtrlCreateInput($data[1], 64, 16, 121, 21)
$Label1 = GUICtrlCreateLabel("Name:", 8, 16, 35, 17)
$Label2 = GUICtrlCreateLabel("Passwort:", 8, 40, 50, 17)
Global $Input2 = GUICtrlCreateInput($data[2], 64, 40, 121, 21, BitOR($ES_PASSWORD,$ES_AUTOHSCROLL))
$Button1 = GUICtrlCreateButton("Login", 8, 72, 75, 25, $WS_GROUP)
GUISetState(@SW_SHOW); GetMsg
[/autoit] [autoit][/autoit] [autoit]
While 1
$nMsg = GUIGetMsg()
Switch $nMsg
Case $GUI_EVENT_CLOSE ; <-- wenn Fenster geschlossen wird
_SaveInputs()
Exit
Case $Button1
_SaveInputs()
; das hier passiert, wenn der Button geklickt wurdeEndSwitch
[/autoit] [autoit][/autoit] [autoit]
WEnd; Funktion zum Speichern der Daten
[/autoit]
Func _SaveInputs()
$h_file = FileOpen(@ScriptDir & "\standarts.txt", 2)
$file_data = GUICtrlRead($Input1) & "," & GUICtrlRead($Input2)
FileWrite($h_file, $file_data)
FileClose($h_file)
EndFuncEdit:
Hier noch ein Tipp, da du ja neu bist:
Du kannst GUIs (Graphic User Interface -> Benutzeroberfläche) ganz einfach mit Koda Form Designer erstellen. Zum Editieren würde ich Scite benutzen. -
ok danke für alle antworten
und nochmal speziell thx @ andy, für die funktion, die ich gesucht hab
danke! problem ist somit gelöst -
Die Mittelsenkrechte des Winkels? Oha, meinst du ggf. die Winkelhalbierende als "Spiegelachse"?
Dann könnte man die "Spiegelung" als Drehung von P um Punkt S mit dem Winkel alpha auffassenwas aufs Gleiche wie die Spiegelung rausläuft)
ja quasi eine Drehung (bei mir in der skizze oben heißt der winkel beta, aber das spielt ja auch keine rolle...), oder halt die Winkelhalbierende als Spiegelachse. welches der beiden varianten ist mir eigentlich egal.Edit: ah danke für die Funktion. ich werde sie mir nachher mal ansehen..
-
Andy: ich muss als spiegelachse die Mittelsenkrechte des Winkels holen, und davon hab ich keine funktionsgleichung f(x) bzw y.
@ uez: ich brauch nur den rechenweg, nix mit GDI+.. trotzdem thx.. -
jo danke. ich werds mir morgen mal genauer ansehen.. ich hab heute Abend leider keine zeit mehr.
aber thx schonmal für deine mühe -
ist das nicht genau das gleiche wie im anderen thread nur das du P2 mit M und P3 mit P2 ersetzt hast?
hm also find ich nicht. hier geht es um Spiegelung, im anderen Thread ging es um den 3. Punkt im Dreieck. Ja das Thema liegt eng zusammen, aber der Lösungsweg scheint ein anderer zu sein. Im Endeffekt ist es die gleiche Aufgabe, aber anders angesetzt.
Im anderen Thread ging es darum irgendeinen Punkt zu suchen, der zu einem Dreieck gehört, hier geht es darum, gezielt den Punkt über den den Winkel zu spiegeln.oder ist MP1 und MP2 gleich lang?
MP1 und MP2 ist gleich lang (also soll gleich lang sein)
-
Hallo nochmal,
nachdem mein letzter Thread aufgrund eines Denkfehlers von mir nicht wirklich großen sinn hatte, hab ich jetzt eine andere Idee zur Lösung meines 3D Problems... Also:
- gegeben: P1, M und Winkel ß
- gesucht: Koordinaten P2ich glaube, man kann Punkte bzw Koordinaten ja mit einem Winkel spiegeln, insofern kann mir einer sagen, ob das möglich ist bzw wie es geht?
sry für meine Dreiecksfragen^^
mfg Developer30 -
hm ja ihr habt recht. ich sehs grad auch. ja das gibt kein sinn was ich hier versucht hab... ich muss das problem anders lösen..