Иногда важно знать, какую часть экрана можно занимать, не перекрывая тем самым такие окна, как TaskBar. Эта программа разворачивает окно на всю рабочую область Desktop'а.
Code: |
procedure TForm1.Button1Click(Sender: TObject); var r : TRect; begin SystemParametersInfo(SPI_GETWORKAREA, 0, Addr(r), 0); Form1.Left := r.Left; Form1.Top := r.Top; Form1.Width := r.Right - r.Left; Form1.Height := r.Bottom - r.Top; end; |
Автор советов: Даниил Карапетян
e-mail: Этот адрес электронной почты защищён от спам-ботов. У вас должен быть включен JavaScript для просмотра.
Автор справки: Алексей Денисов
e-mail: Этот адрес электронной почты защищён от спам-ботов. У вас должен быть включен JavaScript для просмотра.
Воспользуйтесь функцией SystemParametersInfo(), переслав ей в качестве параметров - SPI_GETWORKAREA и адрес структуры типа TRect, куда будут передан полученный результат:
Code: |
procedure TForm1.Button1Click(Sender: TObject); var r: TRect; begin SystemParametersInfo(SPI_GETWORKAREA, 0, @r, 0); Memo1.Lines.Add(IntToStr(r.Top)); Memo1.Lines.Add(IntToStr(r.Left)); Memo1.Lines.Add(IntToStr(r.Bottom)); Memo1.Lines.Add(IntToStr(r.Right)); end; |
Code: |
{ **** UBPFD *********** **** >> Получение координат области Рабочего стола, не скрытой Панелью задач
Зависимости: Windows Автор: Dimka Maslov, Этот адрес электронной почты защищён от спам-ботов. У вас должен быть включен JavaScript для просмотра., ICQ:148442121, Санкт-Петербург Copyright: Dimka Maslov ***************************************************** }
function GetDesktopRect: TRect; var RgnDesktop, RgnTrayWnd: HRGN;
function CreateWindowRgn(Handle: HWND): HRGN; var R: TRect; begin GetWindowRect(Handle, R); with R do Result := CreateRectRgn(Left, Top, Right, Bottom); end;
begin RgnDesktop := CreateWindowRgn(GetDesktopWindow); try RgnTrayWnd := CreateWindowRgn(FindWindow('Shell_TrayWnd', '')); try CombineRgn(RgnDesktop, RgnDesktop, RgnTrayWnd, RGN_DIFF); GetRgnBox(RgnDesktop, Result); finally DeleteObject(RgnTrayWnd); end; finally DeleteObject(RgnDesktop); end; end; |
Просьба писать ваши замечания, наблюдения и все остальное,
что поможет улучшить предоставляемую информацию на этом сайте.
ВСЕ КОММЕНТАРИИ МОДЕРИРУЮТСЯ ВРУЧНУЮ, ТАК ЧТО СПАМИТЬ БЕСПОЛЕЗНО!