Créer un effet de clignotement d'onglet (comme les programmes de messagerie instantanée) à l'aide de wxNotebook

StackOverflow https://stackoverflow.com/questions/834782

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é.

Était-ce utile?

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é.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top