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

GetTextExtentPoint32

- функция WinAPI
Функции WinAPI
Возвращает размеры указанной текстовой строки или ее части для указанного контекста устройства.
Синтаксис
function GetTextExtentPoint32(
  hDC,
  Text,
  Count,
  Size
): Boolean;

Параметры
Параметр Тип Описание
hDC Number дескриптор контекста устройства
Text String текстовая строка
Count Number количество учитываемых символов или -1 для учета всего текста
Size TSize возвращаемые размеры указанной строки
Возвращаемое значение
true в случае успеха или false в противном случае.

Члены возвращаемого параметра Size Size.cx и Size.cy содержат ширину и высоту указанной строки.

Пример (JS+)
var pns=new TPaintStruct();
var txt_Str="Текст выведен функцией WinAPI ExtTextOut";
var pos_Lst=new Array();
var sz=new TSize();

// Главная форма
frm=new TForm();
frm.Caption="JS+ - функция WinAPI GetTextExtentPoint32";
frm.Width =525;
frm.Height=375;
frm.WindowProc=new_WndProc;

frm.ShowModal();

// Оконная процедура главной формы
function new_WndProc(Sender,Msg,wParam,lParam)
{
  var hWnd=Sender.Handle,owp=Sender.OldWndProc;
  var fw=frm.ClientWidth,fh=frm.ClientHeight;

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

         GetTextExtentPoint32(hDC,str="W",1,sz);
         txt_h=sz.cy;
         for (i=j=txt_w=0,n=txt_Str.length*2;i<n;i+=2,j++) {
           GetTextExtentPoint32(hDC,txt_Str.charAt(j),1,sz);
           txt_w+=w=sz.cx; pos_Lst[i]=w; pos_Lst[m=i+1]=1;
           txt_h+=pos_Lst[m];
         }

         SetBkColor(hDC,0xD0E0E0);
         ExtTextOut(hDC,
           Math.round((fw-txt_w)/2),
           Math.round(fh/2),
           ETO_OPAQUE | ETO_PDY,
           Rect(10,10,fw-10,fh-10),
           txt_Str,-1,pos_Lst
         );

         EndPaint(hWnd,pns);
         return 0;

    case WM_DESTROY:
         SetWindowLong(hWnd,GWL_WNDPROC,owp);
  }

  return CallWindowProc(owp,hWnd,Msg,wParam,lParam);
}
Совместимость
Windows API
См. также
JS+Руководство пользователя
Адрес этой страницы: http://jsplus.ru/MANUAL/JSPlus/WinAPI/Function/GetTextExtentPoint32.htm
© 2024,