Créer un effet de clignotement d'onglet (comme les programmes de messagerie instantanée) à l'aide de wxNotebook
-
08-07-2019 - |
Question
Comment créer un effet de clignotement par onglet comme le font les programmes de messagerie instantanée avec wxNotebook?
Un bon exemple est celui de tout programme de messagerie instantanée à onglets clignotant pour indiquer à l'utilisateur qu'il a reçu un nouveau message instantané.
La solution
Vous pouvez attribuer une icône à chaque onglet (à l'aide de SetPageImage
si je me souviens bien). Je l'avais fait dans le passé pour montrer une barre de progression. Vous pouvez l'utiliser pour dessiner un bitmap (wxMemoryDC) chaque fois que votre minuterie déclenche et met à jour cette image.
Vous pouvez également utiliser wxAuiNotebook
. Il n'utilise pas de widgets natifs, mais il fait partie du framework AUI (adopté dans wx2.8) et permet des choses modernes, comme le glisser-déposer d'onglets. Bien sûr, il a aussi la méthode SetPageBitmap
.
Vous pouvez soit rendre un petit clignotement de voyant, soit dessiner le nom du contact sur un fond coloré (la couleur change à chaque intervalle de clignotement) et l'utiliser lui-même comme icône au lieu de dessiner le nom du contact à côté de l'icône. . Cette dernière méthode ne fonctionne qu'avec wxAuiNotebook
si je me souviens bien.
Cela fait longtemps que je ne l’ai pas fait, mais cela a très bien fonctionné.