CDC常用方法

1、获取字符的宽度(单位:像素)

int pixWidth( CString &str )
{
	AFX_MANAGE_STATE(AfxGetStaticModuleState());
	CTestBarCodeDlg *ph = new CTestBarCodeDlg;
	ph->Create(CTestBarCodeDlg::IDD);
	CDC* pDC = ph->GetDC();
	CSize  size  = pDC->GetTextExtent(str);
	delete ph;
	return size.cx;
}

2、CDC

    CDC* pDC=GetDC(); 
    CClientDC dc1(this); 

    CBrush brush(RGB(255,255,255));
    CRect rect1(240,400, 600,640); //指定区域大小
    float n = 1.0*(600-240)/480;
    dc1.FillRect(&rect1,&brush);       //在指定区域绘制矩形

 

        pDC->SetTextColor(RGB(255,0,0));    //设置字体颜色
        pDC->SetTextAlign(TA_RIGHT);
        CFont font;                                           //创建新的字体
        font.CreateFont(字体高度,0,0,0,FW_NORMAL,FALSE,0,0,     ANSI_CHARSET,OUT_DEFAULT_PRECIS,CLIP_CHARACTER_PRECIS,DEFAULT_QUALITY,DEFAULT_PITCH|FF_SWISS,
           字体名称);

        CFont * OldFont = dc1.SelectObject(&font);
        CStringArray cstringArr;        int iNum = 0;
        CStringLine(cstringArr,iNum);
        for (int i=0; i<iNum; i++)
        {
            dc1.TextOut(x,y,"str");        /
        }
        dc1.SelectObject(OldFont);
        font.DeleteObject();
 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值