MFC-SelectObject新对象替换相同类型的对象

 

复制代码
    
    HDC hdc = ::GetDC(m_hWnd);
    LOGFONT lf = { 0 };
    lf.lfWeight = 16; //平均宽度
    lf.lfHeight = 40;//字体高度
    lf.lfCharSet = GB2312_CHARSET;
    HFONT hfont = ::CreateFontIndirect(&lf);
    HFONT holdfont= (HFONT)SelectObject(hdc, hfont);//新对象替换相同类型的对象
    /*
    参数1:HDC hdc  DC句柄
    参数2:HGDIOBJ hgdiobj 新对象
            但该对象的句柄必须使用以下函数创建才有效:
            Bitmap(位图)          CreateBitmap, CreateBitmapIndirect, 
                                  CreateCompatibleBitmap, CreateDIBitmap, 
                                  CreateDIBSection
            Brush(画刷)           CreateBrushIndirect, eateDIBPatternBrush,  
                                  CreateDIBPatternBrushPt, CreateHatchBrush,  
                                  CreatePatternBrush, CreateSolidBrush 
            Font(字体)              CreateFont, CreateFontIndirect
            Pen(画笔)               CreatePen, CreatePenIndirect
            Region(区域)             CombineRgn, CreateEllipticRgn, 
                               CreateEllipticRgnIndirect, 
                               CreatePolygonRgn, CreateRectRgn, 
                               CreateRectRgnIndirect
    
    返回值:HGDIOBJ  如果选择对象不是区域并且函数执行成功,那么返回值是被取代的对象的句柄
                    如果选择对象是区域并且函数执行成功,返回如下一值
                    如果发生错误并且选择对象不是一个区域,那么返回值为NULL,否则返回HGDI_ERROR
                    
    */

    
    RECT rect = { 50,50,400,400 };
    int n=DrawText(hdc,_T("GDI测试"),-1,&rect,DT_LEFT);
    
    SelectObject(hdc, holdfont);
    BOOL b=DeleteObject(hfont);  //删除对象
复制代码

 

 

 

 

 

 

posted @   天子骄龙  阅读(54)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· 上周热点回顾(3.3-3.9)
历史上的今天:
2022-04-16 浩辰CAD-矩形
2022-04-16 浩辰CAD-点
2020-04-16 物理实验室-目录
2020-04-16 音频频率发生器接线
2019-04-16 python-文件及文件夹操作
2019-04-16 Arduino传感器学习目录
2019-04-16 焦点控制
点击右上角即可分享
微信分享提示