|
|
|
|
Возвращает указанный атрибут указанного окна.
Синтаксис
| function GetWindowLong(
| | hWnd, | | Index
| | ): Number;
|
| Параметры
|
| Параметр
| Тип
| Описание
|
| hWnd
| Number
| дескриптор окна
|
| Index
| Enumset
| запрашиваемый атрибут (см. ниже)
|
|
| Параметр Index
|
| Значение
| Описание
|
| GWL_STYLE
| возвращает стиль окна
|
| GWL_EXSTYLE
| возвращает расширенный стиль окна
|
| GWL_HWNDPARENT
| возвращает дескриптор родительского окна
|
| GWL_HINSTANCE
| возвращает дескриптор экземпляра приложения
|
| GWL_ID
| возвращает идентификатор окна
|
| GWL_WNDPROC
| возвращает адрес оконной процедуры
|
| GWL_USERDATA
| возвращает 32-разрядное значение, связанное с окном, и предназначенное для использования приложением.
|
| Для параметра hWnd, представляющего диалоговое окно
| [DESC]
|
| DWL_DLGPROC
| возвращает адрес процедуры диалогового окна
|
| DWL_MSGRESULT
| возвращает значение сообщения, обработанного в процедуре диалогового окна.
|
| DWL_USER
| возвращает 32-разрядное значение, связанное с диалоговым окном, и предназначенное для использования приложением.
|
|
Возвращаемое значение
Значение указанного атрибута в случае успеха или 0 в противном случае.
var tab=15,old_WndProc; var pns=new TPaintStruct();
// Главная форма frm=new TForm(); frm.Caption="JS+ - функция WinAPI GetWindowLong"; frm.Width =450; frm.Height=300;
old_WndProc=GetWindowLong(frm.Handle,GWL_WNDPROC); frm.WindowProc=new_WndProc;
frm.ShowModal();
// Оконная процедура главной формы function new_WndProc(Sender,Msg,wParam,lParam) { var hDC; var hWnd=Sender.Handle; var out_str="Текст выведен функцией WinAPI TextOut";
switch (Msg) { case WM_PAINT : hDC=GetDC(hWnd); BeginPaint(hWnd,pns); SetBkColor(hDC,clLtGray.toRGB()); TextOut(hDC,tab,tab,out_str,out_str.length); EndPaint(hWnd,pns); ReleaseDC(hWnd,hDC); return 0;
case WM_DESTROY: SetWindowLong(hWnd,GWL_WNDPROC,old_WndProc); }
return CallWindowProc(old_WndProc,hWnd,Msg,wParam,lParam); }
|
Примечание
Вместо функции GetWindowLong JS+ использует более современную функцию GetWindowLongPtr для совместимости как с 32-разрядными, так и с 64-разрядными версиями Microsoft Windows.
Совместимость
Windows API
|
| JS+ | Руководство пользователя
|
|
|
| |
|
|