texan Posted February 18, 2011 Share Posted February 18, 2011 What is the default font name, size, wieght used in Windows XP for Listviews? I created a GUI window that looks good on Windows XP but when viewed on Windows 7 the fonts in the listview appear to be different causing the listview to have scrollbars. I am currently not setting the fonts on the listview so I assume it is just using the Windows default. I am going to use GUICtrlSetFont to set all the listviews to a fixed font and I want to use whatever font settings are currently the default on Windows XP. How can I determine what fonts are currently being used? Link to comment Share on other sites More sharing options...
texan Posted February 18, 2011 Author Share Posted February 18, 2011 Oops, I forgot to ask.... Is there a more generic way I could set the fonts for the whole window? My main goal is that the GUI more or less looks the same on each version of Windows. Link to comment Share on other sites More sharing options...
guinness Posted February 18, 2011 Share Posted February 18, 2011 Have a look at GUISetFont() I believe the Default Font (I could be wrong) is MS Shell! UDF List: _AdapterConnections() • _AlwaysRun() • _AppMon() • _AppMonEx() • _ArrayFilter/_ArrayReduce • _BinaryBin() • _CheckMsgBox() • _CmdLineRaw() • _ContextMenu() • _ConvertLHWebColor()/_ConvertSHWebColor() • _DesktopDimensions() • _DisplayPassword() • _DotNet_Load()/_DotNet_Unload() • _Fibonacci() • _FileCompare() • _FileCompareContents() • _FileNameByHandle() • _FilePrefix/SRE() • _FindInFile() • _GetBackgroundColor()/_SetBackgroundColor() • _GetConrolID() • _GetCtrlClass() • _GetDirectoryFormat() • _GetDriveMediaType() • _GetFilename()/_GetFilenameExt() • _GetHardwareID() • _GetIP() • _GetIP_Country() • _GetOSLanguage() • _GetSavedSource() • _GetStringSize() • _GetSystemPaths() • _GetURLImage() • _GIFImage() • _GoogleWeather() • _GUICtrlCreateGroup() • _GUICtrlListBox_CreateArray() • _GUICtrlListView_CreateArray() • _GUICtrlListView_SaveCSV() • _GUICtrlListView_SaveHTML() • _GUICtrlListView_SaveTxt() • _GUICtrlListView_SaveXML() • _GUICtrlMenu_Recent() • _GUICtrlMenu_SetItemImage() • _GUICtrlTreeView_CreateArray() • _GUIDisable() • _GUIImageList_SetIconFromHandle() • _GUIRegisterMsg() • _GUISetIcon() • _Icon_Clear()/_Icon_Set() • _IdleTime() • _InetGet() • _InetGetGUI() • _InetGetProgress() • _IPDetails() • _IsFileOlder() • _IsGUID() • _IsHex() • _IsPalindrome() • _IsRegKey() • _IsStringRegExp() • _IsSystemDrive() • _IsUPX() • _IsValidType() • _IsWebColor() • _Language() • _Log() • _MicrosoftInternetConnectivity() • _MSDNDataType() • _PathFull/GetRelative/Split() • _PathSplitEx() • _PrintFromArray() • _ProgressSetMarquee() • _ReDim() • _RockPaperScissors()/_RockPaperScissorsLizardSpock() • _ScrollingCredits • _SelfDelete() • _SelfRename() • _SelfUpdate() • _SendTo() • _ShellAll() • _ShellFile() • _ShellFolder() • _SingletonHWID() • _SingletonPID() • _Startup() • _StringCompact() • _StringIsValid() • _StringRegExpMetaCharacters() • _StringReplaceWholeWord() • _StringStripChars() • _Temperature() • _TrialPeriod() • _UKToUSDate()/_USToUKDate() • _WinAPI_Create_CTL_CODE() • _WinAPI_CreateGUID() • _WMIDateStringToDate()/_DateToWMIDateString() • Au3 script parsing • AutoIt Search • AutoIt3 Portable • AutoIt3WrapperToPragma • AutoItWinGetTitle()/AutoItWinSetTitle() • Coding • DirToHTML5 • FileInstallr • FileReadLastChars() • GeoIP database • GUI - Only Close Button • GUI Examples • GUICtrlDeleteImage() • GUICtrlGetBkColor() • GUICtrlGetStyle() • GUIEvents • GUIGetBkColor() • Int_Parse() & Int_TryParse() • IsISBN() • LockFile() • Mapping CtrlIDs • OOP in AutoIt • ParseHeadersToSciTE() • PasswordValid • PasteBin • Posts Per Day • PreExpand • Protect Globals • Queue() • Resource Update • ResourcesEx • SciTE Jump • Settings INI • SHELLHOOK • Shunting-Yard • Signature Creator • Stack() • Stopwatch() • StringAddLF()/StringStripLF() • StringEOLToCRLF() • VSCROLL • WM_COPYDATA • More Examples... Updated: 22/04/2018 Link to comment Share on other sites More sharing options...
KaFu Posted February 18, 2011 Share Posted February 18, 2011 (edited) That function is good to extract the font of a control (e.g. with the default font set). But together with Melba23 I even took it a step further . The GetDefaultThemeFont() is used in his excellent expandcollapse popup#include <array.au3> Global $aFontData = _GetDefaultThemeFont() _ArrayDisplay($aFontData) ; #INTERNAL_USE_ONLY#============================================================================================================ ; Name...........: _GetDefaultThemeFont ; Description ...: Determines Windows default MsgBox font size and name ; Syntax.........: _GetDefaultThemeFont() ; Return values .: Success - Array holding determined font data ; : Failure - Array holding default values ; Array elements - [0] = Size, [1] = Weight, [2] = Style, [3] = Name, [4] = Quality ; Author ........: KaFu, Melba23 ; Remarks .......: Used internally by ExtMsgBox UDF ; =============================================================================================================================== Func _GetDefaultThemeFont() ; Fill array with standard default data Local $aDefFontData[5] = [9, 400, 0, "Tahoma", 2] ; Get AutoIt GUI handle Local $hWnd = WinGetHandle(AutoItWinGetTitle()) ; Open Theme DLL Local $hThemeDLL = DllOpen("uxtheme.dll") ; Get default theme handle Local $hTheme = DllCall($hThemeDLL, 'ptr', 'OpenThemeData', 'hwnd', $hWnd, 'wstr', "Static") If @error Then Return $aDefFontData $hTheme = $hTheme[0] ; Create LOGFONT structure Local Const $LOGFONT = _ 'LONG lfHeight;' & _ 'LONG lfWidth;' & _ 'LONG lfEscapement;' & _ 'LONG lfOrientation;' & _ 'LONG lfWeight;' & _ 'BYTE lfItalic;' & _ 'BYTE lfUnderline;' & _ 'BYTE lfStrikeOut;' & _ 'BYTE lfCharSet;' & _ 'BYTE lfOutPrecision;' & _ 'BYTE lfClipPrecision;' & _ 'BYTE lfQuality;' & _ 'BYTE lfPitchAndFamily;' & _ 'WCHAR lfFaceName [32];' Local $tFont = DllStructCreate($LOGFONT) Local $pFont = DllStructGetPtr($tFont) ; Get MsgBox font from theme DllCall($hThemeDLL, 'long', 'GetThemeSysFont', 'HANDLE', $hTheme, 'int', 805, 'ptr', $pFont) ; TMT_MSGBOXFONT If @error Then Return $aDefFontData ; Get default DC Local $hDC = DllCall("user32.dll", "handle", "GetDC", "hwnd", $hWnd) If @error Then Return $aDefFontData $hDC = $hDC[0] ; Get font vertical size Local $iPixel_Y = DllCall("gdi32.dll", "int", "GetDeviceCaps", "handle", $hDC, "int", 90) ; LOGPIXELSY If Not @error Then $iPixel_Y = $iPixel_Y[0] ; Calculate point size $aDefFontData[0] = -Round(((1 * DllStructGetData($tFont, 1)) * 72 / $iPixel_Y), 1) EndIf ; Close DC DllCall("user32.dll", "int", "ReleaseDC", "hwnd", $hWnd, "handle", $hDC) ; Extract font data from LOGFONT structure $aDefFontData[1] = DllStructGetData($tFont, 'lfWeight') $aDefFontData[2] = 2 * (True = DllStructGetData($tFont, 'lfItalic')) + 4 * (True = DllStructGetData($tFont, 'lfUnderline')) + 8 * (True = DllStructGetData($tFont, 'lfStrikeOut')) $aDefFontData[3] = DllStructGetData($tFont, 'lfFaceName') $aDefFontData[4] = DllStructGetData($tFont, 'lfQuality') Return $aDefFontData EndFunc ;==>_GetDefaultThemeFont Edited February 18, 2011 by KaFu hugomito 1 OS: Win10-22H2 - 64bit - German, AutoIt Version: 3.3.16.1, AutoIt Editor: SciTE, Website: https://funk.eu AMT - Auto-Movie-Thumbnailer (2024-Oct-13) BIC - Batch-Image-Cropper (2023-Apr-01) COP - Color Picker (2009-May-21) DCS - Dynamic Cursor Selector (2024-Oct-13) HMW - Hide my Windows (2024-Oct-19) HRC - HotKey Resolution Changer (2012-May-16) ICU - Icon Configuration Utility (2018-Sep-16) SMF - Search my Files (2024-Oct-20) - THE file info and duplicates search tool SSD - Set Sound Device (2017-Sep-16) Link to comment Share on other sites More sharing options...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now