none
Como posicionar o cursor numa posição? RRS feed

  • Pergunta

  • Olá pessoal,

     

    Gostaria de posicionar o cursor num ponto que eu passar. Como fazer isto?

    Estou usando WPF e visual studio 2008

     

    Obrigado

     

    segunda-feira, 14 de janeiro de 2008 16:29

Respostas

  • Use P/Invoke para chamar SetCursorPos:

    [DllImport("user32.dll")]
    static extern bool SetCursorPos(int X, int Y);
    ....
    SetCursorPos(X,Y);

    Bruno

    terça-feira, 15 de janeiro de 2008 09:23
  •  

    Olá Bruno,

     

    Legal deu certo aqui. Gostaria de perguntar onde tem um material que eu possa baixar que explique isso e outras coisas sobre wpf.

     

     

    Obrigado pela ajuda.

     

    Abraços,

    terça-feira, 15 de janeiro de 2008 10:21
  • Na web tem muita coisa, dê uma olhada em http://windowsclient.net

    Sugiro também ver livros de WPF:

    Applications=Code+Markup - Charles Petzold
    WPF Unleashed - Adam Nathan
    Programming WPF - Griffiths & Sells

    Bruno
    terça-feira, 15 de janeiro de 2008 10:41

Todas as Respostas

  • Use P/Invoke para chamar SetCursorPos:

    [DllImport("user32.dll")]
    static extern bool SetCursorPos(int X, int Y);
    ....
    SetCursorPos(X,Y);

    Bruno

    terça-feira, 15 de janeiro de 2008 09:23
  •  

    Olá Bruno,

     

    Legal deu certo aqui. Gostaria de perguntar onde tem um material que eu possa baixar que explique isso e outras coisas sobre wpf.

     

     

    Obrigado pela ajuda.

     

    Abraços,

    terça-feira, 15 de janeiro de 2008 10:21
  • Na web tem muita coisa, dê uma olhada em http://windowsclient.net

    Sugiro também ver livros de WPF:

    Applications=Code+Markup - Charles Petzold
    WPF Unleashed - Adam Nathan
    Programming WPF - Griffiths & Sells

    Bruno
    terça-feira, 15 de janeiro de 2008 10:41
  • Bruno,

     

    Uma Dúvida que tenho sobre isso, é o seguinte:

     

    Se esse cursor estiver dentro de um objeto e não quero que ele saia dentro desse objeto, como faço?

     

    Reparei que ao setar o cursor ele set na posição da tela do windows e não do objeto.

    Tem como seta a posicao, mas que seja do objeto?

     

    terça-feira, 15 de janeiro de 2008 16:57
  • Para isso, você deve usar P/Invoke para a função ClientTo Screen, mas fazer isso para um controle WPF não é tão simples como para WinForms. Veja em http://blogs.msdn.com/llobo/archive/2006/05/02/Code-for-getting-screen-relative-Position-in-WPF.aspx

    Para limitar o cursor em Winforms, você usa Cursor.Clip. Teoricamente, você pode fazer em WPF um P/Invoke para a função ClipCursor, mas você terá que usar os mesmos truques do ClientToScreen, não aconselho a fazer isso.

    Bruno

    terça-feira, 15 de janeiro de 2008 17:35