Bestimmten bereich in extra fenster anzeigen

  • Hallo also ich versuche ein kleinen kasten unten rechts(ca400x300) in ein extra fenster das so die größe von 800x600 hat zuübertragen
    bekomme das nicht hin diesen bestimmten bereich zeigen zulassen ich habe den quellcode von einer lupe genommen.

    ich hoffe ihr könnt mir helfen


    sowas wie eine bildübertragung

    [autoit]

    #include<WindowsConstants.au3>
    #include<GUIConstantsEx.au3>
    Opt("WinTitleMatchMode", 4)
    Opt('GUICloseOnESC', 1)
    Opt('GUIOnEventMode', 1)
    HotKeySet("{F1}", "Zoom")

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

    $x1 = 100
    $y1 = 100

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

    $MagWidth = 800
    $MagHeight = 600
    $MagZoom = 1;
    Global $dll[3], $DeskHDC, $GUIHDC
    Global $scoop = 0x00CC0020
    $dll[1] = DllOpen("user32.dll")
    $dll[2] = DllOpen("gdi32.dll")

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

    Global $shell = WinGetPos("classname=Shell_TrayWnd")
    Global $GUI = GUICreate("MINIMAP", 800, 600, @DesktopWidth - 810, @DesktopHeight - 610 - $shell[3], @SW_SHOW)
    GUISetOnEvent($GUI_EVENT_CLOSE, "OnAutoItExit")
    GUISetState(@SW_SHOW)

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

    $DeskHDC = DllCall("user32.dll", "int", "GetDC", "hwnd", 0)
    $GUIHDC = DllCall("user32.dll", "int", "GetDC", "hwnd", $GUI)

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

    While 1
    MAG()
    Sleep(5)
    WEnd

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

    Func Zoom()
    $MagZoom = $MagZoom + 1
    EndFunc ;==>Zoom

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

    ;-------------------------------------------------------------------------------------------------------------------------------------
    Func MAG()
    Local $magZoomedWidth = $MagWidth / $MagZoom, $magZoomedHeight = $MagHeight / $MagZoom
    DllCall("gdi32.dll", "int", "StretchBlt", "int", $GUIHDC[0], "int", _
    0, "int", 0, "int", $MagWidth, "int", $MagHeight, "int", $DeskHDC[0], "int", _
    $x1, - ($magZoomedWidth / 2), "int", $y1 - ($magZoomedHeight / 2), "int", $magZoomedWidth, "int", $magZoomedHeight, _
    "long", $scoop)
    EndFunc ;==>MAG
    ;-------------------------------------------------------------------------------------------------------------------------------------

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

    Func OnAutoItExit()
    DllCall("user32.dll", "int", "ReleaseDC", "int", $DeskHDC[0], "hwnd", 0)
    DllCall("user32.dll", "int", "ReleaseDC", "int", $GUIHDC[0], "hwnd", $GUI)
    DllClose($dll[1])
    DllClose($dll[2])
    Exit (0)
    EndFunc ;==>OnAutoItExit

    [/autoit]

    Einmal editiert, zuletzt von m3po (8. März 2013 um 23:44)