How to get the font of the active title bar (Views: 28)
Problem/Question/Abstract: How do you get hold of the font for the active title bar (after it's been set in the Appearence tab in the display properties)? What API call is needed? Answer: function GetCaptionFont(afont: TFont); var ncMetrics: TNonClientMetrics; begin assert(assigned(afont)); ncMetrics.cbSize := sizeof(TNonClientMetrics); SystemParametersInfo(SPI_GETNONCLIENTMETRICS, sizeof(TNonClientMetrics), @ncMetrics, 0); afont.Handle := CreateFontIndirect(ncMetrics.lfCaptionFont); end; The TNonClientMetrics structure also contains information on other fonts used in the non-client area information: lfCaptionFont: Font used in regular captions lfSmCaptionFont: Font used in small captions lfMenuFont: Font used in menus lfStatusFont: Font used in status bars lfMessageFont: Font used in message boxes |