Вопрос

Сегодня у меня есть еще один конкретный вопрос о новой функции в Windows 7, которая называется панель инструментов эскизов или панель инструментов Aero Peek, если кому-то может понравиться называть ее так.Мне удалось создать новый набор кнопок панели инструментов для моего приложения, каждая кнопка со своим уникальным значком и поведением, но я не смог добавить функциональность к новым кнопкам, поскольку новая структура THUMBUTTON не определяет никаких параметров действия для объекта button.

Вот фрагмент кода, чтобы показать вам, что я использовал для создания кнопок:

ITaskbarList4* pitskbar;
HRESULT hr = CoInitialize(NULL);
hr = CoCreateInstance(CLSID_TaskbarList, NULL, CLSCTX_INPROC_SERVER, IID_PPV_ARGS(&pitskbar));


HWND hwnd = AfxGetMainWnd()->GetSafeHwnd();

DWORD dwMask = THB_BITMAP | THB_FLAGS;

THUMBBUTTON thbButtons[3];
thbButtons[0].dwMask = (THUMBBUTTONMASK)dwMask;
thbButtons[0].iId = 0;
thbButtons[0].iBitmap = 0;
thbButtons[0].dwFlags = THBF_ENABLED;

thbButtons[1].dwMask = (THUMBBUTTONMASK)dwMask;
thbButtons[1].iId = 1;

    .
    .
   <More Button Params>
    .
    .

CImageList m_imglst;
m_imglst.Create(16, 16, ILC_COLOR16, 0, 4);

HICON icon = (HICON)::LoadImage(theApp.m_hInstance, MAKEINTRESOURCE(IDI_ICON_ON), IMAGE_ICON, 16, 16, LR_SHARED);
m_imglst.Add(icon);

    .
    .
   <More Images>
    .
    .

hr = pitskbar->ThumbBarSetImageList(hwnd, m_imglst);

if (SUCCEEDED(hr))
{

    hr = pitskbar->ThumbBarAddButtons(hwnd, ARRAYSIZE(thbButtons), thbButtons);
}



pitskbar->Release();

Я был бы признателен за любой полезный ответ, если он соответствует контексту вопроса.

С уважением

Это было полезно?

Решение

это то, что ты ищешь?"При нажатии кнопки на панели инструментов эскизов окну, связанному с этим эскизом, отправляется сообщение WM_COMMAND, в котором для параметра wParam задано значение HIWORD, равное THBN_CLICKED, а для идентификатора кнопки - значение LOWORD". источник: http://msdn.microsoft.com/en-us/library/dd391703 (ПРОТИВ 85).aspx

Другие советы

Здесь это статья о том, как это сделать, используя управляемые оболочки...взглянув на управляемую оболочку, вы могли бы легче понять, как это сделать с помощью C ++...

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top