VC++中获取DC的四种方法
来源:互联网 发布:r语言lda函数源码 编辑:程序博客网 时间:2024/04/30 14:23
一:
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,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,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);
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,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,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);
- VC++中获取DC的四种方法
- MFC获取DC的四种方式
- MFC获取DC的四种方式
- 获取DC的几种方法
- 获取DC的几种方法
- vc++中获取鼠标的坐标值于状态栏中的四种方法
- 四种DC的用法
- 四、设备上下文DC的编程方法
- Window上获取DC句柄的三种方法
- MFC对话框里获取DC画图的几种方法
- vc中DC资源的正确利用
- vc画图的一些简单方法演示,各种DC
- VC++中获取句柄的所有方法
- 获取input中value的四种方法
- Java中获取用户输入值的四种方法
- JAVA中获取文件MD5值的四种方法
- 孙鑫VC学习笔记:第十一讲 (四) 图形重绘方法三 利用兼容DC
- VC中获取字符串长度的四种类型
- 传话游戏--Beauty of Programming(2013全国挑战赛)
- 行为型模式之观察者模式(Observer)
- hdu 3127 二维完全背包,长方形布料剪裁求最大价值
- 关于ubunut挂载android设备问题
- iPhone中调用WCF RESTFUL Service
- VC++中获取DC的四种方法
- 关于如何创建启动器图标的问题
- js中各种跨网页方法
- poj1276
- [百度分享]频繁分配释放内存导致的性能问题的分析
- C++零散知识点
- Hadoop群集中添加节点步骤
- uva10382 - Watering Grass(给草浇水)
- 逻辑坐标与设备坐标