HexEdit 5 does not take system text scaling into account #5

Open
d0vgan opened this Issue Aug 30, 2016 · 6 comments

Projects

None yet

3 participants

@d0vgan
d0vgan commented Aug 30, 2016 edited

HexEdit 5 build 1349, under Windows 8.1 64-bit.
I have a laptop with a crazy display resolution of 2560x1440. This seems to be common for new laptop displays and probably for new monitors..
It's clear that such display resolution gives very small GUI items, so the only way to work with it is to set the "size of all items" under the Control Panel -> Display to the value of "Larger - 150%" or "Extra Large - 200%". This makes most of the things, including different windows, icons and texts in these windows to be acceptable in size.
But HexEdit 5 seems to use its own drawing technique of its hex editing window (where the file content is viewed and edited) that does not take this system's "size of all items" into account. So this editing window looks very small for me.
Can this be fixed by applying the system's scaling to HexEdit's editing window?

@d0vgan
d0vgan commented Aug 30, 2016

Here is how it looks for me:
HexEdit screenshot

@AndrewWPhillips
Owner

All you need to do is increase the display font size. There are several ways:

  • on std toolbar click the increase font button (10th button with large A on it)
  • on the format bar click th4e font size drop down list (6th button) and choose a larger font
  • hold down Ctrl key + use mouse wheel (HexEdit has had this for 15 years - even before MSWord!)

The font (including size) is remembered for every file you open but for new files you can change the default. To do this you can use the "Save Current as Default" in Doc/General options page. In detail:

  1. Open any file in HexEdit
  2. Open the Options dialog
  3. Go to Document/General page
  4. Click "Use default settings"
  5. Go to Document/Display page
  6. Click the font button (eg "Normal Font")
  7. Select a new size from the list or enter a value in the Size box (eg 32)
  8. Click OK
  9. Go back to Document/General page
  10. Click save current as default

Alternately after step 4
5. Click OK to go back to file edit mode
6. Adjust the font size as above (and any other display settings)
7. Open Options dialog
8. Click save current as default
9. Click OK

Note that there were a few display problems for non-std DPI (ie not 100%). However, I have been running my work laptop at 125% for a few months and only noticed one (that I fixed about 2 months ago). But if you notice anything please tell me.

@d0vgan
d0vgan commented Sep 14, 2016

Thank you, it is fixed for me now.

@dconnet
dconnet commented Nov 3, 2016 edited

I'm running at 250% (4K monitor) - the about box third party list is ... messy. Windows assumes a program is dpi-aware if it has no manifest. If I force hexedit.exe to be not-aware, then everything draws properly.

By setting the registry entry:
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\SideBySide]
"PreferExternalManifest"=dword:00000001

and then creating a "hexedit.exe.manifest":
`

false `
@AndrewWPhillips
Owner

HexEdit.exe should have a manifest file - it's embedded in the .EXE as a resource. I have fixed a few DPI problems that I noticed when running at 125% but 250% obviously makes things more noticeable. The 3rd party list in the About box is from a 3rd party (CodeProject project), but I have the source and will look into it.

Thanks for reproting that.

@dconnet
dconnet commented Nov 4, 2016

Whoops - you're right - darn semicolons on the mt cmd! So my previous fix for anyone watching is:

  • set the registry key
  • run mt -inputresource:HexEdit.exe;#1 -out:HexEdit.exe.manifest
  • Edit HexEdit.exe.manifest and change dpiAware to false
  • Place this manifest file next to the exe

Alternatively, open the exe as a resource in Visual Studio and directly manipulate the manifest.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment