I created an interactive test, but I had to add as a workaround a call to RedrawWindow because of a bug in wine. In Windows it draws the string right away when I call GdipDrawString, but in Wine it does it after a second call to GdipDrawString or GdipDrawDriverString, so I had to call RedrawWindow before the call to Sleep so the results of GdipDrawString are shown. I tried to find the cause of the bug and fix it, but I got stuck.