Ok!
Herzlichen Dank!
Einen schönen Tag noch!
Ok!
Herzlichen Dank!
Einen schönen Tag noch!
Erstmals: danke für die schnelle Antwort!
2.: ICh habe ein 64Bit System, speichere die dateien jedoch in Programm Files (x86) (Das wär 32Bit oder? )
Guten Tag!
Ich möchte mit FileCopy Programmdateien in den Ordner: C:\Program Files\Programmname\... kopieren.
Jedoch funktioniert das nicht.
Kann es daran liegen, dass diese Bereiche Administratorgeschützt sind? (ich selber bin als normaler Benutzer angemeldet)
Wenn ja, was kann ich machen sodass ich diese Sperre überwinden kann, wenn nein, was sind andere Ursachen und Lösungswege?
Danke im voraus!
Jefta
Jo und es klappt! Ich bin begeistert! Vielen Dank für die viele Hilfe!
Ich wünsche dir noch einen schönen Abend!
Es muss nicht zu 100% passen.
Ist es so gemeint das ich das Bild mit GDI+ zeichnen lassen und dann dadrüber ein durchsichtiges Label legen und ich dann das Lable mit GUICtrlSetOnEvent abfange?
Also so (ohne GUICtrlSetOnEvent):
$hGDI = _GDIPlus_GraphicsCreateFromHWND ($h_maingame)
_randompositionions ()
$idmoorhuhn = _GDIPlus_ImageLoadFromFile (@ScriptDir & "\moorhuhn.png")
_GDIPlus_GraphicsDrawImageRect ($hGDI, $idmoorhuhn, $randomxposition, $randomyposition, 80, 100)
$idmoorhuhn_clickon = GUICtrlCreateLabel ("", $randomxposition, $randomyposition, 80, 100)
GUICtrlSetBkColor (-1, $GUI_BKCOLOR_TRANSPARENT)
(So wird das Bild nicht angezeigt!)
Ist das in etwa so gemeint ?:
Global $sBilddatei = @ScriptDir & "\moorhuhn.png"
; Transparentes GUI erzeugen
$hGUIChild = _GUICreate_Transparent($sBilddatei)
GUISetState(@SW_SHOW, $hGUIChild)
$hGUIParent = GUICreate ("", 600, 600, 0, 0)
GUISetState (@SW_SHOW, $hGUIParent)
_WinAPI_SetParent ($hGUIChild, $hGUIParent)
Alles anzeigen
Denn wenn ich das so mache dann erscheint das Moorhuhn nicht in der Parent GUI...
Ok! Jetzt verstehe ich was gemeint ist! Ich bedanke mich für die schnelle und weiterhelfende Antwort und Informationen. Ich wünsche noch einen schönen Abend!
Ich habe das jetzt so angefangen:
Ein Objekt (in diesem Fall ein Moorhuhn) mit transparentem Hintergrund.
Der Quelltext zu dem Bild sieht so aus:
$hGraphic = _GDIPlus_GraphicsCreateFromHWND ($hGUI)
_randomposition ()
$Picure = _GDIPlus_ImageLoadFromFile (@ScriptDir & "\moorhuhn.png")
_GDIPlus_GraphicsDrawImageRect ($hGraphic, $Picture, $rxposition, $ryposition, 80, 100)
_WinAPI_SetParent ($hGraphic, $hGUI)
Ich hatte mir Tutorials zum Thema GDI+ angeguckt und die haben mir etwas näher gebracht.
Im verlinkten Script blicke ich nicht ganz durch. Und wie das mit den Rest gemeint ist verstehe ich nicht ganz was die Befehle machen.
Gibt es da eine Möglichkeit das alles schnell und knapp jedoch für totale nichtswissende zu verstehen?
Ich hoffe das raubt euch nicht die Zeit meine vielleicht auch nervigen Fragen zu beantworten...
OK. Ich werde versuchen das Script zu verstehen und die weiteren Sachen mit den _WinAPI_s ect umzusetzten. Ich melde mich nochmal wenn ich eine blöde Frage habe!
Erstmal vielen Dank alpines!
Sorry für die späte Reaktion...
Ich denke ich habe mich falsch ausgedrückt.
Ich habe eine GUI. In dieser GUI sollte jetzt zum Beispiel ein Vogel erstellt werden. Dieser Vogel ist eine *.png Datei mit transparentem Hintergrund. Ich lade dieses Bild mithilfe von GDI+ und lasse es anzeigen. Nun möchte ich diesen Vogel anklicken können sodass zB. die GUI verschwindet und das Script beendet wird.
Kann ich das mit GUICtrlSetOnEvent oder so etwas machen oder geht das überhaupt?
Das Bild soll nur klickbar sein wenn man auf nicht transparente Bereiche klickt. Notfalls kann auch das transparente klickbar sein. Ich weiß nicht was jetzt schwieriger ist.
Einen wunderschönen guten Tag an alle Profis und Spezialisten!
Ich möchte eine GUI erstellen. In dieser GUI soll ein *.png - Foto mit transparenten Hintergrund sein. Ich hatte mich da schlau gemacht und gelesen, das ich da GDI+ für brauche. In dem Script habe ich das angewendet und alles wird angezeigt.Aber ich möchte auch, das man das Bild anklicken kann. Kann man das mit GUISetOnEvent bzw. mit GUICtrlSetOnEvent machen? Wen Ja, wie? Und wenn nein, gibt es da andere Befehle die man nutzen kann?
Danke im voraus!
Jefta
OK...So leicht? Jetzt bin ich aber von mich selbst enttäuscht...
Vielen vielen Dank für die schnelle Antwort! Das hilft mir echt weiter!
Hallo Profis!
Ich habe vor ein paar Tagen mit GUISetOnEvent bzw GUICtrlSetOnEvent zu arbeiten.
In der Hilfe von AutoIt steht dass man die Funktion in Strings packen muss.
Irgentwo anders habe ich dann gesehen das mann die Strings nicht umbedingt braucht.
Jetzt zu meinen Problem:
Ich habe eine Funktion mit zwei Parametern. Ich möchte aber die Parameterangabe bei dem GUICtrlSetOnEvent einbauen, sodass die Funktion mit den Eingaben funktionert. Ich hoffe das war jetzt gut formuliert...
Opt("GUIOnEventMode", True)
$controlid = 0
HotKeySet ("{ESC}", _white)
$h1 = GUICreate("Form 1", 301, 301, 347, 212)
GUISetOnEvent (-3, _Exit)
$id1 = GUICtrlCreateGraphic(0, 0, 150, 150)
GUICtrlSetBkColor ($id1, 0xFFFFFF)
GUICtrlSetOnEvent ($id1, _change_colour)
$id2 = GUICtrlCreateGraphic(150, 0, 150, 150)
GUICtrlSetBkColor ($id2, 0xFFFFFF)
GUICtrlSetOnEvent ($id2, _change_colour)
$id3 = GUICtrlCreateGraphic(0, 150, 150, 150)
GUICtrlSetBkColor ($id3, 0xFFFFFF)
GUICtrlSetOnEvent ($id3, _change_colour)
$id4 = GUICtrlCreateGraphic(150, 150, 150, 150)
GUICtrlSetBkColor ($id4, 0xFFFFFF)
GUICtrlSetOnEvent ($id4, _change_colour)
GUISetState(@SW_SHOW)
Func _change_colour ($controlid)
GUICtrlSetBkColor ($controlid, 0x00FF00)
EndFunc
Func _white ()
GUICtrlSetBkColor ($id1, 0xFFFFFF)
GUICtrlSetBkColor ($id2, 0xFFFFFF)
GUICtrlSetBkColor ($id3, 0xFFFFFF)
GUICtrlSetBkColor ($id4, 0xFFFFFF)
EndFunc
Func _Exit ()
Exit
EndFunc
While 1
Sleep (5000)
WEnd
Alles anzeigen
Ich möchte also nach der GUICtrlSetOnEvent noch den Parameterinhalt von _change_color verändern, sodass das angeklickte Kästchen gefärbt wird.
Herzlichen Dank im voraus!
PS: Achtung! Anfängerscript !
Achsooooooo! Das ergibt Sinn!
Vielen, vielen Dank fürs Erklären!
Also quasi einfach nur $iFieldsWidthCount -1?
(Beispiel: $iFieldsWidthCount = 400 wird zu $iFieldsWidthCount = 399)
Und wieso muss das so sein?
(Schuldigung wenn es nervt... )
Guten Tag nochmal und frohes Neues !
Vielleicht kommt das ein bisschen spät, aber ich hätte da nochmal eine Frage zu dem Script.
Nähmlich diesen Teil:
local $iFieldsWidth = ($iWidth - $iFieldsWidthCount -1) / $iFieldsWidthCount, $iFieldsHeight = ($iHeight - $iFieldsHeightCount -1) / $iFieldsHeightCount
For $i = 0 To $iFieldsWidthCount -1 Step 1
For $j = 0 To $iFieldsHeightCount -1 Step 1
$cTiles[$i * $iFieldsHeightCount + $j] = GUICtrlCreateGraphic(1+$i*$iFieldsWidth+$i, 1+$j*$iFieldsHeight+$j, $iFieldsWidth, $iFieldsHeight)
GUICtrlSetBkColor(-1, 0xFFFFFF)
Next
Next
Ich verstehe nicht wieso muss da die -1 hin muss? Denn wenn ich die -1 wegholeersc heint kein bild und wenn ich sie erhöhe dann ist eine komplette Reihe weg! Ich wüsste gerne die Funktion dieser -1.
Herzlichen Dank!
Guten Tag. Ich bin neu hier und habe ein bisschen Erfahrug mit AutoIt.
Ich habe eine Frage. Ich habe mit der GUI ein Feld erstellt wo 4 kleine Felder durch ein Raster getrennt sind. Anfangs sind diese weiß. Wenn ich ein Feld mit der linken Maustaste anklicke soll es Rot werden. Wenn ich die Felder aber mit der rechten Maustaste anklicke, sollen diese wieder weiß werden. Und genau dass ist für mich die Schwierigkeit. Ich weiß nicht wie die GUI dazu bringen soll auf einen Rechtsklick zu reagieren.
Opt("GUIOnEventMode", 1)
;Variablen
$fenster = 0
$rhorizontal1 = 0
$rhorizontal2 = 0
$rhorizontal3 = 0
$rvertikal1 = 0
$rvertikal2 = 0
$rvertikal3 = 0
;Anklickbare Felder von links nach rechts, von oben nach unten
$f1 = 0
$f2 = 0
$f3 = 0
$f4 = 0
$fenster = GUICreate ("GUI 4x4", 140, 140)
GUISetBkColor (0xFFFFFF)
GUISetOnEvent(-3, "_Exit")
$rvertikal1 = GUICtrlCreateGraphic (0, 0, 1, 140)
GUICtrlSetBkColor ($rvertikal1, 0xA0A0A0)
$rvertikal2 = GUICtrlCreateGraphic (70, 0, 1, 140)
GUICtrlSetBkColor ($rvertikal2, 0xA0A0A0)
$rvertikal3 = GUICtrlCreateGraphic (140, 0, 1, 140)
GUICtrlSetBkColor ($rvertikal3, 0xA0A0A0)
$rhorizontal1 = GUICtrlCreateGraphic (0, 0, 140, 1)
GUICtrlSetBkColor ($rhorizontal1, 0xA0A0A0)
$rhorizontal2 = GUICtrlCreateGraphic (0, 70, 140, 1)
GUICtrlSetBkColor ($rhorizontal2, 0xA0A0A0)
$rhorizontal3 = GUICtrlCreateGraphic (0, 140, 140, 1)
GUICtrlSetBkColor ($rhorizontal3, 0xA0A0A0)
$f1 = GUICtrlCreateGraphic (1, 1, 69, 69)
GUICtrlSetOnEvent(-1, "ueberpruefung")
$f2 = GUICtrlCreateGraphic (71, 1, 69, 69)
GUICtrlSetOnEvent(-1, "ueberpruefung")
$f3 = GUICtrlCreateGraphic (1, 71, 69, 69)
GUICtrlSetOnEvent(-1, "ueberpruefung")
$f4 = GUICtrlCreateGraphic (71, 71, 69, 69)
GUICtrlSetOnEvent(-1, "ueberpruefung")
GUISetState (@SW_SHOW)
While 1
Sleep (10)
Wend
Func ueberpruefung ()
Select
Case @GUI_CtrlId = $f1
GUICtrlSetBkColor ($f1, 0xFF0000)
Case @GUI_CtrlId = $f2
GUICtrlSetBkColor ($f2, 0xFF0000)
Case @GUI_CtrlId = $f3
GUICtrlSetBkColor ($f3, 0xFF0000)
Case @GUI_CtrlId = $f4
GUICtrlSetBkColor ($f4, 0xFF0000)
EndSelect
EndFunc
Func _Exit ()
Exit
EndFunc
Alles anzeigen
Es wäre schön wenn man mir helfen könnte!
Vielen Dank!