Библиотека программиста

28.09.2024 - Программируем на Delphi - работа с окнами

В этой статье будут рассмотрены некоторые функции для работы с окнами.

Функция FindWindow

Синтаксис function FindWindow(className,WindowName : PChar) : HWND;

Функция возвращает дескриптор окна, удовлетворяющий запросу (0 - если такого окна не найдено).

ClassName - Имя класса, по которому призводится поиск среди ВСЕХ окон системы.

WindowName - Заголовок окна

Один из параметров может быть равен nil, тогда поиск ведется по другому параметру.




Функция GetWindow

Синтаксис function GetWindow(Wnd : HWND; Param) : HWND

Функция возвращает дескриптор окна удовлетворяющий запросу.

Wnd - Дескриптор какого-либо начального окна

Param - Принимает одно из следующих значений-констант:

gw_Owner - Возвращается дескриптор окна-предка (0 - если нет предка).

gwHWNDFirst - Возвращает дескриптор первого окна (относительно Wnd).

gw_HWNDNext - Возвращает дескриптор следующего окна (окна перебираются без повторений, т.е. если вы не меняли параметр Wnd функции, повторно дескрипторы не возвращаются)

gw_Child - Возвращает дескриптор первого дочернего окна.




Функция GetWindowText

Синтаксис function GetWindowText(hWnd: HWND; lpString: PChar; nMaxCount: Integer): Integer;

Функция возвращает текст окна. Для формы это будет заголовок, для кнопки - надпись на кнопке.

hWnd - Дескриптор того окна, текст которого нужно получить.

lpString - Переменная, в которую будет помещен результат

nMaxCount - Максимальная длина текста, если текст длиннее, то он обрезается.




Функция SetWindowText

Синтаксис function SetWindowText(hWnd: HWND; lpString: PChar): BOOL;

Устанавливает текст окна.

hWnd - дескриптор того окна, текст которого нужно установить

lpString - Строка, содержащая устанавливаемый текст.




Функция IsWindow

Синтаксис function IsWindow(hWnd: HWND): BOOL;

Возвращает True, если окно с заданным дескриптором существует и False в противном случае.

Hwnd - дескриптор нужного окна




Функция MoveWindow

Синтаксис MoveWindow(hWnd: HWND; X, Y, nWidth, nHeight: Integer; bRepaint: BOOL): BOOL;

Перемещает окно в новую позицию.

hWnd - дескриптор перемещаемого окна.

X, Y, nWidth, nHeight - Соответственно: новые координаты X,Y; новая ширина, высота.

bRepaint - Булево значение, показывающее будет ли окно перерисовано заново.




Функция IsWindowVisible

Синтаксис function IsWindowVisible(hWnd: HWND): BOOL;

Возвращает True если данное окно видимо.

hWnd - дескриптор окна.




Функция EnableWindow

Синтаксис function EnableWindow(hWnd: HWND; bEnable: BOOL): BOOL;

Устанавливает доступность окна(окно недоступно, если оно не отвечает на события мыши, клавиатуры и т.д.). Аналог в Delphi свойство Enabled компонентов. EnableWindow возвращает True, если всё прошло успешно и False в противном случае.

hWnd - дескриптор окна.

bEnable - Булево значение, определяющее доступность окна.




Функция IsWindowEnabled

Синтаксис function IsWindowEnabled(hWnd: HWND): BOOL;

Возвращает для заданного окна: True, если окно доступно и False в противном случае.

hWnd - дескриптор окна.




Функция WindowFromPoint

Синтаксис WindowFromPoint(Point: TPoint): HWND;

Возвращает дескриптор окна, находящегося в данной точке экрана.

Point - Координата точки экрана типа TPoint(определение типа смотри ниже)




Функция ShowWindow

Синтаксис function ShowWindow(hWnd: HWND; nShow: Integer): BOOL; Показывает или прячет окно.

hWnd - дескриптор нужного окна

nShow - Константа, определяющая, что будет сделано с окном:

SW_HIDE
SW_SHOWNORMALSW_NORMAL
SW_SHOWMINIMIZED
SW_SHOWMAXIMIZED
SW_MAXIMIZE
SW_SHOWNOACTIVATE
SW_SHOW
SW_MINIMIZE
SW_SHOWMINNOACTIVE
SW_SHOWNA
SW_RESTORE
SW_SHOWDEFAULT
SW_MAX





Функция CloseWindow

Синтаксис function CloseWindow(hWnd: HWND): BOOL; stdcall;

Закрывает окно.

hWnd дескриптор закрываемого окна.
Опубликовано на сайте: http://www.coders-library.ru
Прямая ссылка: http://www.coders-library.ru/index.php?name=news&op=view&id=2