Форум » [x]Harbour » длина строки в pixel как определтить » Ответить

длина строки в pixel как определтить

abakkav: Приветствую, всех Понадобилась длина строки в пикселях. Взял функцию из интернета. Но что-то не так - на любой фонт возвращает одинаковую длину. Подскажите, пожалуйста, в чем ошибка или иное решение. Пробою в xHarbour с gtWVW. HB_FUNC( S_LENSTRPXL ) { HFONT hOldFont; HDC hdc; HWND hWnd; SIZE sz = { 0 }; hWnd = FindWindow(NULL,NULL); hdc = GetDC(hWnd ); hOldFont = ( HFONT ) SelectObject( hdc, ( HFONT ) hb_parnl( 2 ) ); GetTextExtentPoint32( hdc, hb_parcx( 1 ), strlen( hb_parcx( 1 ) ), &sz ); SelectObject( hdc, hOldFont ); ReleaseDC( hWnd, hdc ); hb_retni( sz.cx ); }

Ответов - 2

alkresin: Ну а результат похож на реальный ? Функция, вроде, правильная - в HwGUI таким же образом это реализовано. Проверьте, точно ли передается handle шрифта вторым параметром.

abakkav: Александр, спасибо, что откликнулись. Действительно, было что-то с hFont=CreateFont(), заменил Font=CreateFontIndirect(). Размер стал меняться.



полная версия страницы