Как вычесть прямоугольник из другого?

Я пытаюсь определить рабочую область рабочего стола, даже когда панель задач скрыта.

У меня есть два прямоугольника: границы экрана и границы панели задач. Мне нужно вычесть границы прямоугольника панели задач из прямоугольника экрана, чтобы определить доступную рабочую область рабочего стола. По сути, я хочу придумать Screen. WorkingArea, кроме случаев, когда панель задач скрыта.

Скажем, прямоугольник экрана X, Y, W, H = 0,0,1680,1050 и панель задач X, Y, W, H - 0,1010,1680,40 . Мне нужно вычесть второе из первого, чтобы определить, что рабочая область составляет 0,0,1680,1010 .

Панель задач может быть на любой из четырех сторон экрана, и я знаю, что это должно быть лучшим методом, чем определение того, где находится панель задач, а затем наличие отдельной строки кода для создания нового прямоугольника для каждой из четырех возможных позиций.

6
задан Chris Thompson 21 September 2010 в 23:39
поделиться