• win32改变静态控件的文本大小


    HWND static_ = CreateWindow(L"STATIC", NULL, WS_CHILD | WS_VISIBLE | SS_LEFT, 100, 100, 100, 16, hWnd, NULL, hInst, NULL);
    
    LOGFONT font;
    font.lfHeight = 16;
    font.lfWidth = 0;
    font.lfEscapement = 0;
    font.lfOrientation = 0;
    font.lfWeight = FW_BOLD;
    font.lfItalic = true;
    font.lfUnderline = false;
    font.lfStrikeOut = false;
    font.lfEscapement = 0;
    font.lfOrientation = 0;
    font.lfOutPrecision = OUT_DEFAULT_PRECIS;
    font.lfClipPrecision = CLIP_STROKE_PRECIS | CLIP_MASK | CLIP_TT_ALWAYS | CLIP_LH_ANGLES;
    font.lfQuality = ANTIALIASED_QUALITY;
    font.lfPitchAndFamily = VARIABLE_PITCH | FF_DONTCARE;
    
    HFONT hFont = ::CreateFontIndirect(&font);
    SendMessage(static_, WM_SETFONT, (WPARAM)hFont, TRUE);

    因为程序会检测系统默认的字体,所以改变字体的大小样式,我们只需要创建一个font,定义我们需要的样式,比如高度,粗细等等,创建完毕后使用WM_SETFONT设置,最后使用SetWindowText()给控件添加文本。

    拓展: 使用GetTextExtentPoint32可以检测字符串的高度和宽度。

    用法:

    const wchar_t* szTemp = L"This is my font.";
    SIZE sizeFont;
    GetTextExtentPoint32(hdc, szTemp, (int)wcslen(szTemp), &sizeFont);
  • 相关阅读:
    字符编码笔记:ASCII,Unicode和UTF8(转)
    如何让vs2005的网站编译成一个DLL
    全力奔跑
    工作心得之再谈“表现”
    IT外企那点事[转载]
    直面奋斗
    C#图片水印代码整理
    常用js代码
    一个很有趣的程序员等级考试题求循环小数
    String.Format(字符串输出格式)
  • 原文地址:https://www.cnblogs.com/strive-sun/p/12221708.html
Copyright © 2020-2023  润新知