Được rồi đây là giải pháp của tôi win32:
HICON CreateSmallIcon(HWND hWnd)
{
static TCHAR *szText = TEXT ("100");
HDC hdc, hdcMem;
HBITMAP hBitmap = NULL;
HBITMAP hOldBitMap = NULL;
HBITMAP hBitmapMask = NULL;
ICONINFO iconInfo;
HFONT hFont;
HICON hIcon;
hdc = GetDC (hWnd);
hdcMem = CreateCompatibleDC (hdc);
hBitmap = CreateCompatibleBitmap (hdc, 16, 16);
hBitmapMask = CreateCompatibleBitmap (hdc, 16, 16);
ReleaseDC (hWnd, hdc);
hOldBitMap = (HBITMAP) SelectObject (hdcMem, hBitmap);
PatBlt (hdcMem, 0, 0, 16, 16, WHITENESS);
// Draw percentage
hFont = CreateFont (12, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
TEXT ("Arial"));
hFont = (HFONT) SelectObject (hdcMem, hFont);
TextOut (hdcMem, 0, 0, szText, lstrlen (szText));
SelectObject (hdc, hOldBitMap);
hOldBitMap = NULL;
iconInfo.fIcon = TRUE;
iconInfo.xHotspot = 0;
iconInfo.yHotspot = 0;
iconInfo.hbmMask = hBitmapMask;
iconInfo.hbmColor = hBitmap;
hIcon = CreateIconIndirect (&iconInfo);
DeleteObject (SelectObject (hdcMem, hFont));
DeleteDC (hdcMem);
DeleteDC (hdc);
DeleteObject (hBitmap);
DeleteObject (hBitmapMask);
return hIcon;
}
Xem thêm: http://support.microsoft.com/kb/318876 – Paul