Иногда важно знать, какую часть экрана можно занимать, не перекрывая тем самым такие окна, как 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; | 
 
			
Просьба писать ваши замечания, наблюдения и все остальное,
что поможет улучшить предоставляемую информацию на этом сайте.
ВСЕ КОММЕНТАРИИ МОДЕРИРУЮТСЯ ВРУЧНУЮ, ТАК ЧТО СПАМИТЬ БЕСПОЛЕЗНО!