|
|
|
|
Устанавливает указанный атрибут указанного окна.
Синтаксис
| function SetWindowLong(
| | hWnd, | | Index, | | Value
| | ): Number;
|
| Параметры
|
| Параметр
| Тип
| Описание
|
| hWnd
| Number
| дескриптор окна
|
| Index
| Enumset
| устанавливаемый атрибут (см. ниже)
|
| Value
| Number
| значение атрибута
|
|
| Параметр Index
|
| Значение
| Описание
|
| GWL_STYLE
| устанавливает стиль окна
|
| GWL_EXSTYLE
| устанавливает расширенный стиль окна
|
| 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 SetWindowLong"; 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); }
|
Примечание
Вместо функции SetWindowLong JS+ использует более современную функцию SetWindowLongPtr для совместимости как с 32-разрядными, так и с 64-разрядными версиями Microsoft Windows.
Совместимость
Windows API
|
| JS+ | Руководство пользователя
|
|
|
| |
|
|