Windows8 プログラミング その2 new!

タッチパネルに対応したアプリケーションを作成する


前回の結論として、Windows8上で動作するタッチパネル対応アプリケーションは簡単に作成できるようです。

ウィンドウプロシージャを以下のように編集します。

HRESULT WndProc(HWND hWnd, UINT msg, WPARAM wParam, LPARAM lParam) {
    switch(msg) {
    case WM_CREATE:
        ...
        break;

    case WM_PAINT:
        ...
        break;

    case WM_LBUTTONDOWN:
        ...
        break;

    case 0x246:// タッチ入力の開始
        POINT pt;
        pt.x = (short)LOWORD(lParam);
        pt.y = (short)HIWORD(lParam);
        ::ScreenToClient(hWnd, &pt);    // スクリーン座標で格納されています

        ...

        break;

    case 0x245:// タッチ入力中(静止状態、移動状態問わず)
        ...
        break;

    case 0x247:// タッチ入力の終了
        ...
        break;
    }
}


基本的にはこれまでのWindowsと完全互換性があり、タッチに対応するウィンドウメッセージの処理を加えるだけで、Windows8デスクトップアプリケーションは作成できるようです。

タッチ対応のWindowsアプリケーションとか夢が広がりますね!


#追記

Microsoft様よりいただいたArrows Windows8タブレットで試したのですがめっちゃ反応が良いです。

ドラム譜面作成ツールを作ってみたところ遅延も感じられず。

ご参考までに。