I have made a few changes to the code in Fake TSpeedButton based on a TBitBtn: I replaced all that line drawing with a call to the WinAPI function DrawEdge. I set both bitmaps to Transparent. I moved the bitmap generation to a sub procedure. Thus I got rid of about 20 LOC. That's negative … Continue reading Fake TSpeedButton based on a TBitBtn – updated
Month: January 2018
Fake TSpeedButton based on a TBitBtn
When you google for TSpeedButton and Focus a lot of hits are where people ask how to set the focus to a TSpeedButton and the answer of course is, that it isn't possible because TSpeedButton descends from TGraphicControl which does not have a window handle and therefore cannot receive the input focus. And that is … Continue reading Fake TSpeedButton based on a TBitBtn
Beware: IOTAComponent.GetPropValue needs 4 bytes for an enum
The ToolsAPI interface IOTAComponent declares two methods for getting property values: [delphi] IOTAComponent = interface(IUnknown) // [...] { Given the index or name, returns the property value. The untyped var must be large enough to hold the returned value. If the property is a descendant of TPersistent, the return value is a IOTAComponent. For properties … Continue reading Beware: IOTAComponent.GetPropValue needs 4 bytes for an enum
Clone a Linux system without imaging it
When I want to clone a Linux system (or the boot partition/drive of any operating system), I usually use Clonezilla and make a image of the boot disk or boot partition. Unfortunately those image files can become quite large and it is a pain in the lower back to restore them on a smaller hard … Continue reading Clone a Linux system without imaging it
Installing Webmin on Ubuntu 16.04 LTS (Xenial Xerus)
The instructions how to install Webmin on Debian (and thereby also Ubuntu) seem a bit outdated because edits to the file /etc/apt/sources.list should be replaced by adding a file to the directory /etc/apt/sources.list.d/. So, instead of adding deb https://download.webmin.com/download/repository sarge contrib to the file /etc/apt/sources.list create a new file /etc/apt/sources.list.d/webmin.list with that content and possibly … Continue reading Installing Webmin on Ubuntu 16.04 LTS (Xenial Xerus)
Switching a XenServer VM from PVM back to HVM
(Disclaimer: I am by no means an expert with XenServer. So please don’t take anything you read here for granted. It’s my own experience and what I found in documentation and online.) If switching a XenServer Linux VM to paravirtualization fails, you usually end up with a non booting VM which is quite annoying. Switching … Continue reading Switching a XenServer VM from PVM back to HVM
How to shrink a Windows VM in XenServer
Apparently shrinking a Windows VM (actually any kind of VM) cannot be done with XenServer and XenCenter. You need to create an image of the original volume to a smaller virtual disk in order to do that. On top of that, the tool that used to work fine for this, Citrix XenConvert, has been deprecated … Continue reading How to shrink a Windows VM in XenServer
System wide mouse gestures with dzMouseGestures
When Mozilla released their last big update, they deprecated quite a few APIs for plugins. One of these plugins was FireGestures which I used to get some of the mouse gestures of Opera in Firefox. There are a few new plugins that try to replace FireGestures but none of them really seemed to work quite … Continue reading System wide mouse gestures with dzMouseGestures
Deleting a XenServer Storage Repository
(Disclaimer: I am by no means an expert with XenServer. So please don’t take anything you read here for granted. It’s my own experience and what I found in documentation and online.) In my previous post, I described how to add a Storage Repository to a XenServer using the xe command line tool. Now, since … Continue reading Deleting a XenServer Storage Repository
Installing XenServer updates via XenCenter fails
(Disclaimer: I am by no means an expert with XenServer. So please don't take anything you read here for granted. It's my own experience and what I found in documentation and online.) There is at least one reason why installing updates for XenServer via XenCenter may fail (with unhelpful error messages of course): You haven't … Continue reading Installing XenServer updates via XenCenter fails