首页 > 其他分享 >MFC-SetTextColor设置指定DC中的文字颜色

MFC-SetTextColor设置指定DC中的文字颜色

时间:2023-04-26 15:13:38浏览次数:31  
标签:lf COLORREF MFC 颜色 DC hdc SetTextColor

 

    HDC hdc = ::GetDC(m_hWnd);
    LOGFONT lf = { 0 };
    lf.lfWeight = 16; //平均宽度
    lf.lfHeight = 40;//字体高度
    lf.lfCharSet = GB2312_CHARSET;//字符集
    lstrcpy(lf.lfFaceName, _T("宋体"));
    HFONT hfont = ::CreateFontIndirect(&lf);//创建逻辑字体
    HFONT holdfont = (HFONT)SelectObject(hdc, hfont);

    COLORREF oldcolor=GetTextColor(hdc);//获取DC中的文本颜色
    /*
    参数:HDC hdc
    返回值:如果函数调用成功,返回值是作为一个COLORREF的当前正文颜色
            如果函数调用失败,返回值是CLR_INVALID
    正文颜色即调用TextOut或ExtTextOut来绘制字符的前景颜色
    */

        
    COLORREF color1= SetTextColor(hdc, RGB(0,0,255));//设置指定DC中的文字颜色
    /*
    参数1:HDC hdc  
    参数2:COLORREF color  颜色设置
    返回值:COLORREF 如果函数运行成功,返回当前DC之前的文字颜色
            如果函数运行失败,返回CLR_INVALID
    */

    
    RECT rect = { 50,50,400,400 };
    DrawText(hdc, _T("GDI测试"), -1, &rect, DT_LEFT);


    SetTextColor(hdc, color1);//还原
    SelectObject(hdc, holdfont);
    DeleteObject(hfont);

 

 

 

 

 

标签:lf,COLORREF,MFC,颜色,DC,hdc,SetTextColor
From: https://www.cnblogs.com/liming19680104/p/17356136.html

相关文章

  • MFC-SetWindowPos改变窗口的尺寸,位置和Z序
     HWNDhWnd=::FindWindow(_T("Notepad"),NULL);//获取记事本窗口if(!hWnd){AfxMessageBox(_T("请打开记事本"));ExitProcess(0);}BOOLb=::SetWindowPos(hWnd,HWND_TOP,100,100,500,400,SWP_SHOWWINDOW);//改......
  • MFC-GetTopWindow获取指定窗口的子窗口中最顶层的窗口句柄
     //GetTopWindowHWNDhWnd=::FindWindow(_T("#32770"),_T("测试程序"));if(!hWnd){AfxMessageBox(_T("请打开测试程序"));ExitProcess(0);}CStringstr;str.Format(_T("主窗口句柄:hWnd=%d\r\n&q......
  • storm-0.9.3 wordcount例子运行步骤(单机版)
    网上关于Stormwordcount的例子很多,不过都是基于storm-0.9.0.1,在运行例子过程中torm0.9.0.1.jar在maven中央仓库没有找到只有0.9.3,在运行过程中出现了好多问题。所以记下笔记。方便以后查看。1,下载Storm,地址为http://www.apache.org/dyn/closer.cgi/storm/apache-storm-0.9.3/......
  • tomcat报错 removeGeneratedClassFiles failed
    1,tomcat切换用户重启后报错如下:Aug29,20142:14:47PMorg.apache.jasper.compiler.CompilerremoveGeneratedClassFilesWARNING:Failedtodeletegeneratedclassfile[/home/joeyon/test/work/Catalina/localhost/_/org/apache/jsp/WEB_INFO/c/common/errorIos_jsp.class]......
  • Citrix ADC 固件升级和降级操作
    CitrixADC固件升级(CLI方式)第一步:用管理员凭据ssh连接到CitrixADC,我这里使用的是putty连接输入saveconfig保存正在运行的配置第二步:输入shell第三步:创建ns.conf文件的副本。在shell提示符下,输入cd/nsconfigcpns.confns.conf.NS您应将配置文件备份到另一台计算机......
  • WordCountTopology 执行日志分析
    1,代码packagestorm.starter;importbacktype.storm.Config;importbacktype.storm.LocalCluster;importbacktype.storm.StormSubmitter;importbacktype.storm.task.ShellBolt;importbacktype.storm.topology.BasicOutputCollector;importbacktype.storm.topology.I......
  • AP3301 DC-DC降压IC 0.6-5.5V 高效率 低功耗 监控驱动应用
    FeaturesUpto95%Efficiency CurrentModeOperationforExcellentLineandLoadTransientResponse 700mAOutputCurrent LowQuiescentCurrent:200μA ~ 5.5V AutomaticPWM/PFMModeSwitching NoSchottkyDiodeRequired FrequencyOperation:1.0MHzforFixe......
  • 名字修饰约定: extern "C"、extern "C++" 和__stdcall、__cdecl相关的约定、__imp_前
    关于extern_C通常,在C语言的头文件中经常可以看到类似下面这种形式的代码#ifdef__cplusplusextern"C"{#endif/****somedeclarationorso*****/#ifdef__cplusplus}#endif/*endof__cplusplus*/那么,这种写法什么用呢?实际上,这是为了让CPP能够与C......
  • MFC-BringWindowToTop将指定窗口设置到Z序的顶部
     HWNDhWnd=::FindWindow(_T("Notepad"),NULL);BOOLb=::BringWindowToTop(hWnd);//将指定窗口设置到Z序的顶部/*如果窗口为顶层窗口,则该窗口被激活;如果窗口为子窗口,则相应的顶级父窗口被激活参数:HWNDhWnd设置到Z序顶部的窗口句柄返回值:......
  • MFC-ScreenToClient屏幕坐标转换为客户区坐标
     win32APIPOINTpoint={20,50};HWNDhWnd=GetSafeHwnd();BOOLb=::ScreenToClient(hWnd,&point);//屏幕坐标转换为客户区坐标/*参数1:HWNDhWnd窗口句柄参数2:LPPOINTlpPoint屏幕坐标点函数成功后,保......