1. Dashboard
  2. Mitglieder
    1. Letzte Aktivitäten
    2. Benutzer online
    3. Team
    4. Mitgliedersuche
  3. Forenregeln
  4. Forum
    1. Unerledigte Themen
  • Anmelden
  • Registrieren
  • Suche
Alles
  • Alles
  • Artikel
  • Seiten
  • Forum
  • Erweiterte Suche
  1. AutoIt.de - Das deutschsprachige Forum.
  2. Mitglieder
  3. Greenhorn

Beiträge von Greenhorn

  • Probleme mit guictrlcreatepic

    • Greenhorn
    • 29. Februar 2008 um 00:34

    Womit erstellst Du denn den Button ?
    Ist es eine Bitmap ? Wenn ja, dann sieh mal in den UDF's bei den WinAPI Funktionen nach. Dort gibt es eine Funktion mit der Du für Bitmaps eine transparente Farbe setzen kannst (schwarz, weiß ...)
    Ansonsten nimm ein GIF Format mit transparenz im Bild als Button.


    Gruß
    Greenhorn

  • veränderbares Bild klickbar machen

    • Greenhorn
    • 28. Februar 2008 um 23:19

    So ...

    Probiere mal das hier ...

    Spoiler anzeigen
    [autoit]

    #include-once
    #include <GUIConstants.au3>

    [/autoit] [autoit][/autoit] [autoit]

    $btnFoldD = @ScriptDir & '\BtnFoldD.bmp'
    $btnFoldH = @ScriptDir & '\BtnFoldH.bmp'
    $btnStartD = @ScriptDir & '\BtnStartD.bmp'
    $btnStartH = @ScriptDir & '\BtnStartH.bmp'
    $btnStpD = @ScriptDir & '\BtnStpD.bmp'
    $btnStpH = @ScriptDir & '\BtnStpH.bmp'

    [/autoit] [autoit][/autoit] [autoit]

    $hWndTest = GUICreate(' My GUI PicButton', 635, 476, -1, -1)
    GUISetBkColor(0x000000) ; Hintergrund schwarz RGB
    $btnDefault = GUICtrlCreateButton('Standard', 40, 100, 80, 30)
    $btnStart = GUICtrlCreatePic($btnStartD, 200, 100, 80, 27, BitOR($SS_NOTIFY, $WS_GROUP, $WS_CLIPSIBLINGS))
    $btnStop = GUICtrlCreatePic($btnStpD, 200, 150, 80, 27, BitOR($SS_NOTIFY, $WS_GROUP, $WS_CLIPSIBLINGS))
    $btnFolder = GUICtrlCreatePic($btnFoldD, 200, 200, 40, 27, BitOR($SS_NOTIFY, $WS_GROUP, $WS_CLIPSIBLINGS))

    [/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]

    GUISetState()

    [/autoit] [autoit][/autoit] [autoit]

    While 1

    $nMsg = GUIGetMsg()

    Switch $nMsg
    Case $GUI_EVENT_CLOSE
    Exit
    Case $btnDefault
    MsgBox(0, '', 'Standard Button wurde gedrückt.', 2)
    EndSwitch
    _PicButtonFromFile($hWndTest, $btnStart, $btnStartD, $btnStartH, $btnStartH, 'Start', '@ScriptDir, Picture.bmp')
    _PicButtonFromFile($hWndTest, $btnStop, $btnStpD, $btnStpH, $btnStpH, 'Terminate')
    _PicButtonFromFile($hWndTest, $btnFolder, $btnFoldD, $btnFoldH, $btnFoldH, 'SelectFolder')

    [/autoit] [autoit][/autoit] [autoit]

    WEnd

    [/autoit] [autoit][/autoit] [autoit]

    Func _PicButtonFromFile($hWnd, $controlID, $defaultPic, $onHoverPic, $onClickPic, $Function = '', $parameters = '')

    [/autoit] [autoit][/autoit] [autoit]

    If StringInStr($parameters, ',') Then
    $parameters = StringSplit($parameters, ',')
    $parameters[0] = 'CallArgArray'
    EndIf
    Local $resFunc
    If $onClickPic = '' Or $onClickPic = -1 Then $onClickPic = $onHoverPic
    $cMsg = GUIGetCursorInfo($hWnd)
    If $cMsg[4] = $controlID Then
    GUICtrlSetImage( $controlID, $onHoverPic)
    $cMsg = GUIGetCursorInfo($hWnd)
    While $cMsg[4] = $controlID
    If GUIGetMsg() = $controlID Then
    GUICtrlSetImage( $controlID, $onClickPic)
    $resFunc = Call($Function, $parameters)
    EndIf
    Sleep(10)
    $cMsg = GUIGetCursorInfo($hWnd)
    WEnd
    GUICtrlSetImage($controlID, $defaultPic)
    Return $resFunc
    EndIf

    [/autoit] [autoit][/autoit] [autoit]

    EndFunc ;==>_PicButtonFromFile

    [/autoit] [autoit][/autoit] [autoit]

    Func SelectFolder()

    FileSelectFolder('Ordner wählen', @MyDocumentsDir)
    ;;;

    EndFunc

    [/autoit] [autoit][/autoit] [autoit]

    Func Start($path, $file)

    MsgBox(0, '', 'Start Picture Button wurde gedrückt.', 2)
    MsgBox(0, 'Beisp. Funktionsparameter', $path & '\' & $file, 2)
    ;;;

    EndFunc

    [/autoit] [autoit][/autoit] [autoit]

    Func Terminate()

    MsgBox(0, '', 'Beenden Picture Button wurde gedrückt.', 2)
    ;;;

    EndFunc

    [/autoit]

    Der Inhalt kann nicht angezeigt werden, da er nicht mehr verfügbar ist.

    Gruß
    Greenhorn

    Dateien

    PicButton.zip 49,8 kB – 217 Downloads
  • TryIcon

    • Greenhorn
    • 27. Februar 2008 um 23:02

    z.B. hiermit ...

    Spoiler anzeigen
    [autoit]

    $var = WinList()

    [/autoit] [autoit][/autoit] [autoit]

    For $i = 1 to $var[0][0]
    ; Only display visble windows that have a title
    If $var[$i][0] <> "" AND IsVisible($var[$i][1]) Then
    MsgBox(0, "Details", "Title=" & $var[$i][0] & @LF & "Handle=" & $var[$i][1])
    EndIf
    Next

    [/autoit] [autoit][/autoit] [autoit]

    Func IsVisible($handle)
    If BitAnd( WinGetState($handle), 2 ) Then
    Return 1
    Else
    Return 0
    EndIf

    [/autoit] [autoit][/autoit] [autoit]

    EndFunc

    [/autoit]

    Gruß

  • Probleme mit guictrlcreatepic

    • Greenhorn
    • 26. Februar 2008 um 21:39
    [autoit]

    GUICtrlSetBkColor($GUI_BKCOLOR_TRANSPARENT) ; ???
    GUICtrlCreateButton("Anmelden", 100, 390, 100, 30, 0, $WS_EX_TRANSPARENT); ???

    [/autoit]
  • TryIcon

    • Greenhorn
    • 26. Februar 2008 um 21:20

    sieh dir die Funktionen CheckWindows und Win2Tray mal etwas genauer an ...

    Du brauchst eine Funktion die den Staus der Fenster ermittelt (solltest Du hinbekommen) und dann eine Funktion, die den Fenstern die Du ins Tray minimieren möchtest ein Icon verpassen.


    Gruß
    Greenhorn

  • unterschiedliches Tray-Menü (re/li)

    • Greenhorn
    • 25. Februar 2008 um 22:49

    Hi,

    so geht's ...

    Spoiler anzeigen
    [autoit]

    #NoTrayIcon
    #Include <GuiConstants.au3>

    [/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]

    Opt("GuiOnEventMode",1)
    Opt("TrayIconHide", 0)
    Opt("TrayOnEventMode",1)
    Opt("TrayMenuMode",1)

    [/autoit] [autoit][/autoit] [autoit]

    Global $writer

    [/autoit] [autoit][/autoit] [autoit]

    $trayexit = TrayCreateItem("Exit")
    TrayItemSetOnEvent(-1,"_TrayExit")
    ; eigene Funktion bei Linksklick.
    TraySetOnEvent($TRAY_EVENT_PRIMARYDOWN, "TrayMenuLeftClick")

    [/autoit] [autoit][/autoit] [autoit]

    $writer = GUICreate("WRiTeR", 250, 400, @DesktopWidth - 270, @DesktopHeight - 430, $WS_POPUPWINDOW, $WS_EX_TOOLWINDOW )
    WinSetOnTop($writer,'',1)
    WinSetTrans($writer,'', 100)
    GUICtrlCreateEdit("", 5, 5, 240, 390)

    [/autoit] [autoit][/autoit] [autoit]

    TraySetState() ; Traymenü anzeigen
    TraySetClick(16) ; bei Secondary Up Menü anzeigen.
    GUISetState(@SW_SHOW, $writer)

    [/autoit] [autoit][/autoit] [autoit]

    While 1
    Sleep(100)
    WEnd

    [/autoit] [autoit][/autoit] [autoit]

    Func _TrayExit()
    Exit
    EndFunc

    [/autoit] [autoit][/autoit] [autoit]

    Func TrayMenuLeftClick()
    $winstate = WinGetState($writer,'')
    If BitAnd($winstate, 2) Then
    WinSetState($writer,'',@SW_HIDE)
    Else
    WinSetState($writer,'',@SW_SHOW)
    EndIf
    EndFunc

    [/autoit]


    Gruß
    Greenhorn

  • Probleme mit guictrlcreatepic

    • Greenhorn
    • 25. Februar 2008 um 22:07

    Du musst zuerst das Picture-Control erzeugen und dann die anderen ...

    Spoiler anzeigen
    [autoit]

    #include <GUIConstants.au3>

    [/autoit] [autoit][/autoit] [autoit]

    ; File
    FileInstall("\Fire.jpg", @TempDir & "\Fire.jpg")

    [/autoit] [autoit][/autoit] [autoit]

    ; Hauptfenster
    GUICreate("GUI", 300, 600)
    GUISetBkColor(0x000000)

    [/autoit] [autoit][/autoit] [autoit]

    ; Anzeigebild
    GUICtrlCreatePic(@DesktopDir & "\GUI\Fire.jpg", 0, 0, 300, 600) ; Control als erstes erzeugen.
    GUICtrlSetState(-1, $GUI_DISABLE)

    [/autoit] [autoit][/autoit] [autoit]

    ; Button
    GUICtrlCreateButton("Anmelden", 100, 390, 100, 30, 0)

    [/autoit] [autoit][/autoit] [autoit]

    ; Eingabefeld
    GUICtrlCreateInput("", 75, 270, 150, 25)
    GUICtrlCreateInput("", 75, 320, 150, 25, $ES_PASSWORD)

    [/autoit] [autoit][/autoit] [autoit]

    ; Schrift
    $font = "Comic Sans MS"
    GUICtrlCreateLabel("Anzeigebild", 102, 50, 100, 25)
    GUICtrlSetColor(-1, 0xffffff)
    GUICtrlSetFont(-1, 14, 400, 2, $font)
    GUICtrlSetBkColor(-1, $GUI_BKCOLOR_TRANSPARENT)
    GUICtrlCreateLabel("E-Mail-Adresse", 105, 250, 100, 15)
    GUICtrlSetColor(-1, 0xffffff)
    GUICtrlSetFont(-1, 9, 400, 2, $font)
    GUICtrlSetBkColor(-1, $GUI_BKCOLOR_TRANSPARENT)
    GUICtrlCreateLabel("Kennwort", 120, 300, 100, 15)
    GUICtrlSetColor(-1, 0xffffff)
    GUICtrlSetFont(-1, 9, 400, 2, $font)
    GUICtrlSetBkColor(-1, $GUI_BKCOLOR_TRANSPARENT)

    [/autoit] [autoit][/autoit] [autoit]

    GUISetState()

    [/autoit] [autoit][/autoit] [autoit]

    While 1
    $msg = GUIGetMsg()

    Switch $msg
    Case $GUI_EVENT_CLOSE
    Exit
    EndSwitch

    WEnd

    [/autoit]


    Gruß

    Edit: Es geht übrigens auch ohne FileInstall, allerdings nur mit Bitmaps ... ;)

    Spoiler anzeigen
    [autoit]

    ; Funktioniert nur mit Bitmaps !!!
    ; Quelle, Resourcen-Sektion, Name
    #AutoIt3Wrapper_Res_File_Add=Fire.bmp, Bitmap, BACKPIC

    [/autoit] [autoit][/autoit] [autoit]

    #include <GUIConstants.au3>
    #include 'Resources.au3'

    [/autoit] [autoit][/autoit] [autoit]

    ; Hauptfenster
    $hWndLogIn = GUICreate("GUI", 300, 600)
    GUISetBkColor(0x000000)

    [/autoit] [autoit][/autoit] [autoit]

    ; Anzeigebild
    $picBackground = GUICtrlCreatePic('', 0, 0, 300, 600) ; Control als erstes erzeugen.
    GUICtrlSetState(-1, $GUI_DISABLE) ; Bild deaktivieren.
    _ResourceSetImageToCtrl($picBackground, 'BACKPIC', $RT_BITMAP)

    [/autoit] [autoit][/autoit] [autoit]

    ; Button
    GUICtrlCreateButton("Anmelden", 100, 390, 100, 30, 0)
    ;GUICtrlSetState(-1, $GUI_ONTOP) ; Falls immer noch Probleme, GUI_ONTOP erzwingen !

    [/autoit] [autoit][/autoit] [autoit]

    ; Eingabefeld
    GUICtrlCreateInput("", 75, 270, 150, 25)
    GUICtrlCreateInput("", 75, 320, 150, 25, $ES_PASSWORD)
    ; Anzeigebild
    GUICtrlCreatePic(@TempDir & "\Fire.jpg", 0, 0, 300, 600)
    ; Schrift
    $font = "Comic Sans MS"
    GUICtrlCreateLabel("Anzeigebild", 102, 50, 100, 25)
    GUICtrlSetColor(-1, 0xffffff)
    GUICtrlSetFont(-1, 14, 400, 2, $font)
    GUICtrlSetBkColor(-1, $GUI_BKCOLOR_TRANSPARENT)
    GUICtrlCreateLabel("E-Mail-Adresse", 105, 250, 100, 15)
    GUICtrlSetColor(-1, 0xffffff)
    GUICtrlSetFont(-1, 9, 400, 2, $font)
    GUICtrlSetBkColor(-1, $GUI_BKCOLOR_TRANSPARENT)
    GUICtrlCreateLabel("Kennwort", 120, 300, 100, 15)
    GUICtrlSetColor(-1, 0xffffff)
    GUICtrlSetFont(-1, 9, 400, 2, $font)
    GUICtrlSetBkColor(-1, $GUI_BKCOLOR_TRANSPARENT)

    [/autoit] [autoit][/autoit] [autoit]

    GUISetState()

    [/autoit] [autoit][/autoit] [autoit]

    While 1
    $msg = GUIGetMsg()

    [/autoit] [autoit][/autoit] [autoit]

    Switch $msg
    Case $GUI_EVENT_CLOSE
    Exit
    EndSwitch

    [/autoit] [autoit][/autoit] [autoit]

    WEnd

    [/autoit]

    Resources.au3

    Spoiler anzeigen
    [autoit]

    ; ;===========================================================================================================
    ; Author: Zedna
    ; Link: http://www.autoitscript.com/forum/index.php?showtopic=51103
    ; ;===========================================================================================================

    [/autoit] [autoit][/autoit] [autoit]

    #include-once

    [/autoit] [autoit][/autoit] [autoit]

    Global Const $RT_CURSOR = 1
    Global Const $RT_BITMAP = 2
    Global Const $RT_ICON = 3
    Global Const $RT_MENU = 4
    Global Const $RT_DIALOG = 5
    Global Const $RT_STRING = 6
    Global Const $RT_FONTDIR = 7
    Global Const $RT_FONT = 8
    Global Const $RT_ACCELERATORS = 9
    Global Const $RT_RCDATA = 10
    Global Const $RT_MESSAGETABLE = 11
    Global Const $RT_GROUP_CURSOR = 12
    Global Const $RT_GROUP_ICON = 14
    Global Const $RT_VERSION = 16

    [/autoit] [autoit][/autoit] [autoit]

    Global Const $RT_ANICURSOR = 21
    Global Const $RT_ANIICON = 22
    Global Const $RT_HTML = 23
    Global Const $RT_MANIFEST = 24

    [/autoit] [autoit][/autoit] [autoit]

    Global Const $SND_RESOURCE = 0x00040004
    Global Const $SND_SYNC = 0x0
    Global Const $SND_ASYNC = 0x1
    Global Const $SND_LOOP = 0x8
    Global Const $SND_NOSTOP = 0x10
    Global Const $SND_NOWAIT = 0x2000
    Global Const $SND_PURGE = 0x40

    [/autoit] [autoit][/autoit] [autoit]

    Func _ResourceGet($ResName, $ResType = 10, $ResLang = 0) ; $RT_RCDATA = 10
    Local Const $IMAGE_BITMAP = 0
    Local $hInstance, $hBitmap, $InfoBlock, $GlobalMemoryBlock, $MemoryPointer, $ResSize

    $hInstance = DllCall("kernel32.dll", "int", "GetModuleHandleA", "int", 0)
    $hInstance = $hInstance[0]

    [/autoit] [autoit][/autoit] [autoit]

    If $ResType = $RT_BITMAP Then
    $hBitmap = DllCall("user32.dll", "hwnd", "LoadImage", "hwnd", $hInstance, "str", $ResName, _
    "int", $IMAGE_BITMAP, "int", 0, "int", 0, "int", 0)
    If @error Then Return SetError(1, 0, 0)
    $hBitmap = $hBitmap[0]
    Return $hBitmap ; returns handle to Bitmap
    EndIf

    [/autoit] [autoit][/autoit] [autoit]

    If $ResLang <> 0 Then
    $InfoBlock = DllCall("kernel32.dll", "int", "FindResourceExA", "int", $hInstance, "str", $ResName, "long", $ResType, "short", $ResLang)
    Else
    $InfoBlock = DllCall("kernel32.dll", "int", "FindResourceA", "int", $hInstance, "str", $ResName, "long", $ResType)
    EndIf

    If @error Then Return SetError(2, 0, 0)
    $InfoBlock = $InfoBlock[0]
    If $InfoBlock = 0 Then Return SetError(3, 0, 0)

    $ResSize = DllCall("kernel32.dll", "dword", "SizeofResource", "int", $hInstance, "int", $InfoBlock)
    If @error Then Return SetError(4, 0, 0)
    $ResSize = $ResSize[0]
    If $ResSize = 0 Then Return SetError(5, 0, 0)

    $GlobalMemoryBlock = DllCall("kernel32.dll", "int", "LoadResource", "int", $hInstance, "int", $InfoBlock)
    If @error Then Return SetError(6, 0, 0)
    $GlobalMemoryBlock = $GlobalMemoryBlock[0]
    If $GlobalMemoryBlock = 0 Then Return SetError(7, 0, 0)

    $MemoryPointer = DllCall("kernel32.dll", "int", "LockResource", "int", $GlobalMemoryBlock)
    If @error Then Return SetError(8, 0, 0)
    $MemoryPointer = $MemoryPointer[0]
    If $MemoryPointer = 0 Then Return SetError(9, 0, 0)

    SetExtended($ResSize)
    Return $MemoryPointer
    EndFunc

    [/autoit] [autoit][/autoit] [autoit]

    Func _ResourceGetAsString($ResName, $ResType = 10, $ResLang = 0) ; $RT_RCDATA = 10
    Local $ResPointer, $ResSize, $struct

    [/autoit] [autoit][/autoit] [autoit]

    $ResPointer = _ResourceGet($ResName, $ResType, $ResLang)
    If @error Then
    SetError(1, 0, 0)
    Return ''
    EndIf
    $ResSize = @extended
    $struct = DllStructCreate("char[" & $ResSize & "]", $ResPointer)
    Return DllStructGetData($struct, 1) ; returns string
    EndFunc

    [/autoit] [autoit][/autoit] [autoit]

    Func _ResourceGetAsBytes($ResName, $ResType = 10, $ResLang = 0) ; $RT_RCDATA = 10
    Local $ResPointer, $ResSize

    [/autoit] [autoit][/autoit] [autoit]

    $ResPointer = _ResourceGet($ResName, $ResType, $ResLang)
    If @error Then Return SetError(1, 0, 0)
    $ResSize = @extended
    Return DllStructCreate("byte[" & $ResSize & "]", $ResPointer) ; returns struct with bytes
    EndFunc

    [/autoit] [autoit][/autoit] [autoit]

    Func _ResourceSaveToFile($FileName, $ResName, $ResType = 10, $ResLang = 0, $CreatePath = 0) ; $RT_RCDATA = 10
    Local $ResStruct, $ResSize, $FileHandle

    [/autoit] [autoit][/autoit] [autoit]

    $ResStruct = _ResourceGetAsBytes($ResName, $ResType, $ResLang)
    If @error Then Return SetError(1, 0, 0)
    $ResSize = DllStructGetSize($ResStruct)

    If $CreatePath Then $CreatePath = 8 ; mode 8 = Create directory structure if it doesn't exist
    $FileHandle = FileOpen($FileName, 2+16+$CreatePath)
    If @error Then Return SetError(2, 0, 0)
    FileWrite($FileHandle, DllStructGetData($ResStruct, 1))
    If @error Then Return SetError(3, 0, 0)
    FileClose($FileHandle)
    If @error Then Return SetError(4, 0, 0)

    [/autoit] [autoit][/autoit] [autoit]

    Return $ResSize
    EndFunc

    [/autoit] [autoit][/autoit] [autoit]

    Func _ResourceSetImageToCtrl($CtrlId, $ResName, $ResType = 10) ; $RT_RCDATA = 10
    Local $ResData = _ResourceGet($ResName, $ResType)
    If @error Then Return SetError(1, 0, 0)

    If $ResType = $RT_BITMAP Then
    _SetBitmapToCtrl($CtrlId, $ResData)
    If @error Then Return SetError(2, 0, 0)
    Return 1
    EndIf

    ; for other types then BITMAP not implemented yet (must be used GDI+) ...
    ; ...
    Return SetError(-1, 0, 0)
    EndFunc

    [/autoit] [autoit][/autoit] [autoit]

    ; internal helper function
    Func _SetBitmapToCtrl($CtrlId, $hBitmap)
    Local Const $STM_SETIMAGE = 0x0172
    Local Const $IMAGE_BITMAP = 0

    [/autoit] [autoit][/autoit] [autoit]

    Local $hWnd = GUICtrlGetHandle($CtrlId)
    If $hWnd = 0 Then Return SetError(1, 0, 0)
    DllCall("user32.dll", "hwnd", "SendMessage", "hwnd", $hWnd, "int", $STM_SETIMAGE, "int", $IMAGE_BITMAP, "int", $hBitmap)
    If @error Then Return SetError(2, 0, 0)
    Return 1
    EndFunc

    [/autoit] [autoit][/autoit] [autoit]

    ; thanks Larry
    ; MSDN: http://msdn2.microsoft.com/en-us/library/ms712879.aspx
    ; default flag is $SND_SYNC = 0
    Func _ResourcePlaySound($ResName, $Flag = 0)
    Local $ret = DllCall("winmm.dll", "int", "PlaySound", "str", $ResName, "hwnd", 0, "int", BitOr($SND_RESOURCE,$Flag))
    If @error Then Return SetError(1, 0, 0)
    Return $ret[0]
    EndFunc

    [/autoit]
  • Probleme mit guictrlcreatepic

    • Greenhorn
    • 25. Februar 2008 um 21:36

    Moin Mehmet,

    so sollte es gehen ... ;)

    Spoiler anzeigen
    [autoit]

    #include <GUIConstants.au3>

    [/autoit] [autoit][/autoit] [autoit]

    ; File
    FileInstall("C:\Dokumente und Einstellungen\MehmetT\Desktop\Fire.jpg", @TempDir & "\Fire.jpg")

    [/autoit] [autoit][/autoit] [autoit]

    ; Hauptfenster
    $GUI = GUICreate("GUI", 300, 600)
    GUISetBkColor(0x000000)

    [/autoit] [autoit][/autoit] [autoit]

    ; Anzeigebild
    GUICtrlCreatePic(@DesktopDir & "\Fire.jpg", 0, 0, 300, 600) ; Control als erstes erzeugen.
    GUICtrlSetState(-1, $GUI_DISABLE) ; Bild deaktivieren.

    [/autoit] [autoit][/autoit] [autoit]

    ; Button
    GUICtrlCreateButton("Anmelden", 100, 390, 100, 30, 0)
    ;GUICtrlSetState(-1, $GUI_ONTOP) ; Falls immer noch Probleme, GUI_ONTOP erzwingen !

    [/autoit] [autoit][/autoit] [autoit]

    ; Eingabefeld
    GUICtrlCreateInput("", 75, 270, 150, 25)
    GUICtrlCreateInput("", 75, 320, 150, 25, $ES_PASSWORD)
    ; Anzeigebild
    GUICtrlCreatePic(@TempDir & "\Fire.jpg", 0, 0, 300, 600)
    ; Schrift
    $font = "Comic Sans MS"
    GUICtrlCreateLabel("Anzeigebild", 102, 50, 100, 25)
    GUICtrlSetColor(-1, 0xffffff)
    GUICtrlSetFont(-1, 14, 400, 2, $font)
    GUICtrlSetBkColor(-1, $GUI_BKCOLOR_TRANSPARENT)
    GUICtrlCreateLabel("E-Mail-Adresse", 105, 250, 100, 15)
    GUICtrlSetColor(-1, 0xffffff)
    GUICtrlSetFont(-1, 9, 400, 2, $font)
    GUICtrlSetBkColor(-1, $GUI_BKCOLOR_TRANSPARENT)
    GUICtrlCreateLabel("Kennwort", 120, 300, 100, 15)
    GUICtrlSetColor(-1, 0xffffff)
    GUICtrlSetFont(-1, 9, 400, 2, $font)
    GUICtrlSetBkColor(-1, $GUI_BKCOLOR_TRANSPARENT)

    [/autoit] [autoit][/autoit] [autoit]

    GUISetState()

    [/autoit] [autoit][/autoit] [autoit]

    While 1
    $msg = GUIGetMsg()

    Switch $msg
    Case $GUI_EVENT_CLOSE
    Exit
    EndSwitch

    WEnd

    [/autoit]


    Gruß
    Greenhorn

  • Reihenfolge MultiSelect

    • Greenhorn
    • 25. Februar 2008 um 20:51

    Nun, ohne sortierung habe ich immer das zuletzt markierte File als erstes im Array, danach ist es alphabetisch/numerisch sortiert ...(so wie es im Explorer halt ist)

    Probiere doch mal von hinten nach vorn zu markieren/auszuwählen, dann müsste es eigentlich hihauen.
    Allerdings verstehe ich auch nicht, was gegen eine Sortage spricht, oder Du musst anders sortieren ..., nach erstellungsdatum oder so. *schulterzuck*


    Gruß
    Greenhorn

  • Reihenfolge MultiSelect

    • Greenhorn
    • 25. Februar 2008 um 17:51

    Du könntest es sortieren ...

    [autoit]

    #include <Array.au3>

    [/autoit][autoit][/autoit][autoit]

    $sSelect = FileOpenDialog('', 'C:\Programme', '(*.*)', 4)
    $arSelect = StringSplit($sTest, '|')
    _ArrayDisplay($arSelect) ; unsortiert ...
    _ArraySort($arSelect, 0, 2)
    _ArrayDisplay($arSelect) ; ... sortiert.

    [/autoit]

    Gruß
    Greenhorn

  • GuiSetHelp

    • Greenhorn
    • 25. Februar 2008 um 17:15
    Zitat von peethebee

    HTML Help Workshop von Microsoft.

    http://www.microsoft.com/downloads/details.aspx?FamilyID=00535334-c8a6-452f-9aa0-d597d16580cc&displaylang=en

  • Übersetzen macht Spaß

    • Greenhorn
    • 25. Februar 2008 um 17:10

    Moin,

    ich möchte an dieser Stelle Tweaky meinen Dank in allen Ehren und meinen Respekt aussprechen !!!

    Über die Hälfte der Übersetzungen hast Du getätigt, und was weiß ich wie viele Dateien revidiert !

    Vielen Dank für das außerordentliche Engagement in dieser Sache !
    Autowriter Final Version Install.zip

    Ich möchte aber auch allen Anderen danken, die sich aktiv an der Übersetzung - und wenn es nur eine einzige Datei ist - beteiligen.
    Danke !

    Ich habe fertig.

    Gruß
    Greenhorn

    Bilder

    • respekt.gif
      • 7,46 kB
      • 43 × 20
  • GuiSetHelp

    • Greenhorn
    • 24. Februar 2008 um 20:47

    Moin,

    es geht einfacher ..., viel einfacher :D

    Spoiler anzeigen
    [autoit]

    #include <GuiConstants.au3>

    [/autoit] [autoit][/autoit] [autoit]

    ; Beispiel 1 - Hilfedatei über hh.exe aufrufen.
    $sPathHelp = @ProgramFilesDir & '\AutoIt3\AutoIt3.chm'

    [/autoit] [autoit][/autoit] [autoit]

    $hWnd = GUICreate('Meine GUI mit Hilfemenü')
    GUISetHelp(@WindowsDir & '\hh.exe "' & $sPathHelp & '"') ; *.chm über hh.exe aufrufen.
    GUISetState ()

    [/autoit] [autoit][/autoit] [autoit]

    While 1
    $msg = GUIGetMsg()

    If $msg = $GUI_EVENT_CLOSE Then ExitLoop
    Wend

    [/autoit] [autoit][/autoit] [autoit]

    ; Beispiel 2 - Hilfedatei über *.exe aufrufen.
    ; Manche Programme bringen einen eigenen Helpfilestarter mit.
    $sPathHelp = @ProgramFilesDir & '\AutoIt3\AutoIt3Help.exe GUISetHelp'

    [/autoit] [autoit][/autoit] [autoit]

    $hWnd = GUICreate('Meine GUI mit Hilfemenü')
    GUISetHelp($sPathHelp) ; *.chm über AutoIt3Help.exe aufrufen.
    GUISetState ()

    [/autoit] [autoit][/autoit] [autoit]

    While 1
    $msg = GUIGetMsg()

    If $msg = $GUI_EVENT_CLOSE Then ExitLoop
    Wend

    [/autoit] [autoit][/autoit] [autoit]

    ; Beispiel 3 - Hilfedatei über winhlp32.exe aufrufen.
    $sPathHelp = @ProgramFilesDir & '\AutoIt3\SciTE\AutoIt3Wrapper\ResHacker.hlp'

    [/autoit] [autoit][/autoit] [autoit]

    $hWnd = GUICreate('Meine GUI mit Hilfemenü')
    GUISetHelp(@SystemDir & '\winhlp32.exe "' & $sPathHelp & '"') ; *.hlp über winhlp32.exe aufrufen.
    GUISetState ()

    [/autoit] [autoit][/autoit] [autoit]

    While 1
    $msg = GUIGetMsg()

    If $msg = $GUI_EVENT_CLOSE Then ExitLoop
    Wend

    [/autoit] [autoit][/autoit] [autoit]

    Exit

    [/autoit]

    Greetz
    Greenhorn

  • Früher war alles besser ...

    • Greenhorn
    • 24. Februar 2008 um 16:02

    Hier mal ein richtiges Offtopic ... :D

    Falls ihr in den 6o'ern/7o'ern aufgewachsen seid, dann dürfte der Anhang sehr interessant für euch sein (für alle anderen natürlich auch) ... ;)

    Der Inhalt kann nicht angezeigt werden, da er nicht mehr verfügbar ist.


    Gruß
    Greenhorn

    Dateien

    Snoopy.zip 194,7 kB – 210 Downloads
  • Progress & 7-Zip ?

    • Greenhorn
    • 23. Februar 2008 um 19:27

    Ihr müsst "peek" auf True setzen, dabei jedoch beachten, dass die bereits gelesenen Zeichen im Stream verbleiben.
    Lest mal die Hilfe dazu ...

    [autoit]

    $wget = Run(@ComSpec & ' /c 7za.exe a -tzip test.zip test.avi', 'e:', @SW_HIDE, 2 + 4)
    Do
    $line = StdoutRead($wget,-88,1) ; "peek" auf True !
    If @error Then ExitLoop
    ConsoleWrite('std: ' & $line & @LF)
    sleep(10)
    Until ProcessExists($wget) = 0
    Exit

    [/autoit]

    Gruß
    Greenhorn

  • Schnellstartleiste einblenden?

    • Greenhorn
    • 23. Februar 2008 um 18:30

    Oder ...

    Spoiler anzeigen
    [autoit]

    $sWndTitle = 'Eigenschaften von Taskleiste und Startmenü'
    $sWndText = 'Taskleiste'
    ; Eigenschaften-Fenster anzeigen.
    Run('rundll32.exe shell32.dll,Options_RunDLL 1')
    WinWait($sWndTitle, $sWndText)
    WinSetState($sWndTitle, $sWndText, @SW_HIDE)
    ; Prüfen ob Schnellstartleiste aktiviert.
    If Not ControlCommand($sWndTitle, $sWndText, 'Button5', 'IsChecked', '') Then
    ; &Schnellstartleiste anzeigen
    ControlClick($sWndTitle, $sWndText, 'Button5')
    EndIf
    ; Ü&bernehmen
    ControlClick($sWndTitle, $sWndText, 'Button13')
    Sleep(150)
    ; OK
    ControlClick($sWndTitle, $sWndText, 'Button11')
    Exit

    [/autoit]

    Gruß
    Greenhorn

    Edit: @propagandy
    Ist nicht von mir, aber trotzdem gut (oder gerade deswegen :rofl: ) ;) :D

  • Schnellstartleiste einblenden?

    • Greenhorn
    • 23. Februar 2008 um 18:01

    Moin,

    so wird's was mit dem Nachbarn ... ;)

    Spoiler anzeigen
    [autoit]

    _QuickLaunch_SetState(False)
    Sleep(2500)
    _QuickLaunch_SetState(True)
    Sleep(2500)
    _QuickLaunch_SetState(False)
    Sleep(2500)
    _QuickLaunch_SetState(True)
    Exit

    [/autoit] [autoit][/autoit] [autoit]

    ;===============================================================================
    ;
    ; Function Name: _QuickLaunch_SetState
    ; Description: Enable/disable the quick launch toolbar
    ; Parameter(s): $fState - Specifies whether to enable or disable the quick launch toolbar.
    ; True (1) = toolbar is enabled
    ; False (0) = toolbar is disabled
    ; Requirement(s): Windows 2000 or XP
    ; Return Value(s): Success - Return value from _SendMessage
    ; Failure - @error is set
    ; @error - 1 = Invalid $fState, 2 = Unable to get handle for Shell_TrayWnd
    ; Author(s): Bob Anthony (big_daddy)
    ;
    ;===============================================================================
    ;
    Func _QuickLaunch_SetState($fState)
    Const $WM_USER = 0X400
    Const $WMTRAY_TOGGLEQL = ($WM_USER + 237)

    If $fState <> 0 And $fState <> 1 Then Return SetError(1, 0, 0)

    $hTrayWnd = WinGetHandle("[CLASS:Shell_TrayWnd]")
    If @error Then Return SetError(2, 0, 0)

    Return _SendMessage($hTrayWnd, $WMTRAY_TOGGLEQL, 0, $fState)
    EndFunc ;==>_QuickLaunch_SetState

    [/autoit] [autoit][/autoit] [autoit]

    ; Author GaryFrost
    Func _SendMessage($hWnd, $iMsg, $wParam = 0, $lParam = 0, $iReturn = 0, $wParamType = "wparam", $lParamType = "lparam", $sReturnType = "lparam")
    Local $aResult = DllCall("user32.dll", $sReturnType, "SendMessage", "hwnd", $hWnd, "int", $iMsg, $wParamType, $wParam, $lParamType, $lParam)
    If @error Then Return SetError(@error, @extended, "")
    If $iReturn >= 0 And $iReturn <= 4 Then Return $aResult[$iReturn]
    Return $aResult
    EndFunc ;==>_SendMessage

    [/autoit]


    Gruß
    Greenhorn

  • Array mit Return aus einer Funktion zurückgeben

    • Greenhorn
    • 18. Februar 2008 um 01:04

    So sollte das gleiche dabei herauskommen,denke ich ... ;)

    Spoiler anzeigen
    [autoit]

    Func test()
    $time = flugzeit_gesamt()
    MsgBox(0, "TEST", $time[0]&":"&$time[1])
    EndFunc

    [/autoit] [autoit][/autoit] [autoit]

    Func flugzeit_gesamt()
    flugzeiten_rechnen()
    Dim $zeit[2]
    For $i = 1 To 80
    $zeit[0] += GUICtrlRead($array_inputs[$i][11]) ;Flug H stunden
    $zeit[1] += GUICtrlRead($array_inputs[$i][12]) ;Flug M minuten
    If $zeit[1] > 59 Then
    $zeit[0] += 1
    $zeit[1] = 0
    EndIf
    Next
    Return $zeit
    EndFunc

    [/autoit]

    Gruß
    Greenhorn

  • Problem mit GUICtrlCreatePic

    • Greenhorn
    • 16. Februar 2008 um 22:34

    Hi,

    so sollte es gehen ...

    [autoit]

    GUICtrlSetImage($Vorne,$BildVorne)
    GUICtrlSetImage($Hinten,$BildHinten)

    [/autoit]

    Gruß
    Greenhorn

  • Mehrdimensionales Array aus Datei und wieder hinein!?

    • Greenhorn
    • 16. Februar 2008 um 16:36
    Spoiler anzeigen
    [autoit]

    #include <GUIConstants.au3>

    [/autoit] [autoit][/autoit] [autoit]

    AddDownload()
    DownloadFiles()
    Sleep(4000)

    [/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]

    Func AddDownload()

    $hWnd = GUICreate("Download hinzufügen", 553, 124, 205, 192)
    $inpUrl = GUICtrlCreateInput("Url", 64, 8, 425, 21)
    $inpBezeichnung = GUICtrlCreateInput("Bezeichnung", 64, 40, 425, 21)
    $inpZielpfad = GUICtrlCreateInput("Zielpfad", 64, 72, 425, 21)
    $btnSpeichern = GUICtrlCreateButton("Speichern", 200, 96, 145, 25, 0)

    [/autoit] [autoit][/autoit] [autoit]

    GUISetState(@SW_SHOW)

    [/autoit] [autoit][/autoit] [autoit]

    While 1
    $nMsg = GUIGetMsg()
    Switch $nMsg
    Case $GUI_EVENT_CLOSE
    Exit
    Case $btnSpeichern
    If GUICtrlRead($inpBezeichnung) = '' Or _
    GUICtrlRead($inpBezeichnung) = 'Bezeichnung' Then
    MsgBox(4112, 'Error', 'Bitte geben Sie eine Bezeichnung ein !', 5)
    Else
    SaveArrayData(GUICtrlRead($inpBezeichnung), GUICtrlRead($inpUrl), GUICtrlRead($inpZielpfad)) ; beispiel 2
    EndIf
    EndSwitch
    WEnd

    [/autoit] [autoit][/autoit] [autoit]

    EndFunc

    [/autoit] [autoit][/autoit] [autoit]

    Func DownloadFiles()

    [/autoit] [autoit][/autoit] [autoit]

    $file_size_bytes = 1
    $file_size = 1
    $hWndProgress = GUICreate("", 316, 220, -1, -1,$WS_POPUPWINDOW,$WS_EX_TOOLWINDOW)
    GUISetBkColor(0x151843)
    GUICtrlSetColor(-1, 0xFFFFFF)
    $Group1 = GUICtrlCreateGroup("", 8, 8, 300, 94)
    GUICtrlSetColor($Group1, 0x5B6688)
    $Label11 = GUICtrlCreateLabel("",24,30,170,17)
    GUICtrlSetColor(-1, 0xFEADA2)
    $Label12 = GUICtrlCreateLabel("",24,50,140,17)
    GUICtrlSetColor(-1, 0xC0C0FF)
    $Label13 = GUICtrlCreateLabel("",225,50,70,17, $SS_RIGHT)
    GUICtrlSetColor(-1, 0xFFCB84)
    $Label14 = GUICtrlCreateLabel("",230,70,50,17, $SS_RIGHT)
    GUICtrlSetColor(-1, 0xE0E0C0)
    $Group2 = GUICtrlCreateGroup("'Gesamt'", 8, 110, 300, 94)
    GUICtrlSetColor($Group2, 0x5B6688)
    $Label21 = GUICtrlCreateLabel("",24,132,170,17)
    GUICtrlSetColor(-1, 0xFEADA2)
    $Label22 = GUICtrlCreateLabel("",24,152,140,17)
    GUICtrlSetColor(-1, 0xC0C0FF)
    $Label23 = GUICtrlCreateLabel("",225,152,70,17, $SS_RIGHT)
    GUICtrlSetColor(-1, 0xFFCB84)
    $Label24 = GUICtrlCreateLabel("",230,172,50,17, $SS_RIGHT)
    GUICtrlSetColor(-1, 0xE0E0C0)
    GUISetState(@SW_SHOW)
    Global $startDownloadTime = TimerInit()
    $iSizeAll = 0
    $total = 0
    $arIniNames = IniReadSectionNames(@ScriptDir & '\data.ini') ; enthält alle Sektionsnamen.
    For $i = 1 To $arIniNames[0]
    $iSizeAll += InetGetSize(IniRead(@ScriptDir & '\data.ini', $arIniNames[$i], 'Url', ''))
    Next
    For $i = 1 To $arIniNames[0]
    $arIniSection = IniReadSection(@ScriptDir & '\data.ini', $arIniNames[$i])
    $file_size = InetGetSize($arIniSection[1][1])
    InetGet($arIniSection[1][1], $arIniSection[2][1] & '\' & $arIniSection[3][1], 1, 1)
    GUICtrlSetData($Group1,$arIniNames[$i])
    $Leer = GUICtrlCreateLabel("",24, 70, 205, 17)
    GUICtrlSetBkColor($Leer, 0x151843)
    While @InetGetActive
    Sleep(50)
    $iniDown = @InetGetBytesRead
    $xx101 = Round((($iniDown/$file_size)*100) , 2)
    $xx102 = 24 + $xx101*2
    $xx103 = 1 + Floor($xx101)
    $Progress1 = GUICtrlCreateLabel("",$xx102, 70, 1, 17)
    $Farbe1 = Int(256 - ($xx103 / 128)*255) *65536 + Int((512 * $xx103 / 256)* 255) + Int(($xx103 / 100 * 255) - 512)
    GUICtrlSetBkColor($Progress1,$Farbe1)
    $Left = (($file_Size - @InetGetBytesRead) / $iniDown) * TimerDiff($startDownloadTime)
    $msg_load1 = StringFormat("%03.4f", $iniDown/1048576) & " MB / " & StringFormat("%3.4f", $file_Size/1048576) & " MB"
    $msg_zeit1 = _FormatTime($Left)
    $msg_speed = StringFormat("%3.2f",$iniDown/TimerDiff($startDownloadTime)) & " KB/s"
    GUICtrlSetData($Label11,$msg_load1)
    GUICtrlSetData($Label12,$msg_zeit1)
    GUICtrlSetData($Label13,$msg_speed)
    GUICtrlSetData($Label14,StringFormat("%3.2f",$xx101) & " %")
    $xx201 = Round(((($iniDown+$total)/$iSizeAll)*100) , 2)
    $xx202 = 24 + $xx201*2
    $xx203 = 1 + Floor($xx201)
    $Progress2 = GUICtrlCreateLabel("",$xx202, 172, 1, 17)
    If $xx201 <60 Then
    $Farbe2= Int(256 - (5.12 * $xx203 * 2 / 512) * 2.55) *65536 + Int((512 * $xx203 * 2 / 256)* 255) + Int(($xx203 * 2 / 100 * 255) - 512)
    Elseif $xx201 >60 Then
    $Farbe2= Int(256 - (($xx203 - 60) / 128) * 255) *65536 - int(256 * ($xx203 - 60) * 256) + Int((($xx203 - 60) / 100 * 255)) - 5052 - Int(($xx203/ 100 * $xx203-30)*2)
    EndIf
    GUICtrlSetBkColor($Progress2, $Farbe2)
    $msg_load2 = StringFormat("%03.4f", ($iniDown+$total)/1048576) & " MB / " & StringFormat("%3.4f", $iSizeAll/1048576) & " MB"
    $msg_zeit2 = _FormatTime(TimerDiff($startDownloadTime))
    GUICtrlSetData($Label21,$msg_load2)
    GUICtrlSetData($Label22,$msg_zeit2)
    GUICtrlSetData($Label24,StringFormat("%3.2f",$xx201) & " %")
    WEnd
    $total = $iniDown
    Next

    [/autoit] [autoit][/autoit] [autoit]

    EndFunc

    [/autoit] [autoit][/autoit] [autoit]

    Func _FormatTime($_time)

    $_hours = Floor($_time / 1000 / 3600)
    If $_hours < 10 Then $_hours = "0" & $_hours
    $_min = Int($_time / 1000 / 60)
    If $_min < 10 Then $_min = "0" & $_min
    $_sec = Int($_time / 1000)
    If $_sec < 10 Then $_sec = "0" & $_sec
    $_millisec = Round(Mod($_time, 100), 0)
    If $_millisec < 10 Then $_millisec = "0" & $_millisec
    Return $_hours & ":" & $_min & ":" & $_sec & "," & $_millisec

    EndFunc

    [/autoit] [autoit][/autoit] [autoit]

    Func SaveArrayData($name, $url, $path = @ScriptDir)

    [/autoit] [autoit][/autoit] [autoit]

    If $url = '' Then Return SetError(1, 0, 0)
    $arUrl = StringSplit($path, '/')
    Dim $arData[4][2] ; Array deklarieren.
    $arData[0][0] = 2 ; Anzahl Elemente erste Dimension.
    $arData[0][1] = 2 ; Anzahl Elemente zweite Dimension.
    $arData[1][0] = @TAB & 'Url' ; Key 1
    $arData[1][1] = $url ; Value 1
    $arData[2][0] = @TAB & 'Folder' ; Key 2
    $arData[2][1] = $path ; Value 2
    $arData[3][0] = @TAB & 'File' ; Key 3
    $arData[4][1] = $arUrl[$arUrl[0]] ; Value 3

    IniWriteSection(@ScriptDir & '\data.ini', $name, $arData, 1)

    EndFunc

    [/autoit]


    data.ini

    Spoiler anzeigen
    Code
    [Sophos Antivirus Free]
    	Url=http://www.sophos.com/tools/sav32sfx.exe
    	Folder=J:\Downloads
    	File=sav32sfx.exe
    [Bitdefender Antivirus Free v10]
    	Url=http://download.bitdefender.com/windows/free/winfree/en/bitdefender_free_v10.exe
    	Folder=J:\Downloads
    	File=bitdefender_free_v10.exe

Spenden

Jeder Euro hilft uns, Euch zu helfen.

Download

AutoIt Tutorial
AutoIt Buch
Onlinehilfe
AutoIt Entwickler
  1. Datenschutzerklärung
  2. Impressum
  3. Shoutbox-Archiv
Community-Software: WoltLab Suite™