BDC 2010 – C’est reparti!

4. mars 2010

A la demande générale, la Bewise Day Conference est de retour pour une 4ème édition ! Encore une fois, venez découvrir ce qui se fait de mieux dans les technologies Microsoft.

Cette année, beaucoup de nouveautés, puisque Microsoft lance la gamme 2010 de ses produits, notamment Visual Studio, Sharepoint, mais aussi la version 4.0 de son framework .Net, MVC 2, Azure, Silverlight 4 et bien d’autres choses bien croustillantes.

J’animerai les plénières cette année et je vous conseille d’y participer car vous y découvrirez le grand secret de Bewise :).

Pour les inscriptions, rendez-vous sur le site officiel de la BDC 2010.

Bookmark and Share

Bewise, .Net, 3D, Silverlight, Visual Studio, Windows Forms, Windows Mobile, WPF

Le truc à la con du jour : Minimiser un formulaire avec Windows Mobile

27. août 2008

Forcément, pour faire une minimisation, je me suis tout de suite tourné vers Form.WindowState. Et forcément, le compact framework ne supporte que les états Maximized et Normal :).

Donc on va une fois de plus faire un petit peu d'interop:

 

        [DllImport("coredll.dll")]
        static extern int ShowWindow(IntPtr hWnd, int nCmdShow);

        const int SW_MINIMIZED = 6;
        private void HideForTrue()
        {
            ShowWindow(this.Handle, SW_MINIMIZED);
        }

C'est pas bien compliqué, ca fait juste appel à une fonction Win32 très classique.

Bookmark and Share

.Net, Windows Mobile

Gérer sa propre fonction de messages avec le Compact Framework 2.0 (Pour Smartphone)

30. mai 2008

Contrairement aux Windows Forms, il n'est pas directement possible avec le .NET CF 2.0(SmartPhone) de surcharger la WndProc de ses formulaires.

Hors c'est parfois super utile!

Dans mon cas je voulais déclencher du code dès que l'utilisateur touche l'écran ou le clavier sans avoir à pourrir mon code avec des verrues de partout.

Le résultat c'est cadeau pour vous :) :

public partial class RootForm : Form
{
    private const int GWL_WNDPROC = -4;

    delegate IntPtr WndProcHandler(IntPtr hwnd, uint msg, IntPtr wParam, IntPtr lParam);

    [DllImport("coredll.dll", EntryPoint = "GetWindowLong")]
    private static extern IntPtr GetWindowLong(IntPtr hwnd, int index);

    [DllImport("coredll.dll")]
    static extern int SetWindowLong(IntPtr hwnd, int index, IntPtr wndProc);

    [DllImport("coredll.dll")]
    static extern IntPtr CallWindowProc(IntPtr prevWndFunc, IntPtr hwnd, uint msg, IntPtr wParam, IntPtr lParam);

    private IntPtr prevWndProc = IntPtr.Zero;
    private WndProcHandler wndProc;

    public RootForm()
    {
        InitializeComponent();

        wndProc = new WndProcHandler(WndProc);

        prevWndProc = GetWindowLong(this.Handle, GWL_WNDPROC);

        int success = SetWindowLong(this.Handle, GWL_WNDPROC, Marshal.GetFunctionPointerForDelegate(wndProc));
    }

    private IntPtr WndProc(IntPtr hwnd, uint msg, IntPtr wParam, IntPtr lParam)
    {
        // Mon code juste ici!
        return CallWindowProc(prevWndProc, hwnd, msg, wParam, lParam);
    } 
}

 

Hope this help!

Bookmark and Share

.Net, Win32, Windows Mobile

Faire apparaître le curseur d'attente sur une application Windows Mobile

18. avril 2008

C'est le genre de truc idiot qu'on passe des heures à chercher. Et comme la documentation du Compact Framework est mixée avec la documentation du framework normal, il n'est pas facile de s"y retrouver.

Donc pour faire  apparaitre le curseur d'attente sur Windows Mobile, il suffit d'exécuter la ligne suivante:

Cursor.Current = Cursors.WaitCursor;

 

Hope this help....

Bookmark and Share

.Net, Windows Mobile