Jump to content

Expand Desktop Pixel Size


Recommended Posts

  • Moderators

demandnothing,

Search for "zoom" or "StretchBlt". There are plenty of magnifying scripts out there.

M23

Public_Domain.png.2d871819fcb9957cf44f4514551a2935.png Any of my own code posted anywhere on the forum is available for use by others without any restriction of any kind

Open spoiler to see my UDFs:

Spoiler

ArrayMultiColSort ---- Sort arrays on multiple columns
ChooseFileFolder ---- Single and multiple selections from specified path treeview listing
Date_Time_Convert -- Easily convert date/time formats, including the language used
ExtMsgBox --------- A highly customisable replacement for MsgBox
GUIExtender -------- Extend and retract multiple sections within a GUI
GUIFrame ---------- Subdivide GUIs into many adjustable frames
GUIListViewEx ------- Insert, delete, move, drag, sort, edit and colour ListView items
GUITreeViewEx ------ Check/clear parent and child checkboxes in a TreeView
Marquee ----------- Scrolling tickertape GUIs
NoFocusLines ------- Remove the dotted focus lines from buttons, sliders, radios and checkboxes
Notify ------------- Small notifications on the edge of the display
Scrollbars ----------Automatically sized scrollbars with a single command
StringSize ---------- Automatically size controls to fit text
Toast -------------- Small GUIs which pop out of the notification area

 

Link to comment
Share on other sites

Here, I rewrote the _ScreenCapture_Capture() function, because it does not works correctly with SRCCOPY value.

#Include <Icons.au3>
#Include <WinAPIEx.au3>

Opt('MustDeclareVars', 1)

Global $hForm, $Pic

HotKeySet('{F5}', '_Capture')

$hForm = GUICreate('MyGUI', 400, 400)
$Pic = GUICtrlCreatePic('', 0, 0, 400, 400)
GUISetState()

Do
Until GUIGetMsg() = -3

Func _Capture()

    Local $hScreenshort = _ScreenCapture(MouseGetPos(0), MouseGetPos(1), 100, 100)
    Local $hBitmap = _WinAPI_FitToBitmap($hScreenshort, _WinAPI_GetClientWidth($hForm), _WinAPI_GetClientHeight($hForm))

    _WinAPI_FreeObject($hScreenshort)
    _SetHImage($Pic, $hBitmap)
EndFunc   ;==>_Capture
    
Func _ScreenCapture($iX, $iY, $iWidth, $iHeight)

    Local $hWnd, $hDC, $hMemDC, $hBitmap

    $hWnd = _WinAPI_GetDesktopWindow()
    $hDC = _WinAPI_GetDC($hWnd)
    $hMemDC = _WinAPI_CreateCompatibleDC($hDC)
    $hBitmap = _WinAPI_CreateCompatibleBitmap($hDC, $iWidth, $iHeight)
    _WinAPI_SelectObject($hMemDC, $hBitmap)
    _WinAPI_BitBlt($hMemDC, 0, 0, $iWidth, $iHeight, $hDC, $iX, $iY, $MERGECOPY)
    _WinAPI_ReleaseDC($hWnd, $hDC)
    _WinAPI_DeleteDC($hMemDC)
    Return $hBitmap
EndFunc   ;==>_ScreenCapture

Icons.au3

WinAPIEx.au3

Edited by Yashied
Link to comment
Share on other sites

Hi, 

if you need only a resizeable Zoomwindow, this could be useful for you.

The script captures the "zoomed" Screens, saves the "pictures" to disk and can find the saved pictures at the screen or in a window.

Try it^^ 

http://www.autoit.de/index.php?page=Thread&postID=110480#post110480

(the prospeed.dll is not necessary, only if you want to find the saved pictures very fast)

ciao

Andy

Edited by AndyG
Link to comment
Share on other sites

Here, I rewrote the _ScreenCapture_Capture() function, because it does not works correctly with SRCCOPY value.

#Include <Icons.au3>
#Include <WinAPIEx.au3>

Opt('MustDeclareVars', 1)

Global $hForm, $Pic

HotKeySet('{F5}', '_Capture')

$hForm = GUICreate('MyGUI', 400, 400)
$Pic = GUICtrlCreatePic('', 0, 0, 400, 400)
GUISetState()

Do
Until GUIGetMsg() = -3

Func _Capture()

    Local $hScreenshort = _ScreenCapture(MouseGetPos(0), MouseGetPos(1), 100, 100)
    Local $hBitmap = _WinAPI_FitToBitmap($hScreenshort, _WinAPI_GetClientWidth($hForm), _WinAPI_GetClientHeight($hForm))

    _WinAPI_FreeObject($hScreenshort)
    _SetHImage($Pic, $hBitmap)
EndFunc   ;==>_Capture
    
Func _ScreenCapture($iX, $iY, $iWidth, $iHeight)

    Local $hWnd, $hDC, $hMemDC, $hBitmap

    $hWnd = _WinAPI_GetDesktopWindow()
    $hDC = _WinAPI_GetDC($hWnd)
    $hMemDC = _WinAPI_CreateCompatibleDC($hDC)
    $hBitmap = _WinAPI_CreateCompatibleBitmap($hDC, $iWidth, $iHeight)
    _WinAPI_SelectObject($hMemDC, $hBitmap)
    _WinAPI_BitBlt($hMemDC, 0, 0, $iWidth, $iHeight, $hDC, $iX, $iY, $MERGECOPY)
    _WinAPI_ReleaseDC($hWnd, $hDC)
    _WinAPI_DeleteDC($hMemDC)
    Return $hBitmap
EndFunc   ;==>_ScreenCapture

Icons.au3

WinAPIEx.au3

thank you, that is what i need.. may i pm you to ask about modifying it?

Hi, 

if you need only a resizeable Zoomwindow, this could be useful for you.

The script captures the "zoomed" Screens, saves the "pictures" to disk and can find the saved pictures at the screen or in a window.

Try it^^ 

http://www.autoit.de/index.php?page=Thread&postID=110480#post110480

(the prospeed.dll is not necessary, only if you want to find the saved pictures very fast)

ciao

Andy

i dont speak german
Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
 Share

  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...