Home Page
Articoli
Tips & Tricks
News
Forum
Archivio Forum
Blogs
Sondaggi
Rss
Video
Utenti
Chi Siamo
Contattaci
Username:
Password:
Login
Registrati ora!
Recupera Password
Home Page
Stanze Forum
App. WinForms / WPF .NET
Titlebar lampeggiante
martedì 07 novembre 2006 - 21.46
Elenco Threads
Stanze Forum
Aggiungi ai Preferiti
Cerca nel forum
JohnAsh
Profilo
| Junior Member
50
messaggi | Data Invio:
mar 7 nov 2006 - 21:46
Ciao a tutti,
ho la necessità di far lampeggiare la titlebar di una form che apro dalla mia applicazione, per intenderci il classico lampeggio arancione delle finestre di MSN quando arriva un nuovo messaggio. Cercando un pò su google ho trovato una possibile soluzione, l'utilizzo dell'API FlashWindow() ma non riesco ad implementarla correttamente. Sono convinto che però ci sia sicuramente un altro modo per ottenre lo stesso effetto tramite codice gestito. Qualcuno ha mai avuto la mia stessa esigenza? Come è possibile risolverla?
Utilizzo VC++.
Grazie in anticipo,
saluti!
Brainkiller
Profilo
| Guru
7.999
messaggi | Data Invio:
mer 8 nov 2006 - 10:14
>l'utilizzo dell'API FlashWindow()
Ed è la soluzione corretta.
> ottenre lo stesso effetto tramite codice gestito. Qualcuno
>ha mai avuto la mia stessa esigenza? Come è possibile risolverla?
>Utilizzo VC++.
Non capisco perchè prima parli di codice gestito e poi utilizzi VC++ che è risaputamente non gestito
David De Giacomi | Microsoft MVP
http://blogs.dotnethell.it/david/
JohnAsh
Profilo
| Junior Member
50
messaggi | Data Invio:
mer 8 nov 2006 - 21:00
Grazie per la risposta BrainKiller. Io uso Visual C++ e per codice gestito intendevo "managed code" .. mi sembra che con Visual C++ si compili appunto condice managed .. forse ignoro che i due termini indicano cose diverse
In ogni caso, dopo la tua conferma che FlashWindow() era l'unica soluzione al problema, dopo diversi tentativi sono riuscito ad importare la DLL user32 nella mia applicazione. Se qualcuno si dovesse trovare con la mia stessa esigenza, a me è bastato aggiungere l'istruzione "using System::Runtime::InteropServices;" e:
[DllImport("user32.dll")]
extern int FlashWindow(int hwnd, int bInvert);
che ho inserito subito dopo tutti gli using. Dopodicchè basta richiamare normalmente l'API:
FlashWindow(this->Handle.ToInt32(), 1);
Passando 1 come secondo parametro, la titlebar del form lampeggierà alternando il colore di defualt (blu) all'arancione. Mentre passando 0 verrà ripristinato il colore di default.
Saluti!
Torna su
Stanze Forum
Elenco Threads
Partecipa anche tu! Registrati!
Hai bisogno di aiuto ?
Perchè non ti registri subito?
Dopo esserti registrato potrai chiedere
aiuto sul nostro
Forum
oppure aiutare gli altri
Consulta le
Stanze
disponibili.
Registrati ora !