Windows API学习笔记(3)--设备上下文DC

1. DC的获取和撤销

HDC CreateDC(LPCTSTR lpszDriver,LPCTSTR lpszDevice,NULL,CONST DEVMODE *lpInitData);

函数由给定的设备名字为给定设备创建一个设备上下文。

HDC CreateCompatibleDC(HDC hDC);//创建一个和hDC兼容的设备描述表

HDC GEtWindowDC(HWND hwnd);//获取整个窗口的显示设备描述表的内容,包括标题栏、菜单和滚动条

HDC GEtDC(HWND hwnd);//获取给定窗口用户区显示器描述表的句柄。

int  ReleaseDC(HWND hwnd,HDC,hdc);//释放一个设备描述表。

BOOL DeleteDC(HDC hdc);//撤销DC

GetWindowDC 和GetDC取得了公用设备描述表后,一定要用Release释放描述表。而用CreateCompatible创建的内存DC,在不使用的时候应该用DeleteDC释放。

2.创建DC的对象

1)画笔

HPEN CreatePen(int fnPenStyle,int nWidth,COLORREF crColor);//创建一个逻辑画笔

HPEN CreatePenIndirect(CONST LOGPEN *lplgpn);//创建由LOGPEN结构指定的逻辑画笔

2)画刷

HBRUSH CreateSolidBrush(COLORREF crColor);//创建一个有指定颜色的画刷

HBRUSH CreateBrushIndirect(CONST LOGBRUSH *lplb);//创建一个由LOGBRUSH指定的逻辑画刷

HBRUSH CreateHatchBrush(int fnStyle,COLORREF clrref);//创建一个具有指定阴影图案和颜色的逻辑刷子。

HBRUSH CreatePatternBrush(HBITMAP hbmp);//创建一个有hbmp参数指定的图案的逻辑刷子。

3)字体

HFONT CreateFont( int nHeight,int nWidth,int nEscapement,int nOrientation,int fnWeight,DWORD fdwUnderLine,DWORD fdwStrikeOut,DWORD fdwCharSet,DWORD fdwCharSet,DWORD fdwOutputPrecision,DWORD fdwClipPrecision,DWORD fdwQuality,DWORD fdwPitchAndFamily,LPCTSTR lpszFace);//创建一种具有指定特征的逻辑字体。

HFONT CreateFontIndirect( CONST LOGFONT *lplf);//创建一种由LOGFONT定义的逻辑字体。

3.设置DC对象的颜色

COLORREF SetDCBrushColor(HDC hdc,COLORREF crColor);//设置DC中画刷的颜色,并置换出旧的颜色

COLORREF GetDCBrushColor(HDC hdc);//获取DC中画刷的颜色

COLORREF SetDCPenColor(HDC hdc,COLORREF crColor);//设置DC中画笔颜色,并置换出旧的颜色

COLORREF GetDCPenColor(HDC hdc);//获取DC中画笔的颜色

COLORREF SetTextColor(HDC hdc,COLORREF crColor);//设置DC中文本的颜色,并置换出旧的颜色

COLORREF GetTextColor(HDC hdc);//获取DC中当前文本颜色

4.设置和获取DC中的对象

HGDIOBJ SelectObject(HDC hdc,HGDIOBJ hgdiobj);//此函数将由参数指定的逻辑对象选进DC,返回旧的逻辑对象

HGDIOBJ GetCurrentObject(HDC hdc,UINT uObjectType);//函数返回指定类型的当前选择的对象

int GetObject(HGDIOBJ hgdiobj, int cbBuffer,LPVOID lpvObject);//函数用定义逻辑对象填充一个缓冲区,如果hgdiobj是一个位图,则只返回该位图的宽、高和颜色格式信息

DWORD GetObjectType(HGDIOBJ hObj);//函数获取给定的GDI对象的类型

HGDIOBJ GetStockObject(int fnObject);//函数获取预先定义的库存的画刷、画笔、字体或调色板中某一个句柄

 

 

 

 

posted @ 2007-03-25 13:13  巨巨  阅读(238)  评论(0编辑  收藏  举报