DVD メニューの操作
[このページに関連付けられている機能 DirectShow は、従来の機能です。 MediaPlayer、IMFMediaEngine、および Media Foundation のオーディオ/ビデオ キャプチャに置き換わりました。 これらの機能は、Windows 10とWindows 11用に最適化されています。 新しいコードでは、可能であれば、DirectShow ではなく Media Foundation で MediaPlayer、IMFMediaEngine、Audio/Video Capture を使用することを強くお勧めします。 Microsoft は、従来の API を使用する既存のコードを、可能であれば新しい API を使用するように書き直すよう提案しています。]
DVD ナビゲーターは、ユーザーがボタンをアクティブにしたとき、またはナビゲーターが First Play ドメインに入ったときにメニューを表示する場合があります。 プログラムでメニューを表示するには、 IDvdControl2::ShowMenu メソッドを 呼び出します。
メニュー ボタンをプログラムで選択するには、いくつかの方法があります。
- ボタンを番号で選択するには、 IDvdControl2::SelectButton を呼び出します。 ボタンの番号は 1 ~ 36 です。 IDvdInfo2::GetCurrentButton メソッドは、使用可能なボタンの数を返します。
- 現在選択されているボタンの位置を基準にしてボタンを選択するには、 IDvdControl2::SelectRelativeButton を呼び出します。 上、下、左、または右方向のボタンを選択できます。
- ウィンドウ内の座標でボタンを選択するには、 IDvdControl2::SelectAtPosition を呼び出します。 このメソッドは、ビデオ ウィンドウのクライアント領域を基準とした (x,y) 座標を受け取ります。 (ウィンドウレス モードの場合、これはアプリケーション ウィンドウです)。その場所にボタンがない場合、メソッドは VFW_E_DVD_NO_BUTTONを返します。
また、ボタンをアクティブにする方法はいくつかあります。
- ボタンを番号でアクティブにするには、 IDvdControl2::SelectAndActivateButton を呼び出します。
- ボタンを座標でアクティブにするには、 IDvdControl2::ActivateAtPosition を呼び出します。
- 現在選択されているボタンをアクティブにするには、 IDvdControl2::ActivateButton を呼び出します。 ボタンが選択されていない場合、メソッドは VFW_E_DVD_NO_BUTTONを返します。
ボタンを選択すると、境界線が強調表示されるだけであることに注意してください。 関連付けられたコマンドを起動するには、ボタンをアクティブにする必要があります。 プログラムによるボタンのアクティブ化はさまざまな方法で行うことができますが、ボタンをアクティブ化するには、常にボタンを選択する必要があります。
関連トピック