Hallo CrocoJunk,
Jein, du kannst dir mit Koda nur PIC-Control's erstellen und diesem ein Bild mit einem Blitz zuweisen. Wenn du aber zuckende Blitz-Effekte in deiner Gui haben willst musst du dich mit den GDI+ Funktionen beschäftigen,
mfg (Auto)Bert
Hallo CrocoJunk,
Jein, du kannst dir mit Koda nur PIC-Control's erstellen und diesem ein Bild mit einem Blitz zuweisen. Wenn du aber zuckende Blitz-Effekte in deiner Gui haben willst musst du dich mit den GDI+ Funktionen beschäftigen,
mfg (Auto)Bert
Cool
gibt es einen Befehl der die Prozent anzeigt und bei blablabla prozent den und den Text schreibt?*edit* ich wollte nämlich EINEN button machen der sich einmal von Installieren zu Fertig ändert und EIN Textfeld was pro prozent seinen Text ändert
schau dir das Beispiel zu
[autoit]GuiCtrlCreateProgress
[/autoit]in der Hilfe an, ganz besonders auch die Verwendung von
[autoit]GuiCtrlSetData
[/autoit]mfg (Auto)Bert
Hallo Aldi,
zu Icons schaust du dir am besten das Beispiel zu
[autoit]guictrlsetimage
[/autoit]in der Hilfe an (einfach auf den blauen Text klicken),
mfg (Auto)Bert
Hallo MrB,
dann teste einmal dies:
#include <GUIConstantsEx.au3>
#include <WindowsConstants.au3>
#include <GDIPlus.au3>
#include <WinAPI.au3>
Global $hGUI, $hImage, $hGraphic, $path = @ScriptDir & "\ball.png"
[/autoit] [autoit][/autoit] [autoit]$x = x()
$y = y()
$hGUI = GUICreate("fk", $x, $y, (@DesktopWidth / 2) - 132, (@DesktopHeight / 2) - 132, $WS_POPUP, $WS_EX_TRANSPARENT)
WinSetTrans($hGUI,"",170)
_GDIPlus_Startup()
$hImage = _GDIPlus_ImageLoadFromFile($path)
$hGraphic = _GDIPlus_GraphicsCreateFromHWND($hGUI)
GUIRegisterMsg($WM_PAINT, "MY_WM_PAINT")
[/autoit] [autoit][/autoit] [autoit]GUISetState(@SW_SHOW)
[/autoit] [autoit][/autoit] [autoit]While 1
[/autoit] [autoit][/autoit] [autoit]HotKeySet("^!x", "MeinExit")
[/autoit] [autoit][/autoit] [autoit]$msg2 = GUIGetMsg()
[/autoit] [autoit][/autoit] [autoit]Select
Case $msg2 = $gui_event_close
Exit
EndSelect
WEnd
; Ressourcen aufräumen
_GDIPlus_GraphicsDispose($hGraphic)
_GDIPlus_ImageDispose($hImage)
_GDIPlus_Shutdown()
; PNG Bild zeichnen
Func MY_WM_PAINT($hWnd, $msg, $wParam, $lParam)
_WinAPI_RedrawWindow($hGUI, 0, 0, $RDW_UPDATENOW)
_GDIPlus_GraphicsDrawImage($hGraphic, $hImage, 0, 0)
_WinAPI_RedrawWindow($hGUI, 0, 0, $RDW_VALIDATE)
Return $GUI_RUNDEFMSG
EndFunc ;==>MY_WM_PAINT
Func x()
_GDIPlus_Startup()
$hImage = _GDIPlus_ImageLoadFromFile($path)
$x = _GDIPlus_ImageGetWidth($hImage)
_GDIPlus_ImageDispose($hImage)
_GDIPlus_Shutdown()
Return $x
EndFunc ;==>x
Func y()
_GDIPlus_Startup()
$hImage = _GDIPlus_ImageLoadFromFile($path)
$y = _GDIPlus_ImageGetHeight($hImage)
_GDIPlus_ImageDispose($hImage)
_GDIPlus_Shutdown()
Return $y
EndFunc ;==>y
Func MeinExit()
Exit
EndFunc
Ergebnis:
mfg (Auto)Bert
Hallo
Alles anzeigenHallo Leute ich würde gerne einmal wissen , wie ich
...
Andere Daten (Inhalt von Textdokumenten)
...
auslesen bzw benutzen kann
...
auserdem würde ich gerne wissen , ob es möglich ist diese Txt Datei in der Dll zu bearbeitenThx Im Vorraus
zu Textdateien schaust du dir am besten FileOpen, FileRead, FileReadLine, FileWrite, FileWriteLine und FileClose in der Hilfe an,
mfg (Auto)Bert
Hallo
schau dir auch einmal
[autoit]ControlCommand
[/autoit]an,
mfg (Auto)Bert
dann lies mal die Forenregeln
ZitatFolgende Inhalte sind nicht erwünscht oder gar komplett verboten. Das Team behält es sich ausdrücklich vor, die Umsetzung der Regeln je nach Schweregrad zu verwarnen, zu löschen oder gar komplett zu sperren.
- Bots für Spiele jeglicher Art, insbesondere Onlinespiele und ganz besonders Silkroad Online sowie World of Warcraft
mfg (Auto)Bert
Hallo,
ich möchte mir ein Überwachungstool schreiben, welches erst einmal eine Nachricht ausgibt, nachdem die Maus bewegt wird(Später schickt es über einen SMS Anbieter auch eine SMS an mich).
Du weisst doch ob du an deinem Rechner bist oder nicht, warum brauchst du da noch eine Nachricht oder SMS.
mfg (Auto)Bert
Hallo fluch27,
herzlich willkommen im Forum und viel Spass auf AutoIt.de.
Zitat von fluch27kann mir einer sagen wie man (die maus dazu bringt automatisch sich zum text bewegen)
z.b (igend wo steht (Hallo)). Und die maus bewegt sich automatisch zum diesem text (Hallo).
Fage:
Ist das überhaubt möglich? sowas mit autoit zu programieren?
sollte möglich sein, in welcher Anwendung, welches Control wird den der Text angezeigt. Aber als Anfänger solltest du dich mit etwas leichterem beschäftigen, z.B. mit Allgemeines zu AutoIt und danach mit den Tutorials in der Hilfe . Wenn du diese durchgearbeitet hast kannst du noch die Sprachreferenz und die Guireferenz durchlesen,
PS.: für was braucht man sowas den?
mfg (Auto)Bert
Hallo Black_Skorbi,
da hast du wohl falsche Parameter(reihenfolge)
[autoit]$hGUI = GUICreate("Patchvorgang", 179, 16, -1, -1, -$WS_Popup, BitOr($WS_EX_TOOLWINDOW, $WS_EX_TOPMOST))
[/autoit]mfg (Auto)Bert
Hallo button421,
diese Änderungen solltest du einbauen:
[autoit]Func _deactivateslider() ;Die Funktion für das deaktivieren des Sliders
;$Slider1 = GUICtrlCreateSlider(56, 80, 113, 25) ;Er erstellt einen Slider warum du hast doch schon einen?? der Originale wird sonst nie deaktiviert
GUICtrlSetLimit($Slider1, 10, 0) ;Er sagt dem Slider das er von 0-10 geht.
GUICtrlSetState($Slider1, $GUI_DISABLE) ;Legt fest, das er aktiviert ist.
MsgBox(64,"Deaktiviert!","Slider ist deaktiviert!") ;Zeigt mir, das er deaktiviert ist.
EndFunc
Func _send() ;Die Funktion von Schreibe etwas in den Editor rein
Run("NOTEPAD.exe") ;Er fürt den Editor aus
WinWaitActive("Unbenannt - Editor") ;Er wartet bis er Aktiv ist (ist er nach dem Starten)
Send("Der Befehl Send schreibt etwas hinein" & @CR & "was man selber gar nicht hinein geschrieben hat.") ;Er schreibt das hinein
WinWaitNotActive ("Unbenannt - Editor") ;Er wartet bis es nicht mehr existiert
;MsgBox(64,"Guter Trick!","Mit dem Befehl kannst du jemanden reinlegen!") ;... zeigt er mir eine Meldung.
EndFunc ;Beendet die Func
WinWaitClose hat bei mir das ganze Programm gestört, alle Buttons etc. haben nicht mehr reagiert.
Zitatwisst ihr eigentlich, ob es in AutoIT einen Jump to Function Befehl gibt?
nein,
mfg (Auto)Bert
Hallo blacky,
schau dir dieses Skript an:
#include <GUIConstants.au3>
#Include <GuiListBox.au3>
#include <ListboxConstants.au3>
#include <File.au3>
Global $szDrive,$szDir,$szFName,$szExt
[/autoit] [autoit][/autoit] [autoit]$hGUI = GUICreate("Flaggen", 300, 100)
$hListe = GUICtrlCreateList("", 10, 10, 180, 80,$LBS_NOTIFY)
$hNeu = GUICtrlCreateButton("...",200,10,30,25)
$hVorschau = GUICtrlCreatePic(@ScriptDir & "\Flaggen\NA.jpg", 210, 40, 36, 24)
GUISetState()
While 1
$nMsg = GUIGetMsg()
Switch $nMsg
Case $GUI_EVENT_CLOSE
Exit
case $hNeu
$sAlt = GUICtrlRead($hListe)
$sPlus = FileOpenDialog("Land auswählen:",@ScriptDir & "\Flaggen","Bilder (*.jpg)",3,"",$hGUI)
_PathSplit($sPlus,$szDrive,$szDir,$szFName,$szExt)
ConsoleWrite($szFName & @CRLF)
_GUICtrlListBox_InsertString($hListe,$szFName,0)
Case $hListe
GUICtrlSetImage($hVorschau, @ScriptDir & "\Flaggen\" & GUICtrlRead($hListe) & ".jpg")
EndSwitch
WEnd
du benötigst dazu noch
mfg (Auto)Bert
Zitat von NoNameMusste aber noch eine Kleinigkeit ändern.
Kannst du das bitte noch posten,
mfg (Auto)Bert
Hallo NoName,
ich habe die func aus textmeter etwas abgeändert eingebaut (sollte passen):
#include <GDIPlus.au3>
#include <array.au3>
$hGUI = GUICreate("Progress", 200, 30)
$hGUIProgress = GUICtrlCreatePic("", 10, 10, 180, 17)
GUISetState()
Sleep(1000)
_GDIPlus_Startup()
[/autoit] [autoit][/autoit] [autoit]For $i = 1 To 100
$hBitmap = _WinAPI_CreateBitmap(180, 17, 1, 32)
$hImage = _GDIPlus_BitmapCreateFromHBITMAP($hBitmap)
$hGraphic = _GDIPlus_ImageGetGraphicsContext($hImage)
$sText = "Procedure: " & $i & " % von 100 fertig"
$vTextWidth = Measure($hGUI,$sText)
_ProgressCreate($hGraphic, 0x6FFF0000, $sText, $i * 1.8, 180, $vTextWidth)
$hNewBitmapHandle = _GDIPlus_BitmapCreateHBITMAPFromBitmap($hImage)
_SetBitmapToCtrl($hGUIProgress, $hNewBitmapHandle)
Sleep(50)
Next
Sleep(2000)
_GDIPlus_Shutdown()
;Creates progresses
Func _ProgressCreate($hGraphic, $vColor, $vText, $vPercent, $vWidth, $vTextWidth)
_GDIPlus_GraphicsClear($hGraphic, 0xFFFFFFFF)
Dim $hPenProgress[99]
For $i = 0 To 8
$vSWColor = "0xFF" & Hex($i * 2 * 10, 2) & Hex($i *2* 10, 2) & Hex($i * 2 * 10, 2)
$hPenProgress[$i] = _GDIPlus_PenCreate($vSWColor)
_GDIPlus_GraphicsDrawLine($hGraphic, 0, $i, $vWidth, $i, $hPenProgress[$i])
_GDIPlus_PenDispose($hPenProgress[$i])
Next
For $i = 0 To 7
$vSWColor = "0xFF" & Hex($i*2 * 10, 2) & Hex($i *2* 10, 2) & Hex($i *2* 10, 2)
$hPenProgress[$i] = _GDIPlus_PenCreate($vSWColor)
_GDIPlus_GraphicsDrawLine($hGraphic, 0, 16 - $i, $vWidth, 16 - $i, $hPenProgress[$i])
_GDIPlus_PenDispose($hPenProgress[$i])
Next
$hBrushProgress = _GDIPlus_BrushCreateSolid($vColor)
_GDIPlus_GraphicsFillRect($hGraphic, 0, 0, $vPercent, 17, $hBrushProgress)
$hFontFamilyProgress = _GDIPlus_FontFamilyCreate("Arial")
$hFontProgress = _GDIPlus_FontCreate($hFontFamilyProgress, 8, 1)
; $hLayoutProgress = _GDIPlus_RectFCreate($vTextWidth, 1, $vWidth, 17)
$hLayoutProgress = _GDIPlus_RectFCreate(int(($vWidth-$vTextWidth)/2), 1, $vWidth, 17)
$hFormatProgress = _GDIPlus_StringFormatCreate()
$hBrushTextProgress = _GDIPlus_BrushCreateSolid(0xFFFFFFFF)
_GDIPlus_GraphicsDrawStringEx($hGraphic, $vText, $hFontProgress, $hLayoutProgress, $hFormatProgress, $hBrushTextProgress)
$hPenOutLineTL = _GDIPlus_PenCreate(0xFF666666)
$hPenOutLineBR = _GDIPlus_PenCreate(0xFFDDDDDD)
_GDIPlus_GraphicsDrawLine($hGraphic, 0, 0, $vWidth, 0, $hPenOutLineTL)
_GDIPlus_GraphicsDrawLine($hGraphic, 0, 0, 0, 16, $hPenOutLineTL)
_GDIPlus_GraphicsDrawLine($hGraphic, 0, 16, $vWidth, 16, $hPenOutLineBR)
_GDIPlus_GraphicsDrawLine($hGraphic, $vWidth - 1, 0, $vWidth - 1, 16, $hPenOutLineBR)
_GDIPlus_PenDispose($hPenOutLineTL)
_GDIPlus_PenDispose($hPenOutLineBR)
_GDIPlus_BrushDispose($hBrushProgress)
_GDIPlus_FontFamilyDispose($hFontFamilyProgress)
_GDIPlus_FontDispose($hFontProgress)
_GDIPlus_StringFormatDispose($hFormatProgress)
_GDIPlus_BrushDispose($hBrushTextProgress)
EndFunc ;==>_SM_ProgressCreate
;Set a bitmap to a control - by Zedna
Func _SetBitmapToCtrl($vCtrlID, $h_Bitmap)
Local $hWnd = GUICtrlGetHandle($vCtrlID)
If $hWnd = 0 Then Return SetError(1, 0, 0)
Local $vOldStyle = _WinAPI_GetWindowLong($hWnd, -16)
_WinAPI_SetWindowLong($hWnd, -16, BitOR($vOldStyle, 0xE))
Local $vOldBmp = _SendMessage($hWnd, 0x0172, 0, $h_Bitmap)
If $vOldBmp <> 0 Then _WinAPI_DeleteObject($vOldBmp)
EndFunc ;==>_SM_SetBitmapToCtrl
Func Measure($gui,$nText) ;Original von BugFix http://www.autoit.de/index.php?page…5795#post105795
If $nText = '' Then Return
;_GDIPlus_Startup()
Local $hFormat = _GDIPlus_StringFormatCreate(0)
Local $hFamily = _GDIPlus_FontFamilyCreate("Arial"); $aFont[2])
Local $hFont = _GDIPlus_FontCreate($hFamily, 10, 0, 3)
; Local $hFont = _GDIPlus_FontCreate($hFamily, $aFont[3], $aFont[1], 3)
Local $tLayout = _GDIPlus_RectFCreate(15, 171, 0, 0)
Local $hGraphic = _GDIPlus_GraphicsCreateFromHWND($gui)
Local $aInfo = _GDIPlus_GraphicsMeasureString($hGraphic, $nText, $hFont, $tLayout, $hFormat)
;_ArrayDisplay($aInfo)
Local $iWidth = Ceiling(DllStructGetData($aInfo[0], "Width"))
Local $iHeight = Ceiling(DllStructGetData($aInfo[0], "Height"))
_GDIPlus_StringFormatDispose($hFormat)
_GDIPlus_FontDispose($hFont)
_GDIPlus_FontFamilyDispose($hFamily)
_GDIPlus_GraphicsDispose($hGraphic)
;_GDIPlus_ShutDown()
Return $iWidth *0.85 ;Rückgabe mit Faktor (Urspruungsskript NoName $vTextWidth)
EndFunc
mfg (Auto)Bert
Hallo NoName,
du musst die Zeile 47 wie folgt ändern:
[autoit]$hLayoutProgress = _GDIPlus_RectFCreate(int(($vWidth-$vTextWidth)/2), 1, $vWidth, 17)
[/autoit]und beim Aufruf übergibst du immer den gleichen Wert z.B. 80 also so:
[autoit]_ProgressCreate($hGraphic, 0x6FFF0000, "Procedure: " & $i & "%", $i * 1.8, 180, 80)
[/autoit]idealerweise erstellst du eine Formel für diesen Wert, fällt mir aber (noch) kein Ansatz dafür ein,
mfg (Auto)Bert
suche einmal nach der ANYGUI.au3,
mfg (Auto)Bert
Hallo Jonathan,
erstelle deine Liste so:
[autoit]$hListe = GUICtrlCreateList("", 10, 10, 180, 80,$LBS_NOTIFY)
[/autoit]mfg (Auto)Bert
Hast du einmal af das Datum geschaut ![]()
Hallo Jonathan,
[autoit]_arraydisplay($Array)
[/autoit]Edit: oder siehe Beispiel Hilfe:
#include <file.au3>
Dim $aRecords
If Not _FileReadToArray("error.log", $aRecords) Then
MsgBox(4096, "Fehler", "Fehler beim Einlesen der Datei in das Array!" & @CRLF & "Fehlercode: " & @error)
Exit
EndIf
For $x = 1 To $aRecords[0]
MsgBox(0, 'Datensatz ' & $x & ':', $aRecords[$x])
Next
mfg (Auto)Bert