|
|
Устанавливает указанный атрибут указанного окна.
Синтаксис
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+ | Руководство пользователя
|
|
|
|
|
|