• Что бы вступить в ряды "Принятый кодер" Вам нужно:
    Написать 10 полезных сообщений или тем и Получить 10 симпатий.
    Для того кто не хочет терять время,может пожертвовать средства для поддержки сервеса, и вступить в ряды VIP на месяц, дополнительная информация в лс.

  • Пользаватели которые будут спамить, уходят в бан без предупреждения. Спам сообщения определяется администрацией и модератором.

  • Гость, Что бы Вы хотели увидеть на нашем Форуме? Изложить свои идеи и пожелания по улучшению форума Вы можете поделиться с нами здесь. ----> Перейдите сюда
  • Все пользователи не прошедшие проверку электронной почты будут заблокированы. Все вопросы с разблокировкой обращайтесь по адресу электронной почте : info@guardianelinks.com . Не пришло сообщение о проверке или о сбросе также сообщите нам.

Как Определить Расположение Панели Задач На Экране?

Sascha Оффлайн

Sascha

Заместитель Администратора
Команда форума
Администратор
Регистрация
9 Май 2015
Сообщения
1,562
Баллы
155
Как определить расположение панели задач на экране?
Код:
uses
  ..., ShellAPI;
function DetectTaskBarPos: UInt;
var
  AppBarData: TAppBarData;
  ClientRect, Rect: TRect;
begin
   AppBarData.hWnd := FindWindow( 'Shell_TrayWnd', nil );
   GetClientRect( AppBarData.hWnd, ClientRect );
   GetWindowRect( AppBarData.hwnd, Rect );
   if ( Rect.Top > 0 ) then
      Result := ABE_BOTTOM
   else
   if ( Rect.Bottom < Screen.Height ) then
      Result := ABE_TOP
   else
   if Rect.Right < Screen.Width then
      Result := ABE_LEFT
   else
      Result := ABE_RIGHT;
end;
procedure TForm1.Button1Click(Sender: TObject);
begin
   case DetectTaskBarPos of
      ABE_LEFT: ShowMessage( 'Панель находится слева' );
      ABE_RIGHT: ShowMessage( 'Панель находится справа' );
      ABE_TOP: ShowMessage( 'Панель находится вверху' );
      ABE_BOTTOM: ShowMessage( 'Панель находится внизу' );
   end;
end;
 
Вверх Снизу