I have a CListCtrl class that I would like to easily change the font size. I have subclassed CListCtrl as MyListControl. I can successfully install the font using this code in the PreSubclassWindow event handler:
void MyListControl::PreSubclassWindow() { CListCtrl::PreSubclassWindow(); // from http://support.microsoft.com/kb/85518 LOGFONT lf; // Used to create the CFont. memset(&lf, 0, sizeof(LOGFONT)); // Clear out structure. lf.lfHeight = 20; // Request a 20-pixel-high font strcpy(lf.lfFaceName, "Arial"); // with face name "Arial". font_.CreateFontIndirect(&lf); // Create the font. // Use the font to paint a control. SetFont(&font_); }
It works. However, I would like to create a SetFontSize (int size) method that simply changes the existing font size (leaving the face and other characteristics as they are). Therefore, I believe that this method will have to get the existing font and then change the font size, but my attempts to do this have failed (this kills my program):
void MyListControl::SetFontSize(int pixelHeight) { LOGFONT lf;
How can I create this method?
source share