2016-06-06 6 views
0

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

enter image description here enter image description here

Répondre

0

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.

1

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 
+0

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

+0

@ nepix32, parlez-vous de MSW ou de GTK/Cocoa? – Igor

+0

Désolé de ne pas être plus précis: je veux dire ToolTip pour '' DataViewCtrl'' pour MSW. – nepix32