2

C# を使用して Windows 7 のプレビュー領域にコントロールを書き込んだり描画したりするにはどうすればよいですか? 私が話していることの例として、Windows 7 で Windows Media Player を開き、曲を再生します。曲の再生中に Windows Media Player を最小化し、マウスを Windows Media Player アイコンの上に置くと、実際の Media Player プレビュー ウィンドウのすぐ下に一時停止、巻き戻し、早送りボタンが表示されます。この種の動作を C# で複製するにはどうすればよいですか?

4

2 に答える 2

4

Windows 7 のサムネイル ツールバーを探しています。

サムネイル ツールバーは、そのサムネイルからウィンドウの小さな「リモート コントロール」の機会を提供します。たとえば、Windows Media Player で次の曲に切り替えるために、扱いにくい Media Player デスク バンドを使用したり、Media Player アプリケーションに切り替えたりする必要はありません。代わりに、別のアプリケーションにジャンプしてワークフローを中断することなく、サムネイル ツールバーを直接使用してこのタスクを実行できます。

そのMSDN記事から恥知らずにコピー:

//In your window procedure:
switch (msg) {
    case g_wmTBC://TaskbarButtonCreated
        THUMBBUTTON buttons[2];
        buttons[0].dwMask = THB_ICON|THB_TOOLTIP|THB_FLAGS;
        buttons[0].iId = 0;
        buttons[0].hIcon = GetIconForButton(0);
        wcscpy(buttons[0].szTip, L"Tooltip 1");
        buttons[0].dwFlags = THBF_ENABLED;
        buttons[1].dwMask = THB_ICON|THB_TOOLTIP|THB_FLAGS;
        buttons[1].iId = 1;
        buttons[1].hIcon = GetIconForButton(1);
        wcscpy(buttons[0].szTip, L"Tooltip 2");
        buttons[1].dwFlags = THBF_ENABLED;
        VERIFY(ptl->ThumbBarAddButtons(hWnd, 2,buttons));
        break;
    case WM_COMMAND:
        if (HIWORD(wParam) == THBN_CLICKED)
        {
            if (LOWORD(wParam) == 0)
                MessageBox(L"Button 0 clicked", ...);
            if (LOWORD(wParam) == 1)
                MessageBox(L"Button 1 clicked", ...);
        }
        break;
}
于 2010-09-04T02:06:48.737 に答える
1

これには C# タグが含まれていたので、マネージ コードでこれを実行したいと思うでしょう。ライブ サムネイル、サムネイル ボタン、クリップされたサムネイル、タブ付きサムネイルなどのサンプルを含むWindows API Code Packをご覧ください。探しているのはサムネイル ボタンであり、2 ~ 3 行のコードで処理されます。

ところで、プレビュー エリアは、Windows エクスプローラーで .txt ファイルを選択したときに表示されるもので、右側にコンテンツが表示されます。ほとんどの Office ファイルにはプレビューアがあり、独自のファイルを作成することもできます。

于 2010-09-04T12:05:54.813 に答える