- Регистрация
- 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;