Определить позицию панели задач 2Delphi , Рабочий стол , TaskBarОпределить позицию панели задач 2
Оформил: DeeCo {With FindWindow, GetWindowRect } type TTaskBarPos = (_TOP, _BOTTOM, _LEFT, _RIGHT, _NONE); function GetTaskBarPos: TTaskBarPos; var hTaskbar: HWND; T: TRect; scrW, scrH: integer; begin hTaskBar := FindWindow('Shell_TrayWnd', nil); if hTaskbar <> 0 then begin GetWindowRect(hTaskBar, T); ScrW := Screen.Width; ScrH := Screen.Height; if (T.Top > scrH div 2) and (T.Right >= scrW) then Result := _BOTTOM else if (T.Top < scrH div 2) and (T.Bottom <= scrW div 2) then Result := _TOP else if (T.Left < scrW div 2) and (T.Top <= 0) then Result := _LEFT else // the last "if" is not really needed if T.Left >= ScrW div 2 then Result := _RIGHT; end; end; procedure TForm1.Button5Click(Sender: TObject); var TaskBarPos: TTaskBarPos; begin TaskBarPos := GetTaskBarPos; case TaskBarPos of _LEFT: ShowMessage('Left Position'); _TOP: ShowMessage('Top Position'); _RIGHT: ShowMessage('Right Position'); _BOTTOM: ShowMessage('Bottom Position'); end; end; Перевод на русский язык: Код Delphi, который определяет позицию панели задач (Taskbar) на экране. Функция Код затем проверяет позицию панели на экране, сравнивая координаты верхнего левого угла панели с размерами экрана. Если верхняя граница панели находится выше середины экрана и правая граница панели находится справа от полного ширины экрана, то это считается нижней позицией ( Если ни одна из этих условий не выполнена, код проверяет, если левая граница панели находится слева от половины ширины экрана. Если так, то это считается левой позицией ( Процедура Вот некоторые улучшения, которые можно сделать в этом коде:
Вот улучшенная версия кода:
Замечу, что я удалил ненужный "if" и добавил простой проверку Статья описывает функцию GetTaskBarPos на Delphi, которая определяет позицию панели задач на экране. Комментарии и вопросыПолучайте свежие новости и обновления по Object Pascal, Delphi и Lazarus прямо в свой смартфон. Подпишитесь на наш Telegram-канал delphi_kansoftware и будьте в курсе последних тенденций в разработке под Linux, Windows, Android и iOS Материалы статей собраны из открытых источников, владелец сайта не претендует на авторство. Там где авторство установить не удалось, материал подаётся без имени автора. В случае если Вы считаете, что Ваши права нарушены, пожалуйста, свяжитесь с владельцем сайта.
|
||||
©KANSoftWare (разработка программного обеспечения, создание программ, создание интерактивных сайтов), 2007 |