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

Beiträge von Flitzpiepe84

  • GrooveLoad - ein Grooveshark Downloader

    • Flitzpiepe84
    • 29. April 2014 um 08:42

    vor kurzem mal ausprobiert, aber dann wieder zur Seite gelegt. Weil bei Entfernen von doppelten Titeln immer das Programm abgestürzt ist (Array-Fehler). Jetzt in der neuen Version geht es ohne Probleme :thumbup:

    aber jetzt kommts... :D schön wäre es, wenn diese Funktion etwas "flexibler" arbeiten würde. Also nicht nur mehrfach identische Titel entfernt, sondern auch die, die sich vom (Titel-)Text her ähnlich sind (Rechtschreibfehler, Titel etwas anders geschrieben, zusätzliche Titel-Nummerierung vorhanden, etc). Meinetwegen gern auch aktivierbar über ein kleines extra Optionsmenü oder in den Einstellungen.

    Wenn ich nämlich nach Alben suchen lasse und die doppelten Titel entferne sind trotzdem noch genügend zur manuellen Aussortierung vorhanden. Ist aber nur ein Wunsch, ansonsten Top Arbeit :thumbup:

  • Hausmeister-Schutzmaßnahmen

    • Flitzpiepe84
    • 12. April 2014 um 06:50

    Ich hab es auch mal mit unterschrieben, auch wenn es mich nicht betrifft. Hoffe ihr habt Erfolg damit. Nur würde ich es auch nicht unbedingt auf dieser Unterschriften-Petition beruhen lassen, sondern mal auch die regionalen Medien "einschalten". so wie es BugFix schon vorgeschlagen hat. Das hilft manchmal mehr...

  • _WinAPI_BitBlt und Ausgabe in Bild-Datei

    • Flitzpiepe84
    • 20. März 2014 um 16:52

    ich setz das Ganze hier auf gelöst, denn ansich funktioniert das mit dem bitblt

    nur nicht so wie ich es gerne hätte... :D aber das ist eine andere Sache

  • Edit Control langsam zu langsam, alternative?

    • Flitzpiepe84
    • 12. März 2014 um 19:29

    Ich danke für die Erklärung, jetzt ergibt das Script-Beispiel in der Hilfe auch Sinn...

  • Edit Control langsam zu langsam, alternative?

    • Flitzpiepe84
    • 12. März 2014 um 10:03

    kurze Frage dazu, ich hab diese beiden Befehle auch schon in der Hilfe gesehen und mir angeschaut, aber was genau bewirken sie und wie funktioniert es? ist nämlich doch leider etwas spärlich beschrieben...

    Da ich derzeit auch ne Sache mit ner Listview habe und ich gern die Zeit noch etwas drücken möchte.

  • Farbe herausfinden / einstellen - Tool

    • Flitzpiepe84
    • 11. März 2014 um 09:46

    Ich war mal so frei und hab das Flackern und die Sache mit den Checkboxen "bereinigt"

    Wer noch Anmerkungen dazu hat, bitte her damit :D

    Spoiler anzeigen
    [autoit]


    #include <EditConstants.au3>
    #include <GUIConstantsEx.au3>
    #include <SliderConstants.au3>
    #include <StaticConstants.au3>
    #include <WindowsConstants.au3>

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

    #Region ### START Koda GUI section ### Form=
    $Form1 = GUICreate("ColorGet", 151, 198, 192, 124)
    $Red = GUICtrlCreateSlider(0, 0, 150, 30)
    GUICtrlSetLimit(-1, 10, 0)
    $Blue = GUICtrlCreateSlider(0, 45, 150, 30)
    GUICtrlSetLimit(-1, 10, 0)
    $Yel = GUICtrlCreateSlider(0, 90, 150, 30)
    GUICtrlSetLimit(-1, 10, 0)
    $C = GUICtrlCreateGraphic(0, 120, 150, 52)
    $R = GUICtrlCreateInput("Input1", 0, 176, 150, 21)
    $Ref = GUICtrlCreateCheckbox("RFIB",0,120)
    $Ref2 = GUICtrlCreateCheckbox("RFSL",100,120)
    GUISetState(@SW_SHOW)
    #EndRegion ### END Koda GUI section ###
    Hotkeyset("{F1}","Help")
    While 1
    If GUICtrlread($Red) = 10 then
    $RE = "F"
    Else
    $RE = GUICtrlread($Red)
    Endif
    If GUICtrlread($Blue) = 10 then
    $BL = "F"
    Else
    $BL = GUICtrlread($Blue)
    Endif
    If GUICtrlread($Yel) = 10 then
    $YE = "F"
    Else
    $YE = GUICtrlread($Yel)
    Endif
    GUICtrlSetState($Ref,$GUI_ONTOP)
    GUICtrlSetState($Ref2,$GUI_ONTOP)
    IF BitAnd(GUICtrlRead($Ref),$GUI_CHECKED) = $GUI_CHECKED Then
    Local $R_before
    If $R_before <> GUICtrlRead($R) Then
    GUICtrlsetbkcolor($C,GUICtrlread($R))
    $R_before = GUICtrlread($R)
    EndIf

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

    Endif
    If BitAnd(GUICtrlRead($Ref2),$GUI_CHECKED) = $GUI_CHECKED Then
    GUICtrlsetdata($R,"0x"&$RE&$RE&$BL&$BL&$YE&$YE)
    Endif

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

    $nMsg = GUIGetMsg()
    Switch $nMsg
    Case $GUI_EVENT_CLOSE
    Exit

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

    EndSwitch
    WEnd

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

    Func Help ()
    MsgBox (0, "Help / ColorGet","Slider 1: Red color"&@CRLF&"Slider 2: Green color"&@CRLF&"Slider 3: Blue color"&@CRLF&"RFIB: Autorefresh from InputBox"&@CRLF&"RFSL: Autorefresh from Sliders")
    Endfunc

    [/autoit]
  • Farbe herausfinden / einstellen - Tool

    • Flitzpiepe84
    • 10. März 2014 um 11:36

    also das Flackern ist wirklich sehr störend...
    zum einem werden, soweit ich es weiß, Checkboxen mit BitAND abgefragt und zum anderen würde ich die Hintergrund-Farbe nicht permanent aktualisieren sondern erst wenn sie verändert wurde. Das dürfte dann warscheinlich auch das permanente Flackern beseitigen...

  • Happy Birthday GDI+ Meister

    • Flitzpiepe84
    • 2. März 2014 um 20:27

    Happy Birthday auch von mir :party::thumbup:

  • _WinAPI_BitBlt und Ausgabe in Bild-Datei

    • Flitzpiepe84
    • 9. Februar 2014 um 17:47

    Variante 1 würde mir persönlich auch nicht wirklich gefallen. Auch schon deshalb nicht weil ich rein von den Kenntnissen gar nicht so recht wüsste wie ich das anstellen soll. War schon ein ziemlicher Krampf überhaupt _winapi_bitblt umzusetzen, geschweige denn, dass ich es momentan vollständig verstanden habe wie es funktioniert.

    Variante 2 ist so ähnlich schon umgesetzt. Der Graph wird in einer Child-GUI erzeugt welche die Scrollbar hat. <-- wenn ich dich jetzt richtig verstehe, soll ich in diese Child-GUI eine weitere GUI legen, welche dann den Graphen enthält? Muss ich ausprobieren und klingt irgendwie nach einer brauchbaren Lösung...

    Variante 3 wäre dann wohl die letzte Möglichkeit, wenn gar nichts geht.

  • _WinAPI_BitBlt und Ausgabe in Bild-Datei

    • Flitzpiepe84
    • 9. Februar 2014 um 10:27
    Zitat von Andy

    Hi,
    per bitblt() kannst du bis zu 16384x16384 Pixel große Bereiche blitten.
    Wenn ich das jetzt richtig verstanden habe, willst du sowohl den per GDI erzeugten Graphen als auch die Achsbeschriftungen in EIN Bild plotten?!
    Wo kommt denn das Bild her, welches in deiner GUI angezeigt wird? Dort werden doch auch die Graphen gezeichnet incl. Achsenbeschriftungen. Wieso gibst du nicht einfach genau das in eine Bilddatei aus?

    der Graph wird per GDI+ erzeugt und die Achsbeschriftung per Label. Da ich aber bisher nichts gefunden habe, um ein Label in eine Bilddatei zu plotten, habe ich nach Alternativ-Lösungen gesucht. Das Bild selbst wird im Buffer erzeugt und dann angezeigt. Grundlage dafür ist die MultiGraph-UDF von "sBond" welche ich mir noch ein wenig modifziert und angepasst habe.

  • _WinAPI_BitBlt und Ausgabe in Bild-Datei

    • Flitzpiepe84
    • 8. Februar 2014 um 16:39

    bei mir sieht das Script so aus:

    [autoit]


    Local $hDC = _WinAPI_GetDC($GUI_Graph)
    Local $hMemDC = _WinAPI_CreateCompatibleDC($hDC)
    Local $memBitmap = _WinAPI_CreateCompatibleBitmap($hDC, $GraphSizeX, $GraphSizeY)
    Local $hObj = _WinAPI_SelectObject($hMemDC, $memBitmap)
    _WinAPI_BitBlt($hMemDC, 0, 0, $GraphSizeX, $GraphSizeY, $hDC, 0, 0, $SRCCOPY)

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

    $hBmp = _GDIPlus_BitmapCreateFromHBITMAP($memBitmap)
    _GDIPlus_ImageSaveToFile($hBmp, @ScriptDir &"\test.jpg")
    _WinAPI_DeleteDC($hMemDC)
    _WinAPI_DeleteObject($memBitmap)
    _WinAPI_DeleteDC($hDC)

    [/autoit]

    Also machen tut es was es soll, nur nicht so wie ich es mir vorgestellt habe :(

    Wenn ich das jetzt richtig verstehe, erfasse ich hiermit nur den Bereich der auch auf meinem Monitor sichtbar ist. Und das nutzt mir nicht wirklich was, da ich gern das gesamte Diagramm abspeichern möchte. Die Client-GUI sieht so aus, wie im Anhang(screen.jpg). Das Bild was dabei abgespeichert wird, siehe test.jpg. Der schwarze Bereich wäre dann die eigentliche Größe vom Diagramm. Vielleicht hat ja jemand noch eine Idee...

    Dateien

    screen.jpg 770,24 kB – 482 Downloads test.jpg 405,35 kB – 463 Downloads
  • _WinAPI_BitBlt und Ausgabe in Bild-Datei

    • Flitzpiepe84
    • 8. Februar 2014 um 12:38

    ich hab es jetzt irgendwie hingekriegt, aber das erfüllt letzendlich irgendwie auch nicht so ganz das was ich wollte :( jetzt hab ich nämlich in der Bild-Datei nur den sichtbaren Teil des Graphen in meiner GUI.

    Werd ich wohl doch mein Script noch umschreiben und die Achs-Bezeichnungen per GDI+ erzeugen müssen. War zumindest ein Versuch...

  • _WinAPI_BitBlt und Ausgabe in Bild-Datei

    • Flitzpiepe84
    • 8. Februar 2014 um 11:55

    okay, ich seh es grade.
    _WinAPI_BitBlt gibt nur True oder False zurück. Und der erste Paramter ist mein Ziel-Handle. Das Ziel-Handle müsste wiederum daraus bestehen das es aus dem Inhalt eine Bild-Datei erzeugt. <-- So oder ähnlich sollte es doch funktionieren?
    Aber ich raff momentan einfach nicht wie dieses Ziel-Handle aussehen soll ?(

  • _WinAPI_BitBlt und Ausgabe in Bild-Datei

    • Flitzpiepe84
    • 8. Februar 2014 um 10:50

    Ich hab ein kleines Script welches mir .csv-Dateien grafisch darstellt. Den erzeugten Graph kann ich über GDI+ mir in eine Bild-Datei ausgeben lassen, doch leider fehlen mir da dann die Achsbeschriftungen, da diese aus Text/Label bestehen. Wenig sinnvoll :( Screencapture fällt leider aus, da die Diagramme mit 5760x600 Pixeln wesentlich breiter wie ein Monitor sind.

    Auf Tip und Hinweis von name22 hab ich dann mal mit _WinAPI_BitBlt herum probiert, doch irgendwie krieg ich es nicht gebacken es in eine Bild-Datei auszugeben, geschweige denn das überhaupt eine Datei erzeugt wird :pinch:

    [autoit]


    $hDC_GUI = _WinAPI_GetDC($GUI_Graph)
    $hGraphics = _WinAPI_BitBlt($hDC_GUI, 0, 0, $GraphSizeX, $GraphSizeY, $hDC_GUI, 0, 0, $SRCCOPY)
    $hImage = _GDIPlus_BitmapCreateFromHBITMAP($hGraphics)
    _GDIPlus_ImageSaveToFile($hImage, @ScriptDir &"\test.jpg")

    [/autoit]

    Wo liegt hier der Hund begraben? Ich find es einfach nicht..

  • HEX-Wert zu DEC-Wert mit Vorzeichen

    • Flitzpiepe84
    • 30. Januar 2014 um 10:24

    ich glaub da muss ich wohl ganz straff umdenken, bin da doch etwas verwöhnt mit solchen kleinen "Extras". Werd mir wohl mal ein kleines Nachschlage-Werk machen müssen mit solchen Dingen, nicht das ich dann mal wieder was vergesse :rolleyes:

    Jedenfalls Danke. Der Codeschnippsel, hat gepasst wie die Faust aufs Auge. :thumbup:

  • HEX-Wert zu DEC-Wert mit Vorzeichen

    • Flitzpiepe84
    • 29. Januar 2014 um 20:21

    toll, so kurz der Weg zur Lösung. Und ich hab mir bald halb Google durchsucht und nix vernünftiges gefunden :(

    Schade nur das es für Integer mit Vorzeichen keine entsprechende Deklaration bzw. Funktion gibt. Oder hab ich sie bisher nicht gefunden?

    Ich kenn es bisher aus WinCC Flex und Konsorten, dass ich da für die ankommenden und ausgehenden "Variablen-Werte" meine entsprechenden Formate (auch eventuelle Vorzeichen) deklarieren kann. Aber dort ist ja auch fast alles mit Drag&Drop und Point&Klick...

  • HEX-Wert zu DEC-Wert mit Vorzeichen

    • Flitzpiepe84
    • 29. Januar 2014 um 17:47

    Ich habe hier eine Modbus-Kommunikation über TCP-IP und einen ziemlichen Knoten in meinen Gehirngängen :(

    Meine Werte die ich vom Controller erhalte sind als Hex-String...
    Sämtliche Werte die größer wie hexadezimal 0000 (positive Werte), gewandelt in dezimal bekomme ich korrekt angezeigt. Sobald aber die Werte kleiner wie dezimal 0 sind (also negative Werte) bekomme ich das Ergebnis als "unsigned Integer".

    Bsp.: Hex: FFFC entspricht DEC: -4 , bekomme aber nur "65532" angezeigt. Meiner Meinung nach ein Integer-Wert ohne Vorzeichen.

    Wie kann ich diesen Hex-Wert/String als Dezimal-Wert mit Vorzeichen ausgeben lassen?

  • Scrollbar in Gui?

    • Flitzpiepe84
    • 25. Januar 2014 um 14:11

    das was du gefunden hast, ist nur ein Bruchteil, das musst du dann noch eine Menge dazu scripten,

    aber

    schau mal hier , da gibt es eine fertige UDF dafür, inklusive Beispiel

    Hab ich selbst erst eingesetzt und funktioniert wunderbar

    Edit: dein Script dir mal angepasst damit du weißt wie es aussehen könnte. Das Label musst du dir entsprechend in der Größe noch anpassen und bei _GUIScrollbars_Generate($Form1, 1000, 1000) den ersten Wert auf Null. damit hast dann nur die seitliche Scroll-Leiste

    Spoiler anzeigen
    [autoit]

    #include <GUIConstantsEx.au3>
    #include <WindowsConstants.au3>
    #include <GUIScrollbars_Ex.au3>
    #include <File.au3>

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

    #Region ### START Koda GUI section ### Form=
    $Form1 = GUICreate("Form", 278, 275, 0, 0, $GUI_SS_DEFAULT_GUI)
    GUICtrlCreateLabel("", 0, 0, 1000, 1000)
    GUISetState(@SW_SHOW)
    #EndRegion ### END Koda GUI section ###
    _GUIScrollbars_Generate($Form1, 1000, 1000)
    $Pic01 = GUICtrlCreatePic("", 6, 6, 58, 58)
    $Pic02 = GUICtrlCreatePic("", 70, 6, 58, 58)
    $Pic03 = GUICtrlCreatePic("", 134, 6, 58, 58)
    $Pic04 = GUICtrlCreatePic("", 198, 6, 58, 58)

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

    $Pic11 = GUICtrlCreatePic("", 6, 70, 58, 58)
    $Pic12 = GUICtrlCreatePic("", 70, 70, 58, 58)
    $Pic13 = GUICtrlCreatePic("", 134, 70, 58, 58)
    $Pic14 = GUICtrlCreatePic("", 198, 70, 58, 58)

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

    $Pic21 = GUICtrlCreatePic("", 6, 134, 58, 58)
    $Pic22 = GUICtrlCreatePic("", 70, 134, 58, 58)
    $Pic23 = GUICtrlCreatePic("", 134, 134, 58, 58)
    $Pic24 = GUICtrlCreatePic("", 198, 134, 58, 58)

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

    $Pic31 = GUICtrlCreatePic("", 6, 198, 58, 58)
    $Pic32 = GUICtrlCreatePic("", 70, 198, 58, 58)
    $Pic33 = GUICtrlCreatePic("", 134, 198, 58, 58)
    $Pic34 = GUICtrlCreatePic("", 198, 198, 58, 58)

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

    $Pic41 = GUICtrlCreatePic("", 6, 262, 58, 58)
    $Pic42 = GUICtrlCreatePic("", 70, 262, 58, 58)
    $Pic43 = GUICtrlCreatePic("", 134, 262, 58, 58)
    $Pic44 = GUICtrlCreatePic("", 198, 262, 58, 58)

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

    While 1
    $nMsg = GUIGetMsg()
    Switch $nMsg
    Case $GUI_EVENT_CLOSE
    Exit

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

    EndSwitch
    WEnd

    [/autoit]
  • Child-GUI - im Vordergrund und getrennt von Haupt-GUI schließen

    • Flitzpiepe84
    • 25. Januar 2014 um 13:47

    die Lösung habe ich jetzt selber gefunden nach stundenlangen googeln, es lag nur an den Styles und exStyles.

    Ich habe jetzt für sämtliche Fenster die sich zusätzlich öffnen lassen, aber unabhängig von der Haupt-GUI wieder schließen lassen müssen, folgende styles und exStyles verwendet:

    [autoit]

    GUICreate ( "title" , width , height , left , top , BitOR($WS_POPUP, $WS_BORDER), $WS_EX_MDICHILD, $hGUI)

    [/autoit]

    Vielleicht hilft es ja jemanden der neu in der Materie ist weiter, wenn er auch das Problem hat und sich erst damit auseinander setzt.

    Hilfreich war auch dieses englische Autoit-Tutorial zu Multiple GUI´s

  • Child-GUI - im Vordergrund und getrennt von Haupt-GUI schließen

    • Flitzpiepe84
    • 21. Januar 2014 um 15:43

    Ich habe eine Haupt-GUI erstellt und mein Script läuft im OnEventMode.
    In der GUI habe ich eine Menü-Leiste über die ich ein weiteres Fenster öffnen möchte, wo ich dann vorgebene Einstellungen über Checkboxen vornehmen möchte (Einstell-Optionen). Dieses soll, wenn es geöffnet wird im Vordergrund stehen und getrennt von der Haupt-GUI schließbar sein.

    Das Aufrufen des Child-GUI´s ist nicht das Problem, nur komm ich nicht dahinter wie ich es anstelle es in den Vordergrund zu stellen, da ich in der Haupt-GUI schon ein fest eingebettetes Child habe (2. Child liegt bei Aufruf unter dem 1.Child). Beim Anklicken kommt es dann aber in den Vordergrund. Und wie kann ich es realisieren dieses Child getrennt zu schließen?

    Edit: Script von unnötigem Inhalt befreit zur besseren Problem-Analyse

    Spoiler anzeigen
    [autoit]

    #include <GUIConstants.au3>
    #include <ButtonConstants.au3>
    #include <EditConstants.au3>
    #include <GUIConstantsEx.au3>
    #include <mod_MultiGraph.au3>
    #include <Date.au3>
    #include <file.au3>
    #include <GUIScrollbars_Ex.au3>
    #Include <WinAPI.au3>
    #include <_GetTaskBarProps.au3>
    #include <GuiComboBoxEx.au3>
    #include <GuiImageList.au3>
    #include <GuiStatusBar.au3>

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

    Opt("GUIOnEventMode", 1)
    _GDIPlus_Startup()

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

    $WorkingHeight= _GetworkingAreaHeight()- _GetTaskBarProps("Height")+6
    $WorkingWidht= _GetworkingAreaWidth() -14

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

    $hGUI= GUICreate("Diagramm-Tool", $WorkingWidht, $WorkingHeight, 3, 3)
    ; Menü erzeugen mit allen Unterpunkten
    $nFileMenu = GUICtrlCreateMenu("Datei")
    $nOpenLogfile = GUICtrlCreateMenuitem("Logfile öffnen", $nFileMenu)
    $nExititem = GUICtrlCreateMenuitem("Beenden", $nFileMenu)
    $nOptionsMenu = GUICtrlCreateMenu("Optionen")
    $nOptionsItem = GUICtrlCreateMenuitem("Einstellungen", $nOptionsMenu)
    $nHelpMenu = GUICtrlCreateMenu("?")
    $nHelpItem = GUICtrlCreateMenuItem("Hilfe", $nHelpMenu)
    $nInfoItem = GUICtrlCreateMenuItem("Info", $nHelpMenu)

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

    Global $plot = 0, _
    $iHorzPos, _ ; horizontale Position der Scrollbar
    $iVertPos, _ ; vertikale Position der Scrollbar
    $iXY_Pos, _ ; Koordinaten der Scrollbar
    $iX_Pos, _ ; X-Koordinate der Scrollbar
    $iY_Pos, _ ; Y-Koordiante der Scrollbar
    $sLogfile = "", _ ; Pfad des Logfiles
    $ClientSize = WinGetClientSize($hGUI), _ ; Größe der Client
    $hImage, _ ; Inhalt der Imagelist
    $aBuffer, _ ; Array für Inhalt des Logfiles
    $i, _
    $iChannel, _ ; Zähler-Variable für die Farbkanäle
    $i_Index, _ ; Zähler-Variable für den Farb-Index
    $Graph, _
    $GraphSizeX = 5760, _ ; X-Größe des Graphen (Länge)
    $GraphSizeY = 2400, _ ; Y-Größe des Graphen (Höhe)
    $Colour[16], _ ; Array für die Farben in der Imagelist
    $Colour_Channel[9], _ ; Array für die Farbe im Kanal (Graph)
    $indexFarbwert[9], _ ; Array für hinterlegten Farbwert zum dem einzelnen Index in Imagelist
    $indexAlpha[9], _ ; Array für Alpha-Wert für die jeweilige Farbe
    $MittelWert[7], _ ; Arry für Mittelwerte aus den jeweiligen Max- und Min-Werten
    $MaxWert[7], _ ; Array für Max-Werte
    $MinWert[7] ; Array für Min-Werte

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

    if $ClientSize[1] < 700 Then
    $HsizeGraph = $ClientSize[1]-180
    Else
    $HsizeGraph = 675
    EndIf

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

    ;~ Child-GUI erstellen
    $GUI_Graph = GUICreate("Graph", $ClientSize[0]-25, $HsizeGraph, 10, 10, $WS_Child, Default, $hGUI)

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

    ;~ Scrollbar erzeugen

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

    _GUIScrollbars_Generate($GUI_Graph, $GraphSizeX+150, $GraphSizeY+100)

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

    GUISetState()
    GUICtrlSetResizing($GUI_Graph, $GUI_DOCKALL)

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

    ; Zur urprünglichen GUI wechseln
    GUISwitch($hGUI)
    GUICtrlSetResizing($hGUI, $GUI_DOCKALL)
    GUISetState(@SW_SHOW)

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

    While 1
    GUISetOnEvent($GUI_EVENT_CLOSE, "_Events")
    GUISetOnEvent($GUI_EVENT_MINIMIZE, "_Events")
    GUISetOnEvent($GUI_EVENT_RESTORE, "_Events")
    GUICtrlSetOnEvent($nExititem, "_Events")
    GUICtrlSetOnEvent($nOptionsItem, "_Options")

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

    WinMove($hGUI,"",3,3)

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

    _ScrollPosition()

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

    Sleep (10)
    WEnd

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

    Func _Events() ; hier sind die Events der GUI:
    ; Fenster Schliessen, Minimieren, Maximieren,

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

    Select
    Case @GUI_CtrlId = $GUI_EVENT_CLOSE
    Exit

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

    Case @GUI_CtrlId = $GUI_EVENT_MINIMIZE

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

    Case @GUI_CtrlId = $GUI_EVENT_RESTORE

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

    Case $nExititem
    Exit

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

    EndSelect

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

    EndFunc

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

    ; Ermitteln der Scrollbar-Position im Client und der Koordinaten
    Func _ScrollPosition()
    $iHorzPos= -(_GUIScrollBars_GetScrollInfoTrackPos($hGUI, $SB_HORZ))
    $iVertPos= -(_GUIScrollBars_GetScrollInfoTrackPos($hGUI, $SB_VERT))
    $iXY_Pos = _GUIScrollbars_Locate_Ctrl ($GUI_Graph, $iHorzPos,$iVertPos)
    $iX_Pos = -($iXY_Pos[0]-$iHorzPos)
    $iY_Pos = -($iXY_Pos[1]-$iVertPos)
    EndFunc

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

    Local $Rect[4]
    Func _GetworkingAreaWidth()
    Local $aRect[4]
    Local $iWidth = 0

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

    $aRect = _GetworkingAreaRect()
    If Not @error Then
    $iWidth = $aRect[2] - $aRect[0]
    Return $iWidth
    Else
    Return SetError(1,0,0)
    EndIf

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

    EndFunc

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

    Func _GetworkingAreaHeight()
    Local $aRect[4]
    Local $iWidth = 0

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

    $aRect = _GetworkingAreaRect()
    If Not @error Then
    $iWidth = $aRect[3] - $aRect[1]
    Return $iWidth
    Else
    Return SetError(1,0,0)
    EndIf

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

    EndFunc

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

    Func _GetworkingAreaRect()
    Local $aRect[4]
    Const $SPI_GETWORKAREA = 0x0030
    Local $rect = DllStructCreate("int;int;int;int")
    Local $iResult = 0

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

    $iResult = _WinAPI_SystemParametersInfo($SPI_GETWORKAREA, 0 , DllStructGetPtr($rect))
    If $iResult Then
    $aRect[0] = DllStructGetData($rect,1)
    $aRect[1] = DllStructGetData($rect,2)
    $aRect[2] = DllStructGetData($rect,3)
    $aRect[3] = DllStructGetData($rect,4)
    Return $aRect
    Else
    Return SetError(1,0,0)
    EndIf

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

    EndFunc

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

    ;~ ; Options
    Func _Options()
    $Options = GUICreate("Optionen", 400, 500, (@DesktopWidth/2)-100, (@DesktopHeight/2)-250, BitOR($WS_CHILD, $WS_TABSTOP, $WS_SIZEBOX), $WS_EX_CONTROLPARENT, $hGUI)
    GUISwitch($Options)
    GUICtrlCreateLabel("Auflösung", 10, 20, 50, 20, BitOR($SS_CENTERIMAGE, $ES_CENTER))
    $Abbruch = GUICtrlCreateButton("Abbruch", 10, 40, 50, 20)
    GUISetState(@SW_SHOW)

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

    EndFunc

    [/autoit]

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™