JS+
Усиленный язык сценариев для Windows
с возможностью встраивания
в ваши приложения
О языке JS+ Справочник Скачать JS+ DLL
Контакты
СПРАВОЧНИК ПО ЯЗЫКУ JS+ Содержание

GetWindowLong

- функция WinAPI
Функции WinAPI
Возвращает указанный атрибут указанного окна.
Синтаксис
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, представляющего диалоговое окно
DWL_DLGPROC возвращает адрес процедуры диалогового окна
DWL_MSGRESULT возвращает значение сообщения, обработанного в процедуре диалогового окна.
DWL_USER возвращает 32-разрядное значение, связанное с диалоговым окном, и предназначенное для использования приложением.
Возвращаемое значение
Значение указанного атрибута в случае успеха или 0 в противном случае.
Пример (JS+)
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+Руководство пользователя
Адрес этой страницы: http://jsplus.ru/MANUAL/JSPlus/WinAPI/Function/GetWindowLong.htm
© 2024,