Запись в Windows 7 области «предварительного просмотра» - PullRequest
2 голосов
/ 04 сентября 2010

Как написать или нарисовать элементы управления в области предварительного просмотра Windows 7 с помощью C #? Для примера того, о чем я говорю, откройте Windows Media Player в Windows 7 и воспроизведите песню. Во время воспроизведения песни сверните проигрыватель Windows Media, а затем наведите указатель мыши на значок проигрывателя Windows Media, и вы увидите кнопку паузы, перемотки назад и быстрой перемотки прямо под окном предварительного просмотра Media Player. Как я могу продублировать такое поведение в C #?

Ответы [ 2 ]

4 голосов
/ 04 сентября 2010

Вы ищете Панели миниатюр Windows 7 :

Панели миниатюр предоставляют мини-возможность «удаленного управления» окном из его миниатюры.Например, чтобы перейти к следующей песне в проигрывателе Windows Media, вам не нужно использовать неуклюжий рабочий стол 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 голос
/ 04 сентября 2010

Так как здесь есть тег C #, я думаю, вы хотели бы сделать это в управляемом коде.Взгляните на Windows API Code Pack , который включает образцы живых миниатюр, кнопок миниатюр, обрезанных миниатюр, миниатюр с вкладками и т. Д. Это кнопки миниатюр, которые вы ищете, и две или три строки кода будутпозаботьтесь об этом.

Кстати, область предварительного просмотра - это то, что вы получаете в проводнике Windows, когда выбираете, скажем, TXT-файл и видите содержимое справа.Большинство офисных файлов имеют средства предварительного просмотра, и вы тоже можете написать свои собственные.

...