Crea l'effetto di lampeggiamento delle schede (come i programmi di messaggistica istantanea) utilizzando wxNotebook

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

Domanda

Come posso creare l'effetto di lampeggiamento di Tab come fanno i programmi di messaggistica istantanea usando wxNotebook?

Un buon esempio di questo potrebbe essere qualsiasi programma di messaggistica istantanea a schede che lampeggi per mostrare all'utente di aver ricevuto un nuovo messaggio istantaneo.

È stato utile?

Soluzione

Puoi dare a ciascuna scheda un'icona (usando SetPageImage se ricordo bene). L'ho fatto in passato per mostrare una barra di avanzamento. Puoi usarlo per disegnare una bitmap (wxMemoryDC) ogni volta che il timer si innesca e aggiorna quell'immagine.

Puoi anche usare wxAuiNotebook . Non utilizza widget nativi, ma fa parte del framework AUI (adottato in wx2.8) e consente cose moderne, come il trascinamento delle schede. Naturalmente ha anche il metodo SetPageBitmap .

Puoi rendere un piccolo led lampeggiante, oppure puoi disegnare il nome del contatto su uno sfondo colorato (il cui colore cambia ogni intervallo di lampeggio) e usarlo come icona invece di disegnare il nome del contatto accanto all'icona . Quest'ultimo metodo funziona solo usando wxAuiNotebook se ricordo bene.

È passato del tempo da quando l'ho fatto, ma ha funzionato molto bene.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top