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

EndPaint

- функция WinAPI
Функции WinAPI
Отмечает окончание процесса рисования в указанном окне.
Синтаксис
function EndPaint(
  hWnd,
  PntStr
): Boolean;

Параметры
Параметр Тип Описание
hWnd Number дескриптор окна
PntStr TPaintStruct структура PaintStruct
Возвращаемое значение
Всегда true.
Пример (JS+)
// Структура PaintStruct для функций BeginPaint/EndPaint
var pns=new TPaintStruct();

// Форма без заголовка
frm=new TForm();
frm.BorderStyle=bsNone;
frm.Width =w1=GetSystemMetrics(SM_CXSCREEN)/3;
frm.Height=h1=GetSystemMetrics(SM_CYSCREEN)/3;
frm.Cursor=crHandPoint;
frm.OnMouseDown=frm_MouseDown;
frm.WindowProc=new_WndProc;

// Кисти
br1=CreateSolidBrush(0x005080.toTColor());
br2=CreateSolidBrush(0x004070.toTColor());

// Кнопка
btn=new TButton(frm);
btn.Caption="Закрыть";
btn.Left=frm.ClientWidth -btn.Width -20;
btn.Top =frm.ClientHeight-btn.Height-20;
btn.Hint="Закрыть окно";
btn.ShowHint=true;
btn.OnClick=btn_Click;

frm.ShowModal();

// Обработчик события OnClick кнопки "Закрыть"
function btn_Click(btn)
{
  frm.Close();
}

// Оконная процедура главной формы
function new_WndProc(Sender,Msg,wParam,lParam)
{
  var w2=w1-20,h2=h1-20;
  var hWnd=Sender.Handle;
  var owp=Sender.OldWndProc;

  switch (Msg) {
    case WM_PAINT:
         hDC=BeginPaint(hWnd,pns);

         // Прямоугольник с закругленными углами
         rgn1=CreateRoundRectRgn(0,0,w1,h1,40,40);

         // Эллипс внутри прямоугольника
         rgn2=CreateEllipticRgn(20,20,w2,h2);
         CombineRgn(rgn1,rgn1,rgn2,RGN_DIFF);

         FillRgn(hDC,rgn1,br1);
         FrameRgn(hDC,rgn1,br2,1,1);

         DeleteObject(rgn2);
         DeleteObject(rgn1);

         EndPaint(hWnd,pns);
         return 0;

    case WM_DESTROY:
         DeleteObject(br1);
         DeleteObject(br2);

         SetWindowLong(hWnd,GWL_WNDPROC,owp);
  }

  return CallWindowProc(owp,hWnd,Msg,wParam,lParam);
}

// Обработчик события OnMouseDown главной формы
function frm_MouseDown(frm,Button,Shift,X,Y)
{
  var crs=frm.Cursor;

  if (Button!=mbLeft)
    return;

  ReleaseCapture();
  frm.Cursor=crDrag;

  // Войти в процесс перемещения формы мышью
  frm.Perform(WM_SYSCOMMAND,0xF009,0);

  frm.Cursor=crs;
}
Совместимость
Windows API
См. также
JS+Руководство пользователя
Адрес этой страницы: http://jsplus.ru/MANUAL/JSPlus/WinAPI/Function/EndPaint.htm
© 2024,