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

mercoledì 31 gennaio 2007

"WPF/E" (codename) Community Technology Preview for Windows (Feb 2007)

E' stata rilasciata ieri la CTP di Febbraio 2007 di "WPF/E":

"WPF/E" (codename) is a browser enhancement module that enables browsers to render rich content in addition to HTML. "WPF/E" is compatible with Internet Explorer 6.0 and 7.0 and also with Mozilla Firefox 1.5.0.8+ and 2.0+. The Feb 2007 CTP will expire on June 6, 2007.

Per il download, clic qui.

posted @ lunedì 1 gennaio 0001 00:00 | Feedback (0) | Filed Under [ .NET 3.0 Updates & Service Pack ]

Creare gadget per la sibebar di Windows Vista

L'articolo Gadget Development Overview, pubblicato su MSDN, illustra la creazione di gadget per la Sidebar di Windows Vista. Sono disponibili anche alcuni semplici esempi. Chi è interessato ad approfondire la tematica può fare riferimento al sito Microsoft Gadgets e in particolare alla sua sezione Build, dedicata espressamente agli sviluppatori.

Technorati tags: ,

posted @ lunedì 1 gennaio 0001 00:00 | Feedback (8) | Filed Under [ Windows Related ]

Riconoscimento vocale in Windows Vista... Atto secondo

Qualche giorno fa ho mostrato un video in cui il riconoscimento vocale di Windows Vista non sembrava funzionare troppo bene smile_teeth. Però avevo precisato che, rispetto a quella dimostrazione, le nuove build del sistema operativo avevano ottenuto risultati migliori. A riprova di quanto detto, ecco un filmato che mostra il sistema veramente funzionante:

Technorati tags:

posted @ lunedì 1 gennaio 0001 00:00 | Feedback (7) | Filed Under [ Windows Related ]

La TreeView di Windows Vista

Ho già avuto modo di parlare di alcuni dei nuovi controlli introdotti da Windows Vista. Oggi è la volta della TreeView. Osservando il controllo utilizzato da Explorer per visualizzare l'elenco delle cartelle, si nota che i vari rami non sono più collegati da una linea e che, al posto del segno + per segnalare la presenza di sottoelementi, viene utilizzata una piccola freccina che si inclina verso il basso quando si espande una voce. Infine, la barra di scorrimento orizzontale è scomparsa: quando si sposta il mouse su un elemento che non è completamente visibile, la TreeView effettua lo scrolling automaticamente.

E' possibile ottenere tutti questi effetti anche con il controllo TreeView del .NET Framework, utilizzando opprtunamente il Platform Invoke per modificare il suo stile:

1 using System.Windows.Forms; 2 using System.Runtime.InteropServices; 3 4 namespace System.Windows.Form.Vista 5 { 6 public class TreeViewEx : TreeView 7 { 8 private const int TV_FIRST = 0x1100; 9 private const int TVM_SETEXTENDEDSTYLE = TV_FIRST + 44; 10 private const int TVM_GETEXTENDEDSTYLE = TV_FIRST + 45; 11 private const int TVS_NOHSCROLL = 0x8000; 12 private const int TVS_EX_AUTOHSCROLL = 0x0020; 13 private const int TVS_EX_FADEINOUTEXPANDOS = 0x0040; 14 15 [DllImport("user32.dll", CharSet = CharSet.Unicode)] 16 private static extern int SendMessage(IntPtr hWnd, UInt32 Msg, int wParam, int lParam); 17 [DllImport("user32.dll", CharSet = CharSet.Unicode)] 18 private static extern void SetWindowLong(IntPtr hWnd, int nIndex, int dwNewLong); 19 [DllImport("user32.dll", CharSet = CharSet.Unicode)] 20 private static extern int GetWindowLong(IntPtr hWnd, int nIndex); 21 [DllImport("uxtheme.dll", CharSet = CharSet.Unicode)] 22 private extern static int SetWindowTheme(IntPtr hWnd, string pszSubAppName, string pszSubIdList); 23 24 public TreeViewEx() 25 { 26 base.HotTracking = true; 27 base.ShowLines = false; 28 } 29 30 protected override CreateParams CreateParams 31 { 32 get 33 { 34 CreateParams cp = base.CreateParams; 35 cp.Style |= TVS_NOHSCROLL; 36 return cp; 37 } 38 } 39 40 protected override void OnHandleCreated(EventArgs e) 41 { 42 base.OnHandleCreated(e); 43 44 int style = SendMessage(base.Handle, TVM_GETEXTENDEDSTYLE, 0, 0); 45 style |= (TVS_EX_AUTOHSCROLL | TVS_EX_FADEINOUTEXPANDOS); 46 SendMessage(base.Handle, TVM_SETEXTENDEDSTYLE, 0, style); 47 SetWindowTheme(base.Handle, "explorer", null); 48 } 49 } 50 }

In particolare, come mostrato alle linee 26-27, per ottenere una TreeView che si comporta esattamente come quella di Explorer è fondamentale che le sue proprietà HotTracking e ShowLines siano impostate, rispettivamente, su true e su false.

Technorati tags: , ,

posted @ lunedì 1 gennaio 0001 00:00 | Feedback (1) | Filed Under [ C# ]

Articoli su Windows Communication Foundation

Segnalo un paio di articoli, pubblicati su CodeProject, che forniscono una buona introduzione a Windows Communication Foundation:

Exploring Windows Communication Foundation - Part 1

Exploring Windows Communication Foundation - Part 2

posted @ lunedì 1 gennaio 0001 00:00 | Feedback (2) | Filed Under [ .NET 3.0 ]

Il più semplice utilizzo di Regular Expression

Attraverso le Regular Expression è possibile eseguire in maniera rapida ed efficiente tutta una serie di elaborazioni su stringhe. Uno dei più semplici utilizzi di tale strumento è quello che permette di dividere una stringa in token:

Regex reg = new Regex(" "); foreach (string s in reg.Split(text)) MessageBox.Show(s);

In questo esempio, dall'input contenuto nella variabile text viene estratta ogni singola parola. Si tratta di un esempio banale, infatti per questo particolare compito sarebbe stato sufficiente utilizzare il metodo String.Split. Le vere potenzialità delle espressioni regolari emergono quando si ha bisogno di qualcosa di più: come si legge su MSDN, the Regex.Split methods are similar to the String.Split method, except this method splits the string at a delimiter determined by a regular expression instead of a set of characters. In altri termini, utilizzando la classe Regex sono possibili "tokenizzazioni" più evolute, dal momento che il suo costruttore accetta un qualunque pattern regolare.

posted @ lunedì 1 gennaio 0001 00:00 | Feedback (7) | Filed Under [ C# ]

Una nuova funzionalità per CodePlex

I lavori di manutenzione di CodePlex hanno portato, tra le altre cose, all'introduzione di una nuova feature: la possibilità di esaminare il contenuto di ogni Check-In utilizzando l'interfaccia del browser. Ogni Check-In visualizzato nella sezione Source Code, infatti, adesso è accompagnato da un'icona Browse che consente di visualizzare il contenuto del Change Set selezionato.

posted @ lunedì 1 gennaio 0001 00:00 | Feedback (1) | Filed Under [ CodePlex ]

Il circolo vizioso dei computer Dell

Trovo particolarmente ben fatto il sistema di configurazione dei PC disponibile sul sito di Dell: grazie ad esso, infatti, è possbile creare la configurazione che meglio si adatta alle proprie necessità, utilizzando un comodo wizard che, per ogni componente, propone un certo numero di alternative.

Non sempre, però, si ha tutta la libertà che si vorrebbe. Mi spiego. Entrando nella sezione Desktop per privati e selezionando la categoria dei desktop di fascia alta, chiamata XPS e Prestazioni, vengono proposti alcuni modelli della serie Dimension basati sul processore Intel Viiv. Se, a questo punto, si seleziona una configurazione e si tenta di personalizzarla, si entra in un circolo vizioso. Infatti, se si vuole cambiare processore, optando per un Intel Core 2 Duo, il wizard informa che esso non è compatibile con il sistema operativo scelto. Perché questi sistemi sono proposti con Windows XP Media Center Edition. Nessun problema, basta modificare sistema operativo scegliendo Windows XP Professional (al momento Vista non è ancora disponibile tra le opzioni). A questo punto, però, compare un altro avviso: il sintonizzatore TV incluso nella configurazione non è compatibile con questo sistema operativo. Si potrebbe dunque pensare che sia sufficiente cambiare tale componente... Il problema è che nessun sintonizzatore risulta compatibile con Windows XP Professional e non è prevista un'opzione per non installarlo. In sintesi, non è possibile portare correttamente a termine la configurazione smile_angry

posted @ lunedì 1 gennaio 0001 00:00 | Feedback (5) | Filed Under [ Tutto & Oltre :-) ]

Lavori in corso su CodePlex

La scorsa notte sono state eseguite delle operazioni di manutenzione sui server di CodePlex, quindi se nelle ultime ore avete aggiornato i vostri progetti, controllate che sia tutto a posto smile_wink

posted @ lunedì 1 gennaio 0001 00:00 | Feedback (1) | Filed Under [ CodePlex ]

Powered by:
Powered By Subtext Powered By ASP.NET