Around and About .NET World

Il blog di Marco Minerva
posts - 1671, comments - 2232, trackbacks - 2135

My Links

News

Contattami su Live Messenger:


MCTS: Windows, Web, Distributed Applications & SQL Server

MCPD: Enterprise Applications

Tag Cloud

Archives

Post Categories

Links

ShieldLink in C#

Dopo aver mostrato come utilizzare le nuove API di Windows Vista per creare ShieldButton e TextBox con Cue Banner, è la volta dello ShieldLink:

Per creare un controllo di questo tipo è sufficiente inviare il messaggio BS_COMMANDLINK ad un oggetto Button:

public class ShieldLink : Button { private const int BS_COMMANDLINK = 0x0000000E; private const uint BCM_SETNOTE = 0x00001609; private const uint BCM_SETSHIELD = 0x0000160C; [DllImport("user32.dll", CharSet = CharSet.Unicode)] private static extern IntPtr SendMessage(HandleRef hWnd, UInt32 Msg, IntPtr wParam, string lParam); [DllImport("user32.dll", CharSet = CharSet.Unicode)] private static extern IntPtr SendMessage(HandleRef hWnd, UInt32 Msg, IntPtr wParam, IntPtr lParam); public ShieldLink() { this.FlatStyle = FlatStyle.System; } protected override CreateParams CreateParams { get { CreateParams cp = base.CreateParams; cp.Style |= BS_COMMANDLINK; return cp; } } private string _textNote; public string TextNote { get { return _textNote; } set { _textNote = value; SendMessage(new HandleRef(this, this.Handle), BCM_SETNOTE, IntPtr.Zero, value); } } private bool _showShield; public bool ShowShield { get { return _showShield; } set { _showShield = value; SendMessage(new HandleRef(this, this.Handle), BCM_SETSHIELD, IntPtr.Zero, new IntPtr(value ? 1 : 0)); } } }
Come nota personale, trovo molto carino l'effetto di fade out quando si sposta il mouse fouri dal controllo smile_tongue.

Print | posted on Saturday, January 20, 2007 6:29 PM | Filed Under [ C# ]

Feedback

Gravatar

# re: ShieldLink in C#

No, mi dispiace, al momento la mia esperinza con WPF è ancora molto limitata... Però questo non è il posto giusto per rivolgere le tue domande, se vuoi chiedermi qualcosa che non riguarda espressamente i post, usa il link "Contact" subito sotto il titolo del blog, sarò felice di risponderti!
1/21/2007 6:41 PM | Marco Minerva
Gravatar

# re: ShieldLink in C#

Grazie !
Avevo scritto qui perche' supponevo che l'eventuale risposta poteva essere di interesse anche per altri. Comunque tengo presente per la prossima volta.
1/22/2007 4:18 PM | Moreno Borsalino
Comments have been closed on this topic.

Powered by:
Powered By Subtext Powered By ASP.NET