Les dir mal in der Hilfe den Rückgabewert von GUICtrlCreateInput durch.
[autoit]GUICtrlRead
[/autoit]Les dir mal in der Hilfe den Rückgabewert von GUICtrlCreateInput durch.
[autoit]GUICtrlRead
[/autoit]MsgBox(4096,"Das ist der Titel",$CMDLINE[$CMDLINE[0]])
[/autoit]$CMDLINE
[/autoit]Was? Natürlich kannst du einen Pfad angeben bei FileRead, du MUSST es sogar...
Füge dem Input mal zusätzlich zu dem Stil $ES_NUMBER $ES_AUTOHSCROLL oder $ES_LEFT hinzu.
BadBunny: du arbeitest wohl nach dem Motto "Warum einfach, wenn es auch kompliziert geht?"...
GUICreate ("MsgBox Link", 200, 100)
GUICtrlCreateLabel ("Link: ", 5, 5)
$Link=GUICtrlCreateLabel ("www.autoit.de", 5, 30, 100)
GUICtrlSetColor (-1, 0x0000ff)
GUISetState()
While true
Switch GUIGetMsg()
Case -3
Exit
Case $Link
ShellExecute ( "autoit.de")
EndSwitch
WEnd
Mit $CMDLINE (Sicherheitslücke ist nur, dass man dann auch ohne Launcher starten kann, wenn man den richtigen Param angibt):
Launcher:
Run("Programm.exe startByLauncher")
[/autoit]
Programm:
If $CMDLINE[0]=0 Then Exit
If $CMDLINE[1]<>"startByLauncher" Then Exit
#include <Misc.au3>
$hGUI = GUICreate("MouseOverSetImage Beispiel", 514, 153, 192, 124)
$picControl = GUICtrlCreateIcon("icon01.ico", 0, 0, 257, 153)
GUISetState()
$pic1 = @ScriptDir & "\icon01.ico"
$pic2 = @ScriptDir & "\icon02.ico"
$pic3 = @ScriptDir & "\icon03.ico"
While 1
Switch GUIGetMsg()
Case -3
Exit
EndSwitch
mouseOverSetImage($picControl, $pic1, $pic2, $pic3)
WEnd
Func mouseOverSetImage($ctrlID, $pic1, $pic2, $pic3)
Local Static $hover=0
$mPos=GUIGetCursorInfo()
If IsArray($mPos) Then
If $mPos[4]=$ctrlID And $hover<>1 And Not _IsPressed(01) Then
GUICtrlSetImage($ctrlID, $pic2)
$hover=1
ElseIf $mPos[4]<>$ctrlID And $hover<>0 Then
GUICtrlSetImage($ctrlID, $pic1)
$hover=0
ElseIf $mPos[4]=$ctrlID And $hover=1 And _IsPressed(01) Then
GUICtrlSetImage($ctrlID, $pic3)
$hover=2
EndIf
EndIf
EndFunc
#include <Misc.au3>
$hGUI = GUICreate("MouseOverSetImage Beispiel", 514, 153, 192, 124)
$pic1 = GUICtrlCreatePic("p1.jpg", 0, 0, 257, 153)
GUISetState()
While 1
Switch GUIGetMsg()
Case -3
Exit
EndSwitch
mouseOverSetImage($pic1, "p1.jpg", "p2.jpg", "p3.jpg")
WEnd
Func mouseOverSetImage($ctrlID, $pic1, $pic2, $pic3)
Local Static $hover=0
$mPos=GUIGetCursorInfo()
If IsArray($mPos) Then
If $mPos[4]=$ctrlID And $hover<>1 And Not _IsPressed(01) Then
GUICtrlSetImage($ctrlID, $pic2)
$hover=1
ElseIf $mPos[4]<>$ctrlID And $hover<>0 Then
GUICtrlSetImage($ctrlID, $pic1)
$hover=0
ElseIf $mPos[4]=$ctrlID And $hover=1 And _IsPressed(01) Then
GUICtrlSetImage($ctrlID, $pic3)
$hover=2
EndIf
EndIf
EndFunc
Wie wäre es mit ausprobieren?
p1.jpg, p2.jpg sind nicht im Script
Parameter 1: Control ID
Parameter 2: Bild, welches angezeigt wird, wenn die Maus nicht über dem Bild ist
Parameter 3: Bild, welches beim Hover angezeigt wird
Du deklarierst die Variable $hover aber nutzt sie nicht? Du merkst doch hoffentlich, dass das nicht gerade sinnvoll ist...
Edit: Sry, hab nich gesehen, dass du die Variable doch nutzt. Aber einmal benutzt du die Variable nicht ![]()
Edit2: Hier mal ein kleines Beispiel:
$hGUI = GUICreate("MouseOverSetImage Beispiel", 514, 153, 192, 124)
$pic1 = GUICtrlCreatePic("p1.jpg", 0, 0, 257, 153)
GUISetState()
While True
Switch GUIGetMsg()
Case -3
Exit
EndSwitch
mouseOverSetImage($pic1, "p1.jpg", "p2.jpg")
WEnd
Func mouseOverSetImage($ctrlID, $pic1, $pic2)
Local Static $hover=false
$mPos=GUIGetCursorInfo()
If IsArray($mPos) Then
If $mPos[4]=$ctrlID And $hover=false Then
GUICtrlSetImage($ctrlID, $pic2)
$hover=True
ElseIf $mPos[4]<>$ctrlID And $hover Then
GUICtrlSetImage($ctrlID, $pic1)
$hover=False
EndIf
EndIf
EndFunc
_GUICtrlStatusBar_Create
[/autoit]Nein, die Stringfunktionen sind auch im Namespace std.
Du musst erst wieder alles übermalen mit _GDIPlus_GraphicsClear
Habs mir jetzt nicht komplett angeguckt, aber da fehlt _GDIPlus_Startup() und _GDIPlus_Shutdown()
Doch mit GUICtrlCreatePic kann man Png's nutzen
Guck dir mal Großvaters UDF an.
Nein man hat dann nicht verloren, man kann ewig weiterspielen.
- Der Pfad zu den Bildern passt nicht
- Die Bilder haben keine Transparenz
- Man kann Schulden haben, der Gegner jedoch nicht
- Die KI ist ziemlich unrealistisch, bei mir kauft der Gegner alles
- Wenn man über Los kommt, gibt es normalerweise Geld
- Auf den Ereignisfeldern geschieht nichts
Ansonsten ganz ok.
Doch es hat was damit zu tun ![]()
Wenn man mit cin Leerzeichen einliest, dann wird das Leerzeichen als \0 und somit als Stringende benutzt. Wie man das umgehen kann weiß ich leider nicht.
Ist in dem Namen vllt. ein Leerzeichen?