Si le texte d'une cellule est plus long que la largeur de la cellule, seule une partie du texte sera visible. Lorsque je place le curseur de la souris au-dessus de cette cellule, une petite fenêtre pop-up apparaîtra dans une tentative d'afficher le texte intégral (voir les captures d'écran ci-dessous). Je me demande s'il existe un moyen de supprimer/désactiver ce comportement.wxpython: supprimer/désactiver la fenêtre contextuelle survolée avec listctrl
Répondre
Vous pouvez utiliser DataViewListCtrl
à la place, qui n'a pas cette fonctionnalité utile (ToolText lorsque la ligne est ellipsized). Pour autant que je sache, ce n'est pas une baisse pour ListCtrl
, donc la syntaxe pour l'utiliser sera différente.
Cette info-bulle est montrée par le contrôle natif lorsque le style étendu LVS_EX_LABELTIP
est utilisé et est, à mon humble avis, très utile, car il est impossible de voir le contenu d'une cellule trop longue sans redimensionner la colonne entière sans elle. Pour cette raison, il est activé par défaut et comme c'est quelque chose de très spécifique à MSW, l'API wxWidgets ne permet pas de le désactiver.
Si vous avez vraiment besoin de le faire, vous pouvez toujours utiliser un code spécifique FORSU et faire quelque chose comme (avertissement: code non testé) ceci:
#ifdef __WXMSW__
HWND hwndList = (HWND)listctrl->GetHandle();
LPARAM style = ::SendMessage(hwndList, LVM_GETEXTENDEDLISTVIEWSTYLE, 0, 0);
::SendMessage(hwndList, LVM_SETEXTENDEDLISTVIEWSTYLE, 0, style & ~LVS_EX_LABELTIP);
#endif
Si vous pouvez montrer une façon de permettre ** ** l'info-bulle pour '' DataViewCtrl'' il y a certainement une prime de mon côté :) – nepix32
@ nepix32, parlez-vous de MSW ou de GTK/Cocoa? – Igor
Désolé de ne pas être plus précis: je veux dire ToolTip pour '' DataViewCtrl'' pour MSW. – nepix32