Odczytanie bezwzględnego położenia rysika - C#

  • 0 Odpowiedzi
  • 1055 Wyświetleń

0 użytkowników i 1 Gość przegląda ten wątek.

*

Offline tzok

  • 21
Odczytanie bezwzględnego położenia rysika - C#
« dnia: Styczeń 11, 2009, 13:18:04 »
Piszę pracę na temat programowania WM ale sam w tej dziedzinie stawiam pierwsze kroki... zachciało mi się odczytać położenie rysika na ekranie (ale nie przez zdarzenie MouseMove, tylko w określonych odstępach czasu przez timer.

W normalnym Frameworku można było zrobić takie coś:
(...)
using System.Runtime.InteropServices;

public partial class Form1 : Form
    {
        [DllImport("user32.dll")]
        static extern bool GetCursorPos(ref Point lpPoint);

        public Form1()
        {
            InitializeComponent();
        }

        private void timer1_Tick(object sender, EventArgs e)
        {
            Point defPnt = new Point();
            label3.Text = GetCursorPos(ref defPnt).ToString();
            lX.Text = defPnt.X.ToString();
            lY.Text = defPnt.Y.ToString();
        }
    }
}

Jednak na PPC funkcja zawsze zwraca False, 0, 0 (oczywiście po zmianie user32.dll na coredll.dll).

W/g MSDN'a w PPC jest ta funkcja dostępna w Windows Mobile 5...


Aha - czy istnieje na PPC kompilator C++ z edytorem wizualnym, coś jak C++Builder? Może być nawet zarządzany C++ (C++ CLR), bo z tego co widzę to Visual Studio nie oferuje środowiska wizualnego nawet dla natywnego C++ na PC, tylko dla CLR (.NET) jest.
« Ostatnia zmiana: Styczeń 11, 2009, 13:22:54 wysłana przez tzok »