Mouse Position

Windows10 でマウスが移動した座標を印字します。

前田稔の超初心者のプログラム入門

プログラムの説明

  1. Visual Studio で UWP(Universal Windows Platform) のプロジェクトを作成します。
    プロジェクトの作成は XAML で図形を描画 を参照して下さい。
    Windows のプラットホームや Visual Studio のバージョンが変わると何かと勝手が違うようです。
  2. MainPage.xaml.cpp を修正して、マウスの移動を検出します。
    border 内でマウスを移動すると OnPointerMoved が呼び出されます。
    border の外に出ると検出されないことを確認して下さい。
    MainPage::MainPage()
    {
        InitializeComponent();
        PointerMoved += ref new PointerEventHandler(this, &MainPage::OnPointerMoved);
    }
    
  3. OnPointerMove() ではマウスの移動を検出して座標を TextBox に印字します。
    void App1::MainPage::OnPointerMoved(Platform::Object^ sender, Windows::UI::Xaml::Input::PointerRoutedEventArgs^ e)
    {
        String^ str;
        Windows::UI::Xaml::Input::Pointer^ ptr = e->Pointer;
        if (ptr->PointerDeviceType == Windows::Devices::Input::PointerDeviceType::Mouse)
        {
            Windows::UI::Input::PointerPoint^ point = e->GetCurrentPoint(this);
            Point pos = point->Position;
            str = "Posion X:" + pos.X.ToString() + "  Posion Y:" + pos.Y.ToString();
            textBox->Text = str;
        }
    }
    
  4. MainPage.xaml.h で関数の宣言をして下さい。
        public ref class MainPage sealed
        {
        public:
            MainPage();
            void OnPointerMoved(Platform::Object^ sender, Windows::UI::Xaml::Input::PointerRoutedEventArgs^ e);
    
  5. プロジェクトをコンパイル&ビルドして実行して下さい。
    border 内でマウスを移動すると、座標が印字されます。
    Windows10 の「スタート」ボタンから[すべてのアプリ]を選ぶと今作製したアプリが登録されています。
    残しておく必要がなければ右クリックからアンインストールして下さい。

超初心者のプログラム入門(C/C++)