加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

VC++中获取DC的四种方法

发布时间:2020-12-16 07:47:34 所属栏目:百科 来源:网络整理
导读:今天PHP站长网 52php.cn把收集自互联网的代码分享给大家,仅供参考。 一: HDC hdc; hdc=::GetDc(m_hWnd);加两个冒号表示我们用的是全局SDK的函数,否则表示我们有的是CWND中的函数 ::ReleaseDc(m_hWnd,hdc); 二: CDC *p

以下代码由PHP站长网 52php.cn收集自互联网

现在PHP站长网小编把它分享给大家,仅供参考

一:

HDC hdc;

hdc=::GetDc(m_hWnd);加两个冒号表示我们用的是全局SDK的函数,否则表示我们有的是CWND中的函数

::ReleaseDc(m_hWnd,hdc);

二:

CDC *pdc=GetDC();
ReleaseDC(pdc);

三:

CClientDC dc(this);不需要我们去释放,自己会去释放;

四:

CWindowDC dc(this);阤不需要我们去释放,好处是可以访问整个屏幕区域;


关于dc操作的一段代码:

CPen pen(PS_SOLID,1,RGB(255,0));
CPen *penold;
penold=dc->SelectObject(&pen);

dc->SelectObject(penold);

//设置字体

CFont font;
VERIFY(font.CreateFont(
12,// nHeight
0,// nWidth
0,// nEscapement
0,// nOrientation
FW_NORMAL,// nWeight
FALSE,// bItalic
FALSE,// bUnderline
0,// cStrikeOut
ANSI_CHARSET,// nCharSet
OUT_DEFAULT_PRECIS,// nOutPrecision
CLIP_DEFAULT_PRECIS,// nClipPrecision
DEFAULT_QUALITY,// nQuality
DEFAULT_PITCH | FF_SWISS,// nPitchAndFamily
"Arial")); // lpszFacename

dc->SelectObject(&font);
dc->SetBkMode(TRANSPARENT);
dc->SetBkColor(COLORREF(RGB(0,0)));
dc->SetTextColor(COLORREF(RGB(0,123,0)));
dc->TextOut(TargetPoint.x+5,TargetPoint.y+5,ModeCode);


另一些代码:

CClientDC dc(pStatusBar);//pStatusBar是一个状态条的窗口
CFont *pOldFont = dc.SelectObject(pStatusBar->GetFont());
CSize size = dc.GetTextExtent(m_strMessage); // Length of text,获取了字符串的宽度和高度(在目前这种字体下)
int margin = dc.GetTextExtent(_T(" ")).cx * 2; // Text margin,一个空格的宽度乘以2
dc.SelectObject(pOldFont);

以上内容由PHP站长网【52php.cn】收集整理供大家参考研究

如果以上内容对您有帮助,欢迎收藏、点赞、推荐、分享。

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读