Manipuler le contrôle d'Info-bulle
La classe CToolTipCtrl fournit un groupe de fonctions membres qui contrôlent les différents attributs de l'objet d' CToolTipCtrl et de la fenêtre d'info-bulle.
L'étape, dans le menu contextuel, et les durées de reshow pour les fenêtres d'info-bulle peuvent être définis et récupérés par des appels à GetDelayTime et à SetDelayTime.
Modification de l'apparence des fenêtres d'info-bulle avec les fonctions suivantes :
GetMargin et SetMargin extrait et définit la largeur entre la bordure de l'info-bulle et le texte d'info-bulle.
GetMaxTipWidth et SetMaxTipWidth extrait et définit la largeur maximale de la fenêtre d'info-bulle.
GetTipBkColor et SetTipBkColor extrait et définit la couleur d'arrière-plan de la fenêtre d'info-bulle.
GetTipTextColor et SetTipTextColor extrait et définit la couleur du texte de la fenêtre d'info-bulle.
Pour que le contrôle d'info-bulle soit informé des messages importants, tels que les messages de WM_LBUTTONXXX , vous devez passer par suivre les messages à votre contrôle tooltip.La meilleure méthode pour ce travail est de faire un appel à CToolTipCtrl::RelayEvent, dans la fonction d' PreTranslateMessage de la fenêtre propriétaire.L'exemple suivant illustre une méthode possible (en 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 fonction membre de bruit .