Форум

Крупный шрифт

Pasha: Если в свойствах экрана установить крупный шрифт, то всякий ворд-эксэль понимает эту настройку А гуевые эхотажные программы нет - неважно какие, 5win, hwgui etc Как это сделать например в гриде или в диалоговом окне ? Может какой-то параметр в винапишном CreateFont() ? А как в гриде высоту строки поставить с учетом этой настройки ?

Ответов - 2

gfilatov: Паша! Для начала используй следующую функцию для определения факта использования крупного шрифта: #define LOGPIXELSX 88 //------------------------------------------------ ----------------------------// FUNCTION LargeFonts() local hDC, nPixelX hDC := CreateDC(«DISPLAY», »», »») nPixelX := GetDeviceCaps(hDC, LOGPIXELSX) DeleteDC(hDc) return (nPixelX == 120) А затем в зависимости от этого факта устанавливай размер шрифта окон либо высоту и ширину каждого элемента окна. Ниже пример на тему установки размера диалогового окна в MDI окне (из FiveWin) ... aCoords := { 2, 4 } ACTIVATE DIALOG oDlg NOWAIT ACTIVATE WINDOW oWndChild ; ON INIT( SizeWindow( aCoords, oDlg, oWndChild )) Function SizeWindow( aCoords, oDlg, oWnd, lWithBar ) LOCAL aRect := {} LOCAL nTop := aCoords[1] LOCAL nLeft := aCoords[2] LOCAL nBar := IIF(LargeFonts(),30,26) DEFAULT lWithBar := .F. IF lWithBar nBar += 18 ENDIF aRect := GetClientRect( oDlg:hWnd ) // nTop, nLeft, nBottom, nRight oWnd:Move( nTop*16, nLeft*8, aRect[4]-aRect[2], aRect[3]-aRect[1]+nBar,.T.) RETURN nil

Pasha: Спасибо ! Буду пробовать



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