写入Windows 7“预览”窗口区域

时间:2010-09-04 02:00:20

标签: c# windows-7 preview aero

如何使用C#将控件写入或绘制到Windows 7预览区域?有关我所谈论的示例,请在Windows 7中打开Windows Media Player并播放歌曲。播放歌曲时,最小化Windows Media Player,然后将鼠标悬停在Windows Media Player图标上,您将在实际的Media Player预览窗口下方看到暂停,倒带和快进按钮。如何在C#中复制这种行为?

2 个答案:

答案 0 :(得分:4)

您正在寻找Windows 7 Thumbnail Toolbars

  

缩略图工具栏提供迷你版   “远程控制”的机会   窗口从其缩略图。对于   例如,切换到下一首歌曲   您不需要Windows 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;
}

答案 1 :(得分:1)

由于这有C#标签,我猜你想在托管代码中这样做。看一下Windows API Code Pack,其中包括实时缩略图,缩略图按钮,剪裁缩略图,标签缩略图等样本。这是您正在寻找的缩略图按钮,两行或三行代码将处理它。< / p>

BTW,预览区域是您在选择说.txt文件时可以在Windows资源管理器中获得的,并且可以看到右侧的内容。大多数office文件都有预览器,你也可以编写自己的文件。