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. TJF

Beiträge von TJF

  • MouseWheel auswerten

    • TJF
    • 3. September 2017 um 10:55

    Hallo,


    ich bin ja dank Oscar auf die Lösung mit dem Focus hier gekommen. Allerdings ergibt sich trotzdem noch ein spezielles Problem i.V.m. Listview und der hier eingesetzten Child-Gui. Ich habe das mal hier auf das Grundproblem reduziert skizziert. Anliegend die GuiScroll.au3 und der Quelltext.

    Spoiler anzeigen
    C
    #include <GUIConstantsEx.au3>
    #include <WindowsConstants.au3>
    #include <StructureConstants.au3>
    #include <GUIScrollBars.au3>
    #include <ScrollBarConstants.au3>
    #include <ListViewConstants.au3>
    #include <SendMessage.au3>
    #include "GuiScroll.au3"    ; -> http://autoit.de/index.php?page=Thread&postID=162464#post162464
    
    HotKeySet("{ESC}", "Terminate")
    
    startGui()
    
    Func startGui()
        $Gui = GUICreate("",700,600,-1,-1,$WS_POPUP)
        $up = GUICtrlCreateButton("UP",10,10,80,40)
        $down = GUICtrlCreateButton("DOWN",100,10,80,40)
        GUICtrlCreateLabel("Schliessen mit ESC", 550, 10, 120,40)
        GUIRegisterMsg($WM_MOUSEWHEEL, "_Scrollbars_WM_MOUSEWHEEL")
        $hScrollPl = GUICreate("$hScrollPl",500,400,10,100,BitOR($WS_POPUP,$WS_GROUP,$WM_VSCROLL,$WS_CLIPSIBLINGS),$WS_EX_MDICHILD,$Gui)
        GUISetBkColor(0xffffff)
        Scrollbar_Create($hScrollPl, $SB_VERT, 400)
        Scrollbar_Step(10, $hScrollPl, $SB_VERT)
        _GUIScrollBars_SetScrollInfoMax($hScrollPl, $SB_VERT, 500)
    
        $art = GUICtrlCreateLabel("", 1, 1) ; Label für folgenden Focus...
    
        $hListV = GUICtrlCreateListView("1|2", 100, 100, 300, 200, BitOR($LVS_REPORT, $LVS_NOCOLUMNHEADER, $LVS_SHOWSELALWAYS))
        GUISetState(@SW_SHOW, $Gui)
        GUISetState(@SW_SHOW, $hScrollPl)
        GUICtrlSetState($art, $GUI_FOCUS); Focus auf Label von $hScrollPl
        GUISwitch($Gui)
        ;GUISetState(@SW_SHOW, $Gui)
        While 1
            $iMsg3 = GUIGetMsg()
            $aCursorInfo = GUIGetCursorInfo()
            Switch $iMsg3
                Case $iMsg3 = $aCursorInfo
                    Select
                        Case $aCursorInfo[2] And $aCursorInfo[4] = $up
                            MsgBox(0,"Info", "Button up gedrückt")
                        Case $aCursorInfo[2] And $aCursorInfo[4] = $down
                            MsgBox(0,"Info", "Button down gedrückt")
                        Case Else
                            ;GUICtrlSetState($art, $GUI_FOCUS)
                    EndSelect
            EndSwitch
        WEnd
        GUIRegisterMsg($WM_MOUSEWHEEL, "")
    EndFunc ; ==> startGui()
    
    Func _Scrollbars_WM_MOUSEWHEEL($hWnd, $iMsg, $wParam, $lParam)
        #forceref $hWnd, $iMsg, $lParam
        Local $i,$iDirn, $iDelta = BitShift($wParam, 16) ; Mouse wheel movement
    
        If BitAND($wParam, 0x0000FFFF) Then ; If Ctrl or Shft pressed move Horz scrollbar
            $iDirn = $SB_LINERIGHT
            If $iDelta > 0 Then $iDirn = $SB_LINELEFT
            For $i = 1 To 7
                _SendMessage($hWnd, $WM_HSCROLL, $iDirn)
            Next
        Else ; Move Vert scrollbar
            $iDirn = $SB_LINEDOWN
            If $iDelta > 0 Then $iDirn = $SB_LINEUP
            for $i = 1 to 7 ; Schleife regelt die Scroll Geschwindigkeit, je mehr Durchläufe desto schneller
                _SendMessage($hWnd, $WM_VSCROLL, $iDirn)
            Next
    
        EndIf
        Return $GUI_RUNDEFMSG
    EndFunc   ;==>_Scrollbars_WM_MOUSEWHEEL
    
    Func Terminate()
        Exit
    EndFunc
    Alles anzeigen

    Folgendes tritt hier auf:

    Im Bereich der weissen Child-Gui kann mit der Maus gescrollt werden wegen dem Focus drauf. Klickt man auf einen der beiden Buttons oben, muss man erst wieder innerhalb des Child-Bereiches (außerhalb des Listview-Rahmens) klicken, damit das wieder geht danach (logisch). Die auskommentierte Zeile unten im "Case Else" würde das automatisch machen. Ist die Zeile aktiv, kann man durch Klick in den Parent-Bereich die Sache wieder aktiv machen. Eine zweite Zeile, die z.B. zuerst den Focus auf den Parent-Bereich legt, hilft aber auch nicht.

    Klickt man nun innerhalb des Listview-Rahmens ist der Focus nicht zurückholbar - ausser man klickt erst wieder auf einen Button innerhalb. Wie könnte man das hinbekommen, dass der Focus zwischen beiden automatisch wechselt in dieser Konstellation mit dieser GUIGetCursorInfo-Schleife?

    Dank und Gruß Thomas

    Dateien

    GuiScroll.zip 2,84 kB – 602 Downloads
  • ffmpeg in Gui-Edit - Stoppen mit Konsolenkommando "q"

    • TJF
    • 5. März 2017 um 18:33

    Tut es doch. Dauert nur etwas... Aber als Kompromiss so möglich.

  • ffmpeg in Gui-Edit - Stoppen mit Konsolenkommando "q"

    • TJF
    • 5. März 2017 um 17:54

    ProcessClose schließt das Programm leider auch nicht. Abgesehen davon würde die abgebrochene Teil-Datei auch unbenutzbar sein. Z.B. zu Testzwecken...

  • ffmpeg in Gui-Edit - Stoppen mit Konsolenkommando "q"

    • TJF
    • 5. März 2017 um 14:33

    Sehe gerade, dass mit dem Send-Befehl ffmpeg nicht beendet wird, sondern eher in einem Pause-Zustand verweilt...

  • ffmpeg in Gui-Edit - Stoppen mit Konsolenkommando "q"

    • TJF
    • 5. März 2017 um 14:05

    Hallo Oscar,

    tausend Dank!

    Gruß
    Thomas

    P.S.: Falls es jemandem sonst nützlich ist noch die Variablen oben definieren. Z.B.:
    Global $frun = false
    Global $line, $oldline

  • Internetexplorer minimieren für 1Minute dann 1Minute auf Vollbild dann wieder 1Minute minimieren in schleife

    • TJF
    • 5. März 2017 um 13:41

    Sowas? Ist ausbaufähig :)

    AutoIt
    Local $s = 2000
    Run(@ProgramFilesDir & "\Internet Explorer\iexplore.exe")
    Sleep($s)
    WinSetState("[CLASS:IEFrame]", "", @SW_HIDE)
    Run("notepad.exe")
    Sleep($s)
    WinSetState("[CLASS:Notepad]", "", @SW_HIDE)
    Local $i = 0
    
    
    Do
    	$i += 1
    	_Wechsel()
    Until $i = 5
    
    
    Func _Wechsel()
    	WinSetState("[CLASS:IEFrame]", "", @SW_SHOW)
    	Sleep($s)
    	WinSetState("[CLASS:IEFrame]", "", @SW_HIDE)
    	WinSetState("[CLASS:Notepad]", "", @SW_SHOW)
    	Sleep($s)
    	WinSetState("[CLASS:Notepad]", "", @SW_HIDE)
    EndFunc
    Alles anzeigen
  • ffmpeg in Gui-Edit - Stoppen mit Konsolenkommando "q"

    • TJF
    • 5. März 2017 um 13:07

    Hallo,

    ich lasse ffmpeg in einem GUI-Edit laufen. Das funktioniert auch. Allerdings bekomme ich den Abbruch nicht hin, der im normalen Konsolenfenster mit der Tastatureingabe "q" funktioniert. Hat jemand eine Idee, wie man das hinbekommt? Unten die vereinfachte Darstellung. In der Funktion _STOPClick() habe ich ControlSend und diverse Send-Kommandos erfolglos getestet. ALT+0113 = "q"

    Gruß

    Thomas

    AutoIt
    #include <GUIConstants.au3>
    #include <Array.au3>
    #Include <GuiEdit.au3>
    
    
    Opt("GUIOnEventMode", 1)
    Global  $MAIN, $CMD_WINDOW
    Global  $IP_CONFIG, $OTHER, $BUTT_CLOSE
    Global $winhandle = 0
    Global $pid = 0
    
    
    
    
    $MAIN = GUICreate("CMD FUNCTIONS", 623, 449, 192, 114)
    $CMD_WINDOW = GUICtrlCreateEdit("", 10, 10, 600, 289, BitOR($ES_AUTOVSCROLL,$ES_AUTOHSCROLL,$ES_READONLY,$WS_VSCROLL))
        GUICtrlSetFont($CMD_WINDOW, 12, 800, 0, "Times New Roman")
        GUICtrlSetColor($CMD_WINDOW, 0xFFFFFF)
        GUICtrlSetBkColor($CMD_WINDOW, 0x000000)
    $IP_CONFIG = GUICtrlCreateButton("START", 10, 310, 75, 25)
        GUICtrlSetOnEvent($IP_CONFIG, "_STARTClick")
    $OTHER = GUICtrlCreateButton("STOP", 95, 310, 75, 25)
        GUICtrlSetOnEvent($OTHER, "_STOPClick")
    $BUTT_CLOSE = GUICtrlCreateButton("EXIT", 535, 310, 75, 25)
        GUICtrlSetOnEvent($BUTT_CLOSE, "_ExitNow")
    GUISetState(@SW_SHOW)
    
    
    
    
    While 1
        Sleep(100)
    WEnd
    
    
    
    
    Func _ExitNow()
        Exit
    EndFunc
    
    
    Func _STARTClick()
    	Local $command = @ScriptDir & "\test2.cmd"
        $pid = Run($command,@SystemDir,@SW_HIDE, $STDERR_MERGED)
    	Local $line, $oldline
    	_GUICtrlEdit_AppendText($CMD_WINDOW, $command & @CRLF)
    	While Sleep(50)
    		$line = StdoutRead($pid)
    		If $oldline <> $line Then
    			_GUICtrlEdit_AppendText($CMD_WINDOW, @LF & $line)
    			$oldline = $line
    		EndIf
    		If Not ProcessExists($pid) Then ExitLoop
    	WEnd
    EndFunc
    
    
    Func _GetHwndFromPID($pid) ; Handle
    	$hWnd = 0
    	$stPID = DllStructCreate("int")
    	Do
    		$winlist2 = WinList()
    		For $i = 1 To $winlist2[0][0]
    			If $winlist2[$i][0] <> "" Then
    				DllCall("user32.dll", "int", "GetWindowThreadProcessId", "hwnd", $winlist2[$i][1], "ptr", DllStructGetPtr($stPID))
    				If DllStructGetData($stPID, 1) = $pid Then
    					$hWnd = $winlist2[$i][1]
    					ExitLoop
    				EndIf
    			EndIf
    		Next
    		Sleep(100)
    	Until $hWnd <> 0
    	Return $hWnd
    EndFunc   ;==>_GetHwndFromPID
    
    
    Func _STOPClick()
    	;$winhandle = _GetHwndFromPID($pid)
    	;ControlSend($winhandle,"","[CLASS:Edit; INSTANCE:1]","q")
    	Send("ffmpeg.exe{ASC 0113}")
    EndFunc
    Alles anzeigen

    Dateien

    test2_cmd.txt 129 Byte – 365 Downloads
  • DLL einbinden - libsndfile

    • TJF
    • 1. Februar 2017 um 19:05

    Die Wert-Rückgabe stimmt. Muss im letzten Fall nur noch in Dezibel umgerechnet werden. Hier z.B. Rückgabe von "31639" -> (-0.30 dB).

    Haken setze ich. Wollte kurz nochmal testen... Danke!

  • DLL einbinden - libsndfile

    • TJF
    • 1. Februar 2017 um 18:48

    So funktioniert es:

    AutoIt
    $SFC_CALC_SIGNAL_MAX = 0x1040
    $pointer2 = DllStructCreate("double")
    $sSF_Command2 = DllCall($hLibSndFile, "int:cdecl", "sf_command", "ptr", $aRet[0],"int",$SFC_CALC_SIGNAL_MAX,"ptr",DllStructGetPtr($pointer2),"int","8")
    _ArrayDisplay($sSF_Command2)
    MsgBox(0,"pointer2",DllStructGetData($pointer2,1))
  • DLL einbinden - libsndfile

    • TJF
    • 31. Januar 2017 um 19:02

    Stehe schon wieder auf dem Schlauch. Das sizeof checke ich nicht in autoit:

    http://www.mega-nerd.com/libsndfile/com…AX_ALL_CHANNELS

    AutoIt
    $SFC_CALC_MAX_ALL_CHANNELS = 0x1042
    Local $peaks[2]
    $sSF_Command = DllCall($hLibSndFile, "int:cdecl", "sf_command","ptr", $aRet[0],"DOUBLE",$SFC_CALC_MAX_ALL_CHANNELS,"DOUBLE",$peaks,"int","2")
    _ArrayDisplay($sSF_Command)
  • DLL einbinden - libsndfile

    • TJF
    • 31. Januar 2017 um 17:07

    Super! Danke! Ich mache mich mal dran...

  • DLL einbinden - libsndfile

    • TJF
    • 31. Januar 2017 um 16:13

    Hallo,

    kann mir jemand bitte auf die Sprünge helfen bei der Frage, wie man die libsndfile DLL einbauen kann? Unten ein erster Versuch ... Ich will letztendlich mit sf_command bestimmte Datei-Eigenschaften abfragen. DLL hängt an.

    API:
    http://www.mega-nerd.com/libsndfile/api.html

    Dank und Gruß
    Thomas

    AutoIt
    #include <String.au3>
    #include <InetConstants.au3>
    #include <MsgBoxConstants.au3>
    
    
    
    
    Global $g_Libsndfile = DllOpen(@ScriptDir & "\libsndfile-1.dll")
    Global $file = @ScriptDir & "\test.wav"
    
    
    $sf_info = DllStructCreate("int64 frames;int samplerate;int channels ;int format ;int sections ;int seekable;")
    $stString =  DLLStructCreate("char[260]")
    DllStructSetData($stString, 1, $file)
    
    
    ConsoleWrite(_SF_Open($stString,DllStructGetPtr($sf_info)) & @CRLF)
    MsgBox(0,"",DllStructGetPtr($sf_info))
    _Close_()
    
    
    
    
    
    
    Func _SF_Open($stString,$sfinfo)
    	Return DllCall($g_Libsndfile, "int*:cdecl" ,"sf_wchar_open", "ptr", DllStructGetPtr($stString), "int", "SFM_READ","ptr*", DllStructGetPtr($sf_info))
    EndFunc
    
    
    Func _Close_()
    	DllClose($g_Libsndfile)
    EndFunc
    Alles anzeigen

    Dateien

    dll.zip 433,05 kB – 332 Downloads
  • Unsaubere Grafikdarstellung

    • TJF
    • 16. Juli 2016 um 20:10

    Die Lösung - s.Anlage: In Gimp -> Bild -> Modus -> Indiziert ... -> Internet optimierte Palette verwenden

    Das Bild habe ich ursprünglich als Vektorgrafik generiert, dann als png exportiert. Diese Einstellung oben ist die einzige von unzähligen Varianten in Gimp und Irfanview mit der ich aus dem png ein jpg machen konnte, das jetzt sauber abgebildet wurde...

    Bilder

    • 0.jpg
      • 2,04 kB
      • 52 × 70
  • Unsaubere Grafikdarstellung

    • TJF
    • 16. Juli 2016 um 12:18

    Hallo,
    kann mir jemand sagen, warum die Grafik, die als jpg selber in Ordnung ist, in der Darstellung hier aber unsaubere kleine schwarze "Flecken" hat?

    AutoIt
    #include <GUIConstantsEx.au3>
    #include <WindowsConstants.au3>
    Global $gui, $guiPos, $pic, $picPos
    Example()
    Func Example()
        Local $n, $msg
        GUICreate("", 80, 120, -1, -1, $WS_SIZEBOX + $WS_SYSMENU)
        GUISetBkColor(0x000000)
        $n = GUICtrlCreatePic(@ScriptDir & "\0.jpg", 8, 8, 52, 70)
        GUISetState()
        While 1
            $msg = GUIGetMsg()
            If $msg = $GUI_EVENT_CLOSE Then ExitLoop
        WEnd
    EndFunc
    Alles anzeigen


    Anliegend das 0.jpg und auch ein Bildschirmfoto, wie ich das sehe.

    Dank und Gruß
    Thomas

    Edit (autoBert): das Attachement, zum einfacheren DL, verlinkt

    Bilder

    • Bildschirmfoto.jpg
      • 4,14 kB
      • 117 × 123
    • 0.jpg
      • 2,3 kB
      • 52 × 70
  • [UDF] GUICtrlPic - Update am 27.12.2010

    • TJF
    • 17. August 2015 um 16:30

    Ich glaube, Du hast in der GUICtrlPic.au3 in Zeile 440 das $iDelay vergessen ...

    und - zwar unwesentlich - in pictures.zip die 4 Exit*.pngs. Dafür ist die ipHovered.png zuviel :)

  • IconDock - Mac style Icon toolbar

    • TJF
    • 17. August 2015 um 16:20

    Hallo,

    habe da gerade nochmal reingeschaut. Kann mir jemand sagen, warum da ein Icon-Wechsel stattfindet (_IconDock_GetBitmapFromHIcon.au3), sobald man z.B. ganz links auf Previous klickt und Zeile 90 so ändert?


    AutoIt
    Case 1
    	;ConsoleWrite("! Previous" & @CRLF)
    	MsgBox(0,"","! Previous"); oder MsgBox(0,"","! Previous",2)

    Also anstatt ConsoleWrite eine MsgBox ...

    Ich klicke also im Original ganz links auf das Previous-Icon und es bleibt das PlayPrevious.ico stehen. Sobald die MsgBox drin steht, bleibt nach dem Klick das PlayPrevious_a.ico stehen...


    Viele Grüße
    Thomas

  • MusicBrainz - DLL

    • TJF
    • 29. Mai 2015 um 08:47

    Wow! Hab' tausend Dank! Das hilft mir in die Spur...

    Viele Grüße
    Thomas

  • MusicBrainz - DLL

    • TJF
    • 28. Mai 2015 um 22:21

    Hallo,

    kann mir jemand Hilfestellung geben, wie man diese DLL am besten handeln kann? Also wie man damit an die Information der Disc-ID kommt ? Serverseitige Abfragen verstehe ich. Mein Problem ist der grundsätzliche Umgang mit der Ansteuerung von DLLs mit Autoit. Ich komme eigentlich nur mit dieser Abfrage erfolgreich zurecht:

    AutoIt
    Local $hDLL = DllOpen("discid.dll")
    $aArr0 = DllCall($hDLL, "str", "discid_get_default_device"); LW H:
    MsgBox("","Laufwerk",$aArr0[0])

    Das sind die Funktionen in der discid.dll , die hier inkl. Quelltext komplett heruntergeladen werden kann: https://musicbrainz.org/doc/libdiscid


    Anliegend die *.dll alleine.

    [0]|discid_free
    [1]|discid_get_default_device
    [2]|discid_get_error_msg
    [3]|discid_get_feature_list
    [4]|discid_get_first_track_num
    [5]|discid_get_freedb_id
    [6]|discid_get_id
    [7]|discid_get_last_track_num
    [8]|discid_get_mcn
    [9]|discid_get_sectors
    [10]|discid_get_submission_url
    [11]|discid_get_toc_string
    [12]|discid_get_track_isrc
    [13]|discid_get_track_length
    [14]|discid_get_track_offset
    [15]|discid_get_version_string
    [16]|discid_get_webservice_url
    [17]|discid_has_feature
    [18]|discid_new
    [19]|discid_put
    [20]|discid_read
    [21]|discid_read_sparse

    Dank und Gruß
    Thomas

    Dateien

    discid.zip 30,43 kB – 305 Downloads
  • Schleifenproblem

    • TJF
    • 10. Mai 2015 um 13:42

    Ich nochmal... Das Hauptproblem ist nicht die Schleife an sich, sondern die Frage, wie ich das Bildbeispiel ansprechen kann. Ich habe jetzt entgegen dem Quelltext oben (->name22), den "Case $iBild" hier durch "Case 11" ersetzt. Mit der ID des Bildes (wenn ich sie so einsetze) funktioniert das immer. Man kann also nach Tab3 gehen, aufs Bild klicken, dann auf einen anderen Tab wechseln und wieder auf Tab3 gehen und Draufklicken. Wie aber kann ich da eine Variable setzen, mit der es so funktioniert? Vor allem wenn ich vorher noch mehrere Bilder mit ID, etc., in ein Array schreiben würde und z.B. einen "Case $aArray[2][3]" quasi setzen wollen würde? Die Bilder befinden sich alle innerhalb von $hGroup2.

    Ich sitze hier irgendwo auf dem Schlauch...

    Spoiler anzeigen
    AutoIt
    #include <GUIConstantsEx.au3>
    #include <WindowsConstants.au3>
    #include <StructureConstants.au3>
    #include <GUIScrollBars.au3>
    #include <ScrollBarConstants.au3>
    #include "GuiScroll.au3"	; -> http://autoit.de/index.php?page=Thread&postID=162464#post162464
    #include <ScreenCapture.au3>
    
    
    Global $iBild=9999
    
    
    startGui()
    
    
    Func startGui()
    	global $mainGui = GUIcreate("Titel", 600, 600)
    
    
    	$tab = GUICtrlCreateTab(-1,-1,600,600)
    	$tab1 = GUICtrlCreateTabItem("Tab1")
    	GUICtrlSetState(-1, $GUI_SHOW); will be display first
    	; gui elemente
    	$tab2 = GUICtrlCreateTabItem("Tab2")
    
    
    	; gui elemente
    	$tab3 = GUICtrlCreateTabItem("Tab3")
    	$buttonStart = GUIctrlcreatebutton("start", 10, 30,120,30)
    	$tab4 = GUICtrlCreateTabItem("Tab4")
    	;gui elemente
    	$tab5 = GUICtrlCreateTabItem("Tab5")
    	; gui elemente
    	GUICtrlCreateTabItem("")
    
    
    	GUIsetstate()
    
    
    	$hGroup2 = GUICreate("",270,170,235,25,BitOR($WS_POPUP,$WS_BORDER,$WS_GROUP,$WS_VSCROLL,$WS_CLIPSIBLINGS),$WS_EX_MDICHILD,$mainGui)
    	;$hGroup2 = GUICreate("",270,170,235,25,BitOR($WS_POPUP,$WS_GROUP,$WS_VSCROLL,$WS_CLIPSIBLINGS),$WS_EX_MDICHILD,$mainGui) ; ohne Rahmen
    	GUISetBkColor(0xffffff)
    	GUICtrlCreateButton("Testbutton", 10, 170, 100, 25)
    	Scrollbar_Create($hGroup2, $SB_VERT, 170 + 25) ; alle 3 Top-Werte (170 auch für Button und GuiCreate) einstellen um den Scrollpunkt festzulegen! +25 macht 25 Pix scrollbar
    	Scrollbar_Step(10, $hGroup2, $SB_VERT)
    
    
    
    
    	While 1
    		$msg = GUIgetmsg()
    		Switch $msg
    			Case $tab
    				If GUICtrlRead($tab, 1) = $tab3 Then
    					GUISetState(@SW_SHOW, $hGroup2)
    					WinActivate($mainGui)
    					$iBild = _Bildvorschau($hGroup2,@ScriptDir & "\cd.jpg")
    				Else
    					GUISetState(@SW_HIDE, $hGroup2)
    				EndIf
    			;Case $iBild
    				;MsgBox (0, "ID", $iBild)
    			Case 11; ID von $iBild
    				MsgBox (0, "ID", "gedrückt")
    			Case $buttonStart
    				ConsoleWrite("start()")
    			Case $GUI_EVENT_CLOSE
    				ConsoleWrite("exit"  & @CRLF)
    				Exit
    		EndSwitch
    	WEnd
    EndFunc ; ==> startGui()
    
    
    Func _Bildvorschau($hGui,$sImage)
    	Local Const $iWidth = 100, $iHeight = 100 ; Soll-Vorschaugroesse
    	Local Const $iX = 10, $iY = 10 ; x und y Abstand
    	GUISwitch($hGUI)
    	_GDIPlus_Startup() ;initialize GDI+
    	Local $hImage = _GDIPlus_BitmapCreateFromFile($sImage)
    	Local $hBitmap = _GDIPlus_ImageResize($hImage, $iWidth, $iHeight)
    	Local $hHBitmap = _GDIPlus_BitmapCreateHBITMAPFromBitmap($hBitmap)
    
    
    	$cPic = GUICtrlCreatePic("", $iX, $iY, $iWidth, $iHeight)
    	GUICtrlSendMsg($cPic, 0x0172, 0, $hHBitmap)
    
    
    	_WinAPI_DeleteObject($hHBitmap)
    	_GDIPlus_BitmapDispose($hBitmap)
    	_GDIPlus_ImageDispose($hImage)
    	_GDIPlus_Shutdown()
    	Return $cPic
    EndFunc
    Alles anzeigen
  • Schleifenproblem

    • TJF
    • 4. Mai 2015 um 13:14

    Das ist schon klar, dass ich den OnEventMode hier im Beispiel nicht benutze :) Ich wollte nur sagen, dass ich schon mehrere Anläufe - auch im OnEventMode (auch kombiniert mit dem MsgLoopMode mit ->An/Aus) und auch i.V.m. DummyControls - unternommen habe, die immer an irgendeinem Punkt gehakt haben. Alleine das Problem nach dem Umschalten (plus zurückschalten) der Tabs ...

    Ich werde aber nochmal starten ...

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™