I wrote about autocompletion for TEdits before here and here. Back then I was using the SHAutoComplete API function in the Shlwapi.dll because I am a lazy basterd™. That hasn't changed really but I also love fiddling with stuff, so some years ago, I actually added directory and general string completion to dzlib (and apparently … Continue reading Autocompletion for TEdits revisited
Month: April 2019
Getting the Windows version revisited
In my last blog post Getting the Windows version, I claimed that there is no way to get the actual version number of Windows 10 without reading the version information of the Kernel32.dll and interpreting it 1. Since then I have been told that there is actually a Registry key that contains the Windows version: … Continue reading Getting the Windows version revisited
Getting the Windows version
When Microsoft introduced Windows 10 they said it would be the last version of Windows ever. They lied of course, because since then we have had multiple versions of an operating system called "Windows 10". Even worse, starting with Windows 8 they made their WinAPI function GetVersionEx lie about the Windows version, if the program … Continue reading Getting the Windows version
A simple way to create an URL label in Delphi
An URL label is a TLabel on a form which displays some blue, underlined text which, when clicked with the mouse, opens a web page. This kind of labels is nothing new in Delphi, I remember using them even back in the 1990s, but they always were a pain in the lower back to create: … Continue reading A simple way to create an URL label in Delphi
Image Processing Magic
It's a bit frightening what image processing "magic" can do to a picture: Original: Processed: And that's not even advanced "magic" but some rather simple code written in Delphi (most of which I can't publish here unfortunately). What it does is: Smooth brigthness by applying a brigthness map. Adjust for lens edge blur by selective … Continue reading Image Processing Magic
Deleting unwanted entries from the “New” submenu of Windows Explorer
Microsoft Office has the annoying habit of adding itself to various places in the Windows user interface. One of them is the popup menu of the Windows Explorer. It adds one entry for each of the installed programs to the "New" submenu. Have you ever used them? I have only used that submenu for creating … Continue reading Deleting unwanted entries from the “New” submenu of Windows Explorer
How to defeat useful tools
Sizer is a very useful tool for sizing and positioning windows. It adds a right click menu to a window's title bar where you can select one of multiple configured window sizes and positions. It also displays the current window size while you are resizing it by dragging its frame. Now, why would somebody try … Continue reading How to defeat useful tools
Extend the event OnClick of all MenuItems in the screen to execute another block of code
Shameless self promotion: On StackOverflow somebody asked the question in the title and I answered it. And as you might have guessed, I am mighty proud of having had that idea. It might be interesting to know that this is how GExperts fixes some of the IDE bugs and enhances some forms: It creates a … Continue reading Extend the event OnClick of all MenuItems in the screen to execute another block of code
Things that every desktop program should do
There are a few things that every single one of our internal programs should do: Every dialog should be sizeable if it makes any sense at all. Delphi makes that easy with the Align and Anchor properties. Ask yourself the following questions. If you answer any of them with Yes, you should make the dialog … Continue reading Things that every desktop program should do