win32编辑控件字体

每次到用的时候就各种查资料,我这人记性又不好,遂记录下来:

普通的编辑控件: 

  • 创建:HWND hText = CreateWindowW(L"EDIT", L"enter some text", WS_VISIBLE | WS_CHILD | ES_RIGHT, 500, 100, 200, 100, hWnd, NULL, NULL, NULL); (仅供参考)
  • 创建笔: 
    LOGFONT logfont; 
    ZeroMemory(&logfont, sizeof(LOGFONT));
    logfont.lfCharSet = DEFAULT_CHARSET;
    logfont.lfHeight = -20; 
    HFONT hFont = CreateFontIndirect(&logfont);
  • 设置文本大小: SendMessage(hText, WM_CTLCOLOREDIT, (WPARAM)hFont, TRUE);

如果是改变文本颜色或者文本背景颜色,则在WM_CTLCOLOREDIT消息中设置

case WM_CTLCOLOREDIT:
    {
SetBkColor((HDC)wParam, RGB(40, 40, 40)); SetTextColor((HDC)wParam, RGB(
255, 0, 255)); } break;

如果是富文本控件,则复杂一点:

设置文本背景颜色: 

 SendMessage(hedit, EM_SETBKGNDCOLOR, 0, RGB(40, 40, 40));

设置文本颜色:

CHARFORMAT2 format;
            memset(&format, 0, sizeof format);

            format.cbSize = sizeof(CHARFORMAT2);
            format.dwMask = CFM_COLOR | CFM_FACE;
            format.crTextColor = RGB(255, 0, 255);
            memcpy(format.szFaceName, L"Consolas", sizeof(L"Consolas"));
            if (SendMessage(hedit, EM_SETCHARFORMAT, SCF_DEFAULT, (LPARAM)&format) == 0) {
                mb_err("Failed to set font.");
            }

富文本控件的创建与设置具体可以参考: https://www.cnblogs.com/strive-sun/p/11778590.html

原文链接: https://www.cnblogs.com/strive-sun/p/12171614.html

欢迎关注

微信关注下方公众号,第一时间获取干货硬货;公众号内回复【pdf】免费获取数百本计算机经典书籍;

也有高质量的技术群,里面有嵌入式、搜广推等BAT大佬

    win32编辑控件字体

原创文章受到原创版权保护。转载请注明出处:https://www.ccppcoding.com/archives/405010

非原创文章文中已经注明原地址,如有侵权,联系删除

关注公众号【高性能架构探索】,第一时间获取最新文章

转载文章受原作者版权保护。转载请注明原作者出处!

(0)
上一篇 2023年4月25日 下午4:50
下一篇 2023年4月25日 下午4:51

相关推荐