manipuler le contrôle d'Info-bulle
La classe CToolTipCtrl fournit un groupe de méthodes qui contrôlent les différents attributs de l'objet CToolTipCtrl et la fenêtre d'info-bulle.
Les durées initiale, de popup et de réapparition pour les fenêtres d'info-bulle peuvent être définies et récupérées avec des appels à GetDelayTime et SetDelayTime.
Modifier l'apparence des fenêtres d'info-bulle avec les fonctions suivantes :
GetMargin et SetMargin Récupère et définit la largeur entre la bordure d'info-bulle et le texte d'info-bulle.
GetMaxTipWidth et SetMaxTipWidth Récupère et définit la largeur maximale de la fenêtre d'info-bulle.
GetTipBkColor et SetTipBkColor Récupère et définit la couleur d'arrière-plan de la fenêtre d'info-bulle.
GetTipTextColor et SetTipTextColor Récupère et définit la couleur du texte de la fenêtre d'info-bulle.
Pour que le contrôle d'info-bulle soit notifié des messages importants, par exemple des messages WM_LBUTTONXXX, vous devez relayer les messages à votre contrôle d'info-bulle. La meilleure méthode pour le relai consiste à effectuer un appel à CToolTipCtrl::RelayEvent, dans la fonction PreTranslateMessage de la fenêtre propriétaire. L'exemple suivant illustre une méthode possible (supposant que le contrôle d'info-bulle est appelé m_ToolTip) :
BOOL CMyDialog::PreTranslateMessage(MSG* pMsg)
{
if(pMsg->message== WM_LBUTTONDOWN ||
pMsg->message== WM_LBUTTONUP ||
pMsg->message== WM_MOUSEMOVE)
{
m_ToolTipCtrl.RelayEvent(pMsg);
}
return CDialog::PreTranslateMessage(pMsg);
}
Pour supprimer immédiatement une fenêtre d'info-bulle, appelez la méthode Pop.