astuce simple
pour mettre un Bitmap dans un tooltip en le personalisant
fond,couleur du texte ,police du texte avec ajout d'un titre
Source / Exemple :
void CreateMyTooltip (HWND hDlg,char *ToolTipTitre){
unsigned int uid = 0;
LPTSTR lptstr = ToolTipTitre;
iccex.dwICC = ICC_WIN95_CLASSES|ICC_ANIMATE_CLASS|ICC_TAB_CLASSES;
iccex.dwSize = sizeof(iccex);
InitCommonControlsEx(&iccex);
hwndTT = CreateWindowEx(WS_EX_TOPMOST|WS_EX_TOOLWINDOW ,TOOLTIPS_CLASS,NULL,WS_POPUP | TTS_NOPREFIX | TTS_ALWAYSTIP| TTS_BALLOON,CW_USEDEFAULT,CW_USEDEFAULT,CW_USEDEFAULT,CW_USEDEFAULT,hmain,NULL,wc.hInstance,NULL);
HBITMAP bmp=LoadBitmap(wc.hInstance,(LPCSTR)204);
SIZE sz;
sz.cx=20;
sz.cy=20;
hlg=CreateWindowEx(0, "STATIC", NULL, WS_VISIBLE|WS_CHILD|SS_BITMAP,2, 2,sz.cx, sz.cy, hwndTT, NULL, wc.hInstance, NULL);
SetBitmapDimensionEx(bmp,3,3,&sz);
SendMessage(hlg, STM_SETIMAGE, IMAGE_BITMAP, (LPARAM)bmp);
SetWindowPos(hwndTT,HWND_TOPMOST,0,0,0,0,SWP_NOMOVE | SWP_NOSIZE | SWP_NOACTIVATE);
GetClientRect (hDlg, &rect);
ti.cbSize = sizeof(ti);
ti.uFlags = TTF_SUBCLASS;
ti.hwnd = hDlg;
ti.hinst = wc.hInstance;
ti.uId = uid;
ti.lpszText = lptstr;
ti.rect.left = rect.left;
ti.rect.top = rect.top;
ti.rect.right = rect.right;
ti.rect.bottom = rect.bottom;
SendMessage(hwndTT, TTM_ADDTOOL, 0, (LPARAM) (LPTOOLINFO) &ti);
SendMessage(hwndTT, TTM_SETTIPTEXTCOLOR, (WPARAM) RGB(0,255,0),0);
SendMessage(hwndTT, WM_SETFONT, (WPARAM)GetStockObject(0x0E), MAKELPARAM(TRUE, 0));
SendMessage(hwndTT, TTM_SETTITLE, (WPARAM) (int) 1, (LPARAM)(LPCTSTR) titre);
SendMessage(hwndTT, TTM_SETTIPBKCOLOR,(WPARAM)RGB(204,51,153),0 );
SendMessage(hwndTT, CCM_SETWINDOWTHEME,0,(LPARAM) (LPWSTR) "BUTTON");
}
Vous n'êtes pas encore membre ?
inscrivez-vous, c'est gratuit et ça prend moins d'une minute !
Les membres obtiennent plus de réponses que les utilisateurs anonymes.
Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.
Le fait d'être membre vous permet d'avoir des options supplémentaires.