Patrice--
You have a bug in GDImage64.dll in function ZD_GetTextBound()
invalid definition...
C_IMPORT long ZD_GetTextBound (IN WCHAR* sUseText, IN WCHAR* sUseFont, IN long UseSize, OUT long &TextWidth, OUT long TextHeight, IN long UseStrFormat)
should be OUT long &TextHeight
and ofcause need recompile GDImage64.dll...
this function not return TextHeight, therefore this code useless
// Darken text background to enhance readability while hover lighter background
long nbW = 0, nbH = 0;
ZD_GetTextBound(zCaption, (WCHAR*)$USEFONT, 6, nbW, nbH, ZD_TextHorzUp);
HDC hDCtxt = CreateCompatibleDC(DesktopDC);
HBITMAP hBmptxt = zCreateDIBSection(DesktopDC, nbW, nbH, 32);
SelectObject(hDCtxt, hBmptxt);
long nBackColor = ZD_ARGB(128, 255,255,0);
ZI_GradientPaintDC(hDCtxt, 2, 3, nbW - 4, 3, nBackColor, nBackColor);
zDrawTextToDC(hDCtxt, zCaption, 0, 0, ZD_ARGB(255,0,0,0), (WCHAR*)$USEFONT, 6, 0, ZD_TextHorzUp);
ZI_AlphaBlendEx(hDC, x , y - 2, bW + 1+10, bH + 4, hDCtxt, 0, 0, nbW, nbH, 200, 0, 2);
DeleteDC(hDCtxt);
DeleteObject(hBmptxt);