wysocki Posted December 27, 2021 Posted December 27, 2021 I bought a new Lenovo laptop and everything on the display is pretty hard for me to read, so I adjusted the display settings to 125% (which it shows as "Recommended"). But with this setting above 100%, an Autoit GUI that I created is messed up. The buttons are oversized for the dialog box and placed too far down and right. Anyone else have this issue, and is there a fix?
Moderators Melba23 Posted December 27, 2021 Moderators Posted December 27, 2021 wysocki, A well-known problem - search the forum for "DPI Aware" and you will find many threads on the subject. M23 Danp2 1 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 columnsChooseFileFolder ---- Single and multiple selections from specified path treeview listingDate_Time_Convert -- Easily convert date/time formats, including the language usedExtMsgBox --------- A highly customisable replacement for MsgBoxGUIExtender -------- Extend and retract multiple sections within a GUIGUIFrame ---------- Subdivide GUIs into many adjustable framesGUIListViewEx ------- Insert, delete, move, drag, sort, edit and colour ListView itemsGUITreeViewEx ------ Check/clear parent and child checkboxes in a TreeViewMarquee ----------- Scrolling tickertape GUIsNoFocusLines ------- Remove the dotted focus lines from buttons, sliders, radios and checkboxesNotify ------------- Small notifications on the edge of the displayScrollbars ----------Automatically sized scrollbars with a single commandStringSize ---------- Automatically size controls to fit textToast -------------- Small GUIs which pop out of the notification area
wysocki Posted December 31, 2021 Author Posted December 31, 2021 Thanks so much for the tip. I found this bit of code that I added just before defining the GUI and it works perfectly! ;Make gui DPI AWARE... If @OSVersion = 'WIN_10' Then DllCall("User32.dll", "bool", "SetProcessDpiAwarenessContext" , "HWND", "DPI_AWARENESS_CONTEXT" -2) If @OSVersion = 'WIN_81' Then DllCall("User32.dll", "bool", "SetProcessDPIAware") dinodod and hudsonhock 1 1
dinodod Posted January 2, 2022 Posted January 2, 2022 Quote ;Make gui DPI AWARE... If @OSVersion = 'WIN_10' Then DllCall("User32.dll", "bool", "SetProcessDpiAwarenessContext" , "HWND", "DPI_AWARENESS_CONTEXT" -2) If @OSVersion = 'WIN_81' Then DllCall("User32.dll", "bool", "SetProcessDPIAware") This is exactly what we needed.... Not sure if I also needed the new beta autoitwrapper but I have that too... Now here is the next question.... Will this confuse the app on low res monitors? do I need separate versions now? Digital Chaos - Life as we know it today.I'm a Think Tank. Problem is, my tank is empty.The Quieter you are, the more you can HearWhich would you choose - Peace without Freedom or Freedom without Peace?Digital Chaos Macgyver ToolkitCompletely Dynamic MenuSQLIte controlsAD FunctionsEXCEL UDFPC / Software Inventory UDFPC / Software Inventory 2GaFrost's Admin Toolkit - My main competitor :)Virtual SystemsVMWAREMicrosoft Virtual PC 2007
Recommended Posts
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 accountSign in
Already have an account? Sign in here.
Sign In Now