" title="Написать письмо">Написать письмо

Статистика

Пользователи : 1
Статьи : 1950
Просмотры материалов : 7074814
 
Определение высоты трея и его положения (26.08.2015). Печать E-mail
2015 - Август
26.08.2015 20:40
Save & Share

Задача оказалась нетривиальной, поэтому здесь выкладывается решение данной проблемы, на примере Borland C++ Builder v.6.0. Решение было найдено одним из наших студентов-практикантов, что подтверждает возможность использования данных людей на благо работы предприятия.

В ShellApi.h есть структура APPBARDATA, все делается исключительно через нее.

typedef struct AppBarData {
    DWORD cbSize;
    HWND hWnd;
    UINT uCallbackMessage;
    UINT uEdge;
    RECT rc;
    LPARAM lParam;
} _APPBARDATA, *PAPPBARDATA;

Здесь RECT rc - область трея на экране, откуда можно узнать его высоту.

А вот как получать местонахождение трея:

APPBARDATA abd;
   
abd.cbSize = sizeof(abd);
abd.uEdge;
SHAppBarMessage(ABM_GETTASKBARPOS, &abd);
   
switch (abd.uEdge)
{
    case ABE_BOTTOM: asPosition = "BOTTOM";    break;
    case ABE_LEFT: asPosition = "LEFT"; break;
    case ABE_RIGHT: asPosition = "RIGHT"; break;
    case ABE_TOP: asPosition = "TOP"; break;
}

Обновлено ( 25.11.2015 19:27 )
 
 

Последние новости


©2008-2024. All Rights Reserved. Разработчик - " title="Сергей Белов">Сергей Белов. Материалы сайта предоставляются по принципу "как есть". Автор не несет никакой ответственности и не гарантирует отсутствие неправильных сведений и ошибок. Вся ответственность за использование материалов лежит полностью на читателях. Размещение материалов данного сайта на иных сайтах запрещено без указания активной ссылки на данный сайт-первоисточник (ГК РФ: ст.1259 п.1 + ст.1274 п.1-3).

Много статей не имеет срока устаревания. Есть смысл смотреть и 2011, и даже 2008 год. Политика сайта: написать статью, а потом обновлять ее много лет.
Открыта карта ВТБ для донатов на дорогостоящие эксперименты: 5368 2902 0040 0838.

Рекламодателям! Перестаньте спамить мне на почту с предложениями о размещении рекламы на этом сайте. Я никогда спамером/рекламщиком не был и не буду!
Top.Mail.Ru