Программирование для IBM OS2


Изменение размеров и расположения окна


С помощью функции WinSetWindowPos приложение может изменить расположение или размеры созданного ранее окна. Прототип этой функции приведен ниже:

BOOL WinSetWindowPos ( HWND hwnd, // идентификатор окна HWND hwndInsertBehind,// относительный // порядок расположения LONG x, // координата по оси X LONG y, // координата по оси Y LONG cx, // ширина окна LONG cy, // высота окна ULONG fl); // индикатор изменения позиции

Через параметр hwnd функции передается идентификатор окна, размеры или расположение которого будут изменяться.

Параметр hwndInsertBehind задает новое расположение окна по оси Z (если в параметре fl, описанном ниже, указан флаг SWP _ZORDER ).

Сделаем пояснение относительно оси Z .

Ось Z направлена перпендикулярно к плоскости экрана в направлении от экрана к глазам пользователя.

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

С помощью функции WinSetWindowPos приложение может выдвигать некоторые окна на передний план или наоборот, отодвигать на задний. Для этого в качестве значения для параметра hwndInsertBehind следует указывать константы HWND_TOP и HWND_BOTTOM , соответственно.

Что касается параметров x и y, то они задают новые значения для координат дочернего окна по соответствующим координатным осям, связанным с родительским окном (если в параметре fl указан флаг SWP _MOVE ). По умолчанию начало системы координат находится в левом нижнем углу окна, ось X направлена слева направо, а ось Y - снизу вверх. В качестве единицы измерения, опять же по умолчанию, используется пиксел - минимальный элемент изображения при выбранном видеорежиме.

Параметры cx и cy задают, соответственно, новые значения для ширины и высоты окна в пикселах (если в параметре fl указан флаг SWP _SIZE ).

Параметр fl указывается как набор флагов, объединенных при помощи логической операции ИЛИ.


Начало  Назад  Вперед